Visualizza - Siemens Support
Transcript
Visualizza - Siemens Support
SIMATIC Software di sistema per S7-300/400 - Funzioni standard e di sistema Volume 1 / Volume 2 Manuale di riferimento Il presente manuale fa parte del pacchetto di documentazione con il numero di ordinazione: 6ES7810-4CA10-8EW1 05/2010 A5E02789979-01 Blocchi organizzativi 1 Parametri generali relativi alle SFC 2 Funzioni di copiatura e di blocco 3 SFC per il controllo del programma 4 SFC per la gestione dell'orologio 5 SFC per la gestione del contatore del tempo di esercizio 6 SFC/SFB per il trasferimento di set di dati 7 SFB DPV1 secondo PNO AK 1131 8 SFC per la gestione di allarmi dall'orologio 9 SFC per la gestione di allarmi di ritardo 10 SFC per la gestione di eventi di errori di sincronismo 11 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12 SFC per la diagnostica 13 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14 Funzioni di sistema per l'indirizzamento di unità 15 SFC per periferia decentrata o per PROFINET IO 16 PROFInet 17 SFC e SFB per le CPU PROFINET 18 Avvertenze di legge Concetto di segnaletica di avvertimento Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. PERICOLO questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi lesioni fisiche. AVVERTENZA il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi lesioni fisiche. CAUTELA con il triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. CAUTELA senza triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. ATTENZIONE indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate. Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali. Personale qualificato Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili pericoli. Uso conforme alle prescrizioni di prodotti Siemens Si prega di tener presente quanto segue: AVVERTENZA I prodotti Siemens devono essere utilizzati solo per i casi d’ impiego previsti nel catalogo e nella rispettiva documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto, un magazzinaggio, un’ installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione appropriati e a regola d’ arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere osservate le avvertenze contenute nella rispettiva documentazione. Marchio di prodotto Tutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG GERMANIA A5E02789979-01 Ⓟ 02/2010 Copyright © Siemens AG 2010. Con riserva di eventuali modifiche tecniche Prefazione Scopo del manuale Questo manuale, suddiviso in volume 1 A5E02789979-01 e volume 2 A5E02790056-01 offre una panoramica completa dei blocchi organizzativi (OB), delle funzioni di sistema (SFC), dei blocchi funzionali di sistema e dei blocchi funzionali standard (SFB) nonché delle funzioni IEC, contenuti nei sistemi operativi delle CPU dei sistemi S7-300 e S7-400. Nell’appendice sono descritti i dati di diagnostica, la lista di stato di sistema (SZL) e gli eventi. Avvertenza Quali di queste funzioni e blocchi sono integrati in quale CPU viene descritto nella parte bibliografica del manuale “Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 31xC e CPU 31x“ e "Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 312 IFM 318-2 DP" /70/ o del manuale “Sistemi di automazione S7-400, M7-400, Dati delle unità /101/ o della lista operazioni: “Sistema di automazione S7-400: Dati della CPU“ /102/, nella versione valida per la CPU utilizzata. Le caratteristiche funzionali per le SFB di comunicazione per i collegamenti progettati e le funzioni di segnalazione S7 si trovano nei manuali /70/ e /101/. Informazioni relative ai sistemi operativi delle CPU, allo sviluppo di programmi e alle possibilità di comunicazione e di diagnostica delle CPU sono riportate nel manuale /234/. Come potete richiamare le funzioni e i blocchi funzionali dal proprio programma è spiegato nelle descrizioni dei linguaggi. Tutte le funzioni indicate vengono programmate e parametrizzate con il software di base STEP 7, che non viene spiegato in questo manuale. La relativa documentazione è offerta dal manuale /231/ e dalla Guida online STEP 7. Destinatari I destinatari di questo manuale sono i programmatori e gli ingegneri che hanno familiarità con il controllo dei processi e che scrivono programmi per i sistemi di automazione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 3 Prefazione Pacchetti di documentazione STEP 7 La tabella seguente riporta un riepilogo della documentazione relativa a STEP 7. Documentazione Scopo Numero di ordinazione Nozioni fondamentali di STEP 7 mediante Conoscenze di base per il personale tecnico: procedure per la realizzazione di compiti di controllo con STEP 7 e S7-300/400 6ES7810-4CA10-8EW0 Nozioni di riferimento sui linguaggi di programmazione KOP, FUP, AWL, nonché sulle funzioni standard e di sistema; perfezionamento delle conoscenze di base di STEP 7. 6ES7810-4CA10-8EW1 • Primi passi ed esercitazioni con STEP 7 • Programmazione con STEP 7 • Configurazione dell’hardware e progettazione di collegamenti con STEP 7 • Manuale di conversione: STEP 7, da S5 a S7 Nozioni di riferimento di STEP 7 con 4 • Manuali KOP/FUP/AWL per S7 300/400 • Funzioni standard e di sistema per S7-300/400 Volume 1 A5E02789979-01 e Volume 2 A5E02790056-01 Guide online Scopo Numero di ordinazione Guida a STEP 7 Conoscenze di base per la programmazione e la configurazione hardware con STEP 7 Parte del pacchetto software STEP 7 Guide di riferimento a AWL/KOP/FUP Guida di riferimento a SFB/SFC Guida di riferimento ai blocchi organizzativi Guida di riferimento sensibile al contesto Parte del pacchetto software STEP 7 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Prefazione Guida in linea Come completamento del manuale è possibile avvalersi in fase operativa della dettagliata Guida in linea integrata nel software. Il sistema della Guida è integrato nel software mediante differenti interfacce. • Nel menu ? sono disponibili diversi comandi: Argomenti della Guida apre l'indice della Guida di STEP 7. • Uso della Guida offre istruzioni dettagliate sulla possibilità di reperire informazioni nella Guida in linea. • La Guida al contesto offre informazioni sul contesto attuale, p. es. su una finestra di dialogo aperta o su una finestra attiva. È richiamabile con il pulsante "?" o con il tasto F1. • Una forma ulteriore di Guida al contesto è data dalla barra di stato: appena il cursore del mouse si trova su un comando viene visualizzata nella barra di stato una breve spiegazione. • Una tale spiegazione viene riportata anche nella barra degli strumenti se il mouse si sofferma brevemente su una icona. Se si preferisce leggere le informazioni della Guida in linea su carta, sarà possibile stampare dei singoli argomenti o libri della Guida, o perfino l'intera Guida. Questo manuale è un'estratto della Guida in linea a STEP 7 basata sul formato HTML. Poichè la struttura del manuale e della Guida in linea è quasi identica, è possibile passare facilmente dal manuale alla Guida in linea. Altri manuali Le singole CPU dell’S7-300 e S7-400 nonché le unità S7-300 e S7-400 sono descritte • per il sistema di automazione S7-300 nei manuali /70/, /71/ e in /72/. • per il sistema di automazione S7-400 nel manuale /101/ e in /102/. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 5 Prefazione Guida Il presente manuale è suddiviso in base ai seguenti temi. • Il capitolo 1 spiega tutti i blocchi organizzativi. • Il capitolo 2 descrive i parametri generali RET_VAL, REQ e BUSY. • I capitoli da 3 a 29 descrivono le SFC, gli SFB e le IEC-FC. • I capitoli da 30 a 35 contengono la struttura dei dati di diagnostica, la panoramica delle ID SZL, i possibili eventi, le liste con SFC, SFB e FC di questo manuale, una panoramica degli SDB e la bibliografia. • Nel glossario vengono spiegati concetti importanti. • L’indice analitico permette di trovare rapidamente i passi relativi a voci importanti. Convenzioni I riferimenti ad altra documentazione vengono indicati da un numero racchiuso tra due barre /.../. In base a questo numero, nella bibliografia alla fine del manuale è possibile risalire al titolo esatto di tale documentazione. Ulteriore supporto Per tutte le domande sull'uso dei prodotti descritti nel manuale, che non trovano risposta nella documentazione, rivolgersi al rappresentante Siemens locale. Sito Internet delle rappresentanze Siemens: http://www.siemens.com/automation/partner Per la guida alla documentazione tecnica dei singoli prodotti e sistemi SIMATIC, consultare il sito: http://www.siemens.com/simatic-tech-doku-portal Il catalogo in linea e il sistema di ordinazione in linea si trova al sito: http://mall.automation.siemens.com/ Centro di addestramento Per facilitare l'approccio al sistema di automazione SIMATIC S7, la Siemens organizza corsi specifici. Rivolgersi a questo proposito al centro di addestramento locale più vicino o al centro di addestramento centrale di Norimberga. Internet: http://www.sitrain.com 6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Prefazione Technical Support Per tutti i prodotti Industry Automation and Drive Technology è possibile rivolgersi al Technical Support • mediante il modulo Web per la Support Request http://www.siemens.com/automation/support-request Per ulteriori informazioni sul Technical Support, consultare in Internet il sito http://www.siemens.com/automation/service Service & Support in Internet Aggiuntivamente alla documentazione, mettiamo a disposizione della clientela diversi servizi in linea all'indirizzo sottoindicato. http://www.siemens.com/automation/service&support Su questo sito si possono trovare: • la Newsletter con informazioni sempre aggiornate sui prodotti; • i documenti appropriati relativi alla ricerca in Service & Support; • il Forum, luogo di scambio di informazioni tra utenti e personale specializzato di tutto il mondo; • il partner di riferimento locali di Industry Automation and Drive Technology; • informazioni su Riparazioni, pezzi di ricambio e consulenza. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 7 Prefazione 8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Indice 1 Blocchi organizzativi.................................................................................................................................13 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 2 Parametri generali relativi alle SFC .........................................................................................................89 2.1 3 Panoramica degli OB ...................................................................................................................13 Programma ciclico (OB 1)............................................................................................................17 OB di allarme dall'orologio (da OB 10 a OB 17) ..........................................................................19 OB di allarme di ritardo (da OB 20 a OB 23) ...............................................................................23 OB di schedulazione orologio (da OB 30 a OB 38) .....................................................................25 OB di interrupt di processo (da OB 40 a OB 47) .........................................................................27 OB di allarme di stato (OB 55) .....................................................................................................29 OB di allarme di aggiornamento (OB 56).....................................................................................33 OB per allarmi produttore (OB 57) ...............................................................................................37 OB di allarme di multicomputing (OB 60) ....................................................................................41 OB di allarme in sincronismo di clock (da OB 61 a OB 64) .........................................................43 OB di allarme di sincronismo tecnologico (OB 65) ......................................................................44 OB di errore di ridondanza della periferia (OB 70) ......................................................................45 OB di errore di ridondanza della CPU (OB 72)............................................................................47 OB di errore di ridondanza di comunicazione OB (OB73)...........................................................50 OB di errore temporale (OB 80)...................................................................................................51 OB di errore di alimentazione (OB 81).........................................................................................54 OB di allarme di diagnostica (OB 82) ..........................................................................................56 OB di estrazione/inserimento (OB 83) .........................................................................................58 OB di errore hardware CPU (OB 84) ...........................................................................................62 OB di errore esecuzione programma (OB 85) .............................................................................63 OB di guasto telaio di montaggio (OB 86) ...................................................................................67 OB di errore di comunicazione (OB 87).......................................................................................72 OB di interruzione di elaborazione (OB 88) .................................................................................74 OB di priorità bassa (OB 90)........................................................................................................76 OB di avviamento (OB 100, OB 101 e OB 102) ..........................................................................78 OB di errore di programmazione (OB 121)..................................................................................83 OB di errore di accesso alla periferia (OB 122) ...........................................................................86 Analisi degli errori con il parametro di uscita RET_VAL ..............................................................89 Funzioni di copiatura e di blocco ............................................................................................................99 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 Copia di un'area di memoria con la SFC 20 "BLKMOV" .............................................................99 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" ........................................102 Inizializzazione di aree di memoria con la SFC 21 "FILL" .........................................................104 Creazione di un blocco dati con la SFC 22 "CREAT_DB".........................................................107 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"........................................................109 Test di un blocco dati con la SFC 24 "TEST_DB" .....................................................................111 Compressione della memoria utente con la SFC 25 "COMPRESS".........................................112 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"..................................114 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL".........115 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL"..............118 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" ............120 Creazione di un blocco dati con la SFC 85 "CREA_DB" ...........................................................122 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 9 Indice 4 SFC per il controllo del programma ......................................................................................................125 4.1 4.2 4.3 4.4 4.5 4.6 5 SFC per la gestione dell'orologio ..........................................................................................................133 5.1 5.2 5.3 5.4 6 Lettura di un set di dati con l'SFB 52 "RDREC".........................................................................167 Scrittura di un set di dati con l'SFB 53 "WRREC"......................................................................169 Ricezione di un allarme con l'SFB 54 "RALRM" ........................................................................171 Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................................189 Ricezione di un set di dati con l'SFB 73 "RCVREC"..................................................................196 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" ...............................................199 SFC per la gestione di allarmi dall'orologio .........................................................................................203 9.1 9.2 9.3 9.4 9.5 9.6 10 Scrittura e lettura di set di dati ...................................................................................................147 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" ...................................................150 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" ..................................................151 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" .....................................................152 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................................154 Parametrizzazione di unità con la SFC 57 "PARM_MOD" ........................................................155 Scrittura di set di dati con la SFC 58 "WR_REC" ......................................................................158 Lettura di set di dati con la SFC 59 "RD_REC" .........................................................................160 Altre informazioni di errore delle SFC 55 fino a 59 ....................................................................165 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" .........................................................165 SFB DPV1 secondo PNO AK 1131 .........................................................................................................167 8.1 8.2 8.3 8.4 8.5 8.6 9 Contatore del tempo di esercizio ...............................................................................................139 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM".......................................141 Impostazione del contatore con la SFC 2 "SET_RTM" .............................................................143 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ........................................................144 Lettura del contatore con la SFC 4 "READ_RTM"...................................................................145 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ........................................................146 SFC/SFB per il trasferimento di set di dati ...........................................................................................147 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 8 Impostazione dell'orologio con la SFC 0 "SET_CLK" ................................................................133 Lettura dell’orologio con la SFC 1 "READ_CLK" .......................................................................134 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB"................................................135 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" ...........................136 SFC per la gestione del contatore del tempo di esercizio ..................................................................139 6.1 6.2 6.3 6.4 6.5 6.6 7 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" .........................................125 Commutazione della CPU in STOP con la SFC 46 "STP" ........................................................125 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT"...................................126 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM"............................................127 Comando dell’operazione CiR con la SFC 104 "CiR"................................................................128 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT".........................................130 Gestione di allarmi dall'orologio .................................................................................................203 Caratteristiche delle SFC 28 ... 31 .............................................................................................204 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" .......................................206 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" .....................................207 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"...........................................208 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT".....................................209 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Indice 10 SFC per la gestione di allarmi di ritardo ...............................................................................................211 10.1 10.2 10.3 10.4 11 SFC per la gestione di eventi di errori di sincronismo........................................................................217 11.1 11.2 11.3 11.4 12 12.3 12.4 12.5 13.4 13.5 13.6 13.7 Diagnostica di sistema ...............................................................................................................237 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" ..........................237 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"................................................................................................................................240 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG"..................................................................................................247 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" ..................251 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" .......................256 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" .....261 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit.................265 14.1 14.2 14.3 14.4 14.5 14.6 14.7 15 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo .....................................229 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT"...........................................................................................................231 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT" ..............................................................................................................233 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT" ........................................................................................................235 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT" .........................................................................................................236 SFC per la diagnostica............................................................................................................................237 13.1 13.2 13.3 14 Mascheramento di eventi di errori di sincronismo .....................................................................217 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT"..........................225 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" ..................226 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" ..............................................227 SFC per la gestione di allarmi e di eventi di errori di asincronismo..................................................229 12.1 12.2 13 Gestione di allarmi di ritardo ......................................................................................................211 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" ...............................................213 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"........................214 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" ..........................................216 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI".............265 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" .....................267 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" ...................................................................................269 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO".....................................................................................271 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" ....................................273 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"....................................274 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" .......................275 Funzioni di sistema per l'indirizzamento di unità ................................................................................279 15.1 15.2 15.3 15.4 15.5 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC".....................279 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR".....................................................................................................281 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR".........................283 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"...........................284 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" .......................................................................................................286 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 11 Indice 16 SFC per periferia decentrata o per PROFINET IO ................................................................................289 16.1 16.2 16.3 16.4 16.5 16.6 17 PROFInet ..................................................................................................................................................315 17.1 17.2 17.3 17.4 18 Informazioni sulle SFC 112, 113 e 114......................................................................................315 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFINET CBA con l'SFC 112 "PN_IN"...................................................................................318 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA con l’SFC 113 "PN_OUT" ..........................................................................................................319 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"..........................................320 SFC e SFB per le CPU PROFINET..........................................................................................................321 18.1 18.2 12 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" .......................289 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" .........................................292 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"....298 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" ......................................................................................................305 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"........................................................................................................309 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT".......................................................................................................312 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW"..................321 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" .............................................323 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 1 Blocchi organizzativi 1.1 Panoramica degli OB Blocchi organizzativi I blocchi organizzativi formano l'interfaccia tra il sistema operativo della CPU e il programma utente. Con l'aiuto degli OB si possono far eseguire parti di programma: • all'avviamento della CPU • nell'esecuzione ciclica o anche nell'esecuzione temporizzata • a determinati orari o giorni • al termine di una durata di tempo assegnata • quando si presentano errori • quando si presentano interrupt di processo. I blocchi organizzativi vengono elaborati in base alla priorità ad essi assegnata. OB disponibili Non tutte le CPU possono elaborare tutti gli OB disponibili per S7. Consultare le liste operazioni /72/ e /102/ della CPU per sapere quali OB sono inclusi nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 13 Blocchi organizzativi 1.1 Panoramica degli OB Altre informazioni Altre informazioni possono essere rilevate dalla Guida in linea e dai seguenti manuali: • /70/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse CPU S7-300. • /101/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse CPU S7-400. OB Evento di avvio Classe di priorità Spiegazione preimpostata OB 1 Fine avviamento o fine OB 1 1 Ciclo libero OB 10 Allarme dall'orologio 0 2 OB 11 Allarme dall'orologio 1 2 OB 12 Allarme dall'orologio 2 2 Nessuna assegnazione clock default OB 13 Allarme dall'orologio 3 2 OB 14 Allarme dall'orologio 4 2 OB 15 Allarme dall'orologio 5 2 OB 16 Allarme dall'orologio 6 2 OB 17 Allarme dall'orologio 7 2 OB 20 Allarme di ritardo 0 3 OB 21 Allarme di ritardo 1 4 OB 22 Allarme di ritardo 2 5 OB 23 Allarme di ritardo 3 6 OB 30 Allarme di schedulazione orologio 0 (default: clock 5 s) 7 OB 31 Allarme di schedulazione orologio 1 (default: clock 2 s) 8 OB 32 Allarme di schedulazione orologio 2 (default: clock 1 s) 9 OB 33 Allarme di schedulazione orologio 3 (default: clock 500 ms) 10 Allarme di schedulazione orologio 4 (default: clock 200 ms) 12 Allarme di schedulazione orologio 5 (default: clock 100 ms) 14 OB 34 OB 35 OB 36 OB 37 OB 38 Allarme di schedulazione orologio 6 (default: clock 50 ms) Nessuna assegnazione clock default Allarmi di schedulazione orologio 11 13 15 Allarme di schedulazione orologio 7 (default: clock 20 ms) Allarme di schedulazione orologio 8 (default: clock 10 ms) 14 OB 40 Interrupt di processo 0 16 OB 41 Interrupt di processo 1 17 OB 42 Interrupt di processo 2 18 OB 43 Interrupt di processo 3 19 OB 44 Interrupt di processo 4 20 OB 45 Interrupt di processo 5 21 OB 46 Interrupt di processo 6 22 OB 47 Interrupt di processo 7 23 Interrupt di processo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.1 Panoramica degli OB OB Evento di avvio Classe di priorità Spiegazione preimpostata OB 55 Allarme di stato 2 OB 56 Allarme di aggiornamento 2 OB 57 Allarme produttore 2 OB 60 Richiamo della SFC 35 ”MP_ALM” 25 Allarme di multicomputing OB 61 Allarme in sincronismo di clock 1 25 OB 62 Allarme in sincronismo di clock 2 25 Allarmi di sincronismo di clock OB 63 Allarme in sincronismo di clock 3 25 OB 64 Allarme in sincronismo di clock 4 25 OB 65 Allarme di sincronismo tecnologico 25 Allarme di sincronismo tecnologico OB 70 Errore di ridondanza della periferia (solo nelle CPU H) 25 OB 72 Errore di ridondanza della CPU (solo nelle CPU H) 28 Allarmi di errore di ridondanza OB 73 OB di errore di ridondanza di comunicazione (solo nelle CPU H) 25 OB 80 Errore temporale 26, 28 1 OB 81 Errore di alimentazione 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 OB 82 Allarme di diagnostica 26, 28 1) con S7-300, 25, 28 1) con S7-400 e CPU 318 OB 83 Allarme di estrazione/inserimento 26, 28 1) con S7-300, 25, 28 1) con S7-400 e CPU 318 OB 84 Errore hardware CPU 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 OB 85 Errore di esecuzione programma 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 OB 86 Avaria di un'apparecchiatura di ampliamento, di un sistema master DP o di una stazione con periferia decentrata 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Allarmi DPV1 Allarmi di errori di asincronismo 15 Blocchi organizzativi 1.1 Panoramica degli OB OB Evento di avvio Classe di priorità Spiegazione preimpostata OB 87 Errore di comunicazione 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 OB 88 Interruzione elaborazione 28 OB 90 Nuovo avviamento (avviamento a caldo) o avviamento a 29 2) freddo o cancellazione di un blocco in esecuzione nell'OB 90 o caricamento di un OB 90 nella CPU o fine dell'OB 90. OB 100 Nuovo avviamento (avviamento a caldo) Avviamento 1) OB 101 Riavviamento 27 OB 102 Avviamento a freddo 27 1) OB 121 Errore di programmazione Priorità dell'OB Allarmi di errori di che causa l'errore sincronismo OB 122 Errore di accesso alla periferia Priorità dell'OB che causa l'errore 1) 2) 16 27 1) Ciclo di sfondo Le classi di priorità 27 e 28 sono valide nel modello della classe di priorità dell'avviamento. La classe di priorità 29 corrisponde alla priorità 0.29. Il ciclo di sfondo ha dunque una priorità più bassa rispetto al ciclo libero. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.2 Programma ciclico (OB 1) 1.2 Programma ciclico (OB 1) Descrizione Il sistema operativo della CPU S7 elabora ciclicamente l'OB 1; al termine dell'elaborazione dell'OB 1, il sistema operativo inizia una nuova elaborazione dello stesso. L'elaborazione ciclica di OB 1 viene iniziata al termine dell'avviamento. Si può usare OB 1 per richiamare altri blocchi funzionali (FB, SFB) o altre funzioni (FC, SFC). Funzionamento di OB 1 OB 1 ha la priorità più bassa rispetto a tutti gli altri OB. Ad eccezione di OB 90 tutti gli altri OB possono interrompere l'elaborazione di OB 1. I seguenti eventi possono determinare il richiamo di OB 1 da parte del sistema operativo: • Fine dell'elaborazione dell'avviamento • Fine dell'esecuzione di OB 1 (del ciclo precedente). Quando l'elaborazione dell'OB 1 è terminata, il sistema operativo invia i dati globali. Prima di riavviare OB 1, il sistema operativo scrive l'immagine di processo delle uscite nelle unità di uscita, aggiorna l'immagine di processo degli ingressi e riceve i dati globali per la CPU. S7 offre un controllo del tempo di ciclo massimo, con cui viene garantito il tempo di risposta massimo. Il valore per il tempo di ciclo massimo è preimpostato su 150 ms; questo valore può essere riparametrizzato o il tempo di controllo può essere avviato di nuovo in qualsiasi posizione del programma con la SFC 43 ”RE_TRIGR”. Se il programma supera il tempo di ciclo massimo per OB 1, il sistema operativo richiama OB 80 (OB di errore temporale); se OB 80 non è programmato, la CPU passa in modalità STOP. Oltre al controllo del tempo di ciclo massimo può essere garantita l'osservanza di un tempo ciclo minimo. Il sistema operativo ritarda l'inizio di un nuovo ciclo (scrittura dell‘immagine di processo delle uscite nelle unità di uscita) fino a quando non è stato raggiunto il tempo di ciclo minimo. I campi dei valori per i parametri del tempo di ciclo massimo e minimo sono riportati nei manuali /70/ e /101/. La modifica dei parametri viene eseguita con STEP 7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 17 Blocchi organizzativi 1.2 Programma ciclico (OB 1) Dati locali per OB 1 La tabella seguente contiene le variabili temporanee (TEMP) di OB 1. Come nomi di variabili sono stati scelti i nomi di default di OB 1. 18 Variabile Tipo di dati Descrizione OB1_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: OB 1 è attivo OB1_SCAN_1 BYTE • B#16#01:Conclusione del nuovo avviamento (avviamento a caldo) • B#16#02: Conclusione del riavviamento • B#16#03: Conclusione del ciclo libero • B#16#04: Conclusione dell'avviamento a freddo • B#16#05:Primo ciclo di OB1 della nuova CPU master dopo la commutazione master-reserve e STOP del master finora valido OB1_PRIORITY BYTE Classe di priorità: 1 OB1_OB_NUMBR BYTE Numero di OB (01) OB1_RESERVED_1 BYTE Riservato OB1_RESERVED_2 BYTE Riservato OB1_PREV_CYCLE INT Tempo ciclo della precedente scansione (ms) OB1_MIN_CYCLE INT Tempo ciclo minimo (ms) dall'ultimo avviamento OB1_MAX_CYCLE INT Tempo ciclo massimo (ms) dall'ultimo avviamento OB1_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) Descrizione S7 mette a disposizione fino a otto blocchi organizzativi (dall'OB 10 all'OB 17) che vengono avviati una volta o periodicamente. L'utente può parametrizzare la CPU con le SFC o con STEP 7 in modo che questi OB vengano elaborati ai seguenti intervalli: • Una volta • Ogni minuto • Ogni ora • Giornalmente • Settimanalmente • Mensilmente • Annualmente • A fine mese Avvertenza In caso di elaborazione mensile di un OB di allarme dall'orologio, lo standard prevede soltanto i giorni 1, 2 ... 28. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 19 Blocchi organizzativi 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) Funzionamento degli OB di allarme dall'orologio Per avviare un allarme dall'orologio, è necessario impostare prima l'allarme e quindi attivarlo. Esistono le seguenti tre possibilità di avviamento: • Avviamento automatico dell'allarme dall'orologio. Esso ha luogo se sia l'impostazione che l'attivazione dell'allarme dall'orologio sono state eseguite con STEP 7. La tabella 1-3 mostra le possibilità di attivazione di un allarme dall'orologio con STEP 7. • L'allarme dall'orologio viene impostato con STEP 7 e attivato mediante richiamo della SFC 30 ”ACT_TINT” dal proprio programma. • L'allarme dall'orologio viene impostato mediante richiamo della SFC 28 ”SET_TINT” e viene attivato mediante richiamo della SFC 30 "ACT_TINT". Intervallo Descrizione Non attivato L'OB di allarme dall'orologio non viene elaborato neppure se è caricato nella CPU. L'allarme dall'orologio può essere attivato mediante richiamo della SFC 30. Attivato una volta L'OB dell'allarme dall'orologio viene annullato automaticamente dopo che è stato elaborato una volta come indicato. Il programma utente può impostare di nuovo l'allarme dall'orologio con la SFC 28 e attivarlo di nuovo con la SFC 30. Attivato periodicamente Nel momento in cui viene impostato l'allarme dall'orologio la CPU rileva, in base all'ora attuale e al periodo di tempo, l'istante in cui esso deve essere avviato. Il comportamento degli allarmi dall'orologio durante la messa avanti o indietro dell'orologio è descritto in /234/. Avvertenza Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito una volta, la data e l'ora non devono essere nel passato (secondo l'orologio hardware della CPU). Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito a intervalli periodici, ma si imposta nel passato la data e l'ora di inizio, l'OB di allarme dall'orologio viene eseguito al primo intervallo successivo rispetto all'ora attuale. Gli allarmi dall'orologio possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC 39 fino a 42. Tempo di avvio impostato Intervallo impostato 20 Ora attuale Istante della prima esecuzione dell'OB di allarme dall'orologio Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) Condizioni che influiscono sugli OB di allarme dall'orologio Siccome l'allarme dall'orologio viene eseguito solo a intervalli determinati, alcune condizioni possono influire sul funzionamento degli OB corrispondenti durante l'elaborazione del programma. La tabella seguente mostra alcune di queste condizioni e descrive l'effetto dell'esecuzione dell'OB di allarme dall'orologio. Condizione Risultato Il programma richiama SFC 29 ”CAN_TINT” Il sistema operativo cancella l'evento di avvio (data e ora) e annulla un allarme dall'orologio. dell'allarme dall'orologio. Occorre reimpostare e attivare l'evento di avvio prima di poter richiamare l'OB. Il programma ha tentato di attivare un OB di Il sistema operativo chiama OB 85. Se OB 85 non è stato allarme dall'orologio, che al momento programmato (caricato nella CPU), la CPU passa in STOP. dell'attivazione non era caricato nella CPU. Nel sincronizzare o correggere l'orologio di sistema della CPU, si è impostata l'ora in avanti e si è saltata la data o l'ora dell'evento di avvio per l'OB ora del giorno. Il sistema operativo chiama OB 80 e codifica il numero di OB (10) e le informazioni dell'evento di avvio in OB 80. Nel sincronizzare o correggere l'orologio di sistema della CPU, l'ora è stata riportata indietro e si ripete la data o l'ora dell'evento di avvio per un OB di allarme dall'orologio. CPU S7-400 e CPU 318: Se l'OB di allarme dall'orologio era già attivato prima di riportare indietro l'orologio, esso non viene di nuovo richiamato per i tempi già trascorsi. Il sistema operativo esegue quindi l'OB di allarme dall'orologio una volta, indipendentemente dal numero di volte che questo OB sarebbe dovuto essere eseguito. Le informazioni di evento di avvio dell'OB 80 mostrano la data e l'ora in cui l'OB di allarme dall'orologio è stato saltato per la prima volta. CPU S7-300: viene eseguito l'OB di allarme dall'orologio La CPU esegue un nuovo avviamento (avviamento a caldo) o un avviamento a freddo. Ogni OB di allarme dall'orologio che è stato configurato con una SFC riprende la configurazione che è stata progettata con STEP 7. Se si configura un allarme dall'orologio in modo che il relativo OB venga avviato una volta e l'allarme è stato impostato e attivato con STEP 7 allora l'OB viene richiamato una volta dal sistema operativo dopo un nuovo avviamento (avviamento a caldo) oppure avviamento a freddo se l'istante di avvio progettato è nel passato (riferito all'orologio hardware della CPU ). Un OB di allarme dall'orologio viene ancora eseguito quando si verifica l'evento di avvio per il prossimo intervallo. Il sistema operativo chiama OB 80. Se OB 80 non è programmato, la CPU passa in STOP. Altrimenti, dopo l'esecuzione dell'OB 80 e dell'OB di allarme dall'orologio, viene ripresa l'esecuzione di OB richiesta. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 21 Blocchi organizzativi 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) Dati locali per gli OB di allarme dall'orologio La tabella seguente contiene le variabili temporanee (TEMP) di un OB di allarme dall'orologio. Come nomi di variabili sono stati scelti i nomi di default di OB 10. Variabile Tipo di dati Descrizione OB10_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#11: allarme attivo OB40_STRT_INF BYTE B#16#11: Richiesta di avviamento per OB 10 (B#16#12: Richiesta di avviamento per OB 11) : : (B#16#18: Richiesta di avviamento per OB 17) OB10_PRIORITY BYTE Classe di priorità parametrizzata valore di default:2 OB10_OB_NUMBR BYTE Numero di OB (da 10 a 17) OB10_RESERVED_1 BYTE Riservato OB10_RESERVED_2 BYTE Riservato OB10_PERIOD_EXE WORD OB viene eseguito all'intervallo specificato: W#16#0000: una volta W#16#0201: una volta al minuto W#16#0401: una volta all'ora W#16#1001: una volta al giorno W#16#1201: una volta alla settimana W#16#1401: una volta al mese W#16#1801: una volta all'anno W#16#2001: a fine mese 22 OB10_RESERVED_3 INT Riservato OB10_RESERVED_4 INT Riservato OB10_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.4 OB di allarme di ritardo (da OB 20 a OB 23) 1.4 OB di allarme di ritardo (da OB 20 a OB 23) Descrizione S7 mette a disposizione fino a quattro OB (da OB 20 a OB 23) che vengono eseguiti rispettivamente dopo un tempo di ritardo parametrizzabile. Ogni OB di allarme di ritardo viene avviato da un richiamo della SFC 32 ”SRT_DINT”. Il tempo di ritardo è un parametro di ingresso della SFC. Quando il programma chiama SFC 32 ”SRT_DINT”, si specifica il numero di OB, il tempo di ritardo e un carattere di identificazione specifico per l'utente. Dopo che è trascorso il tempo di ritardo specificato, il relativo OB si avvia. L'esecuzione di un allarme di ritardo che non è stato ancora avviato può essere annullata. Funzionamento dell'OB di allarme di ritardo Al termine del tempo, il cui valore in ms è stato trasmesso insieme con un numero di OB alla SFC 32, il sistema operativo avvia il rispettivo OB. Per usare gli OB di allarme di ritardo si deve procedere come segue: • Avviare l'allarme di ritardo SFC 32 ”SRT_DINT”. • Occorre aver caricato l'OB di allarme dall'orologio nella CPU come parte del programma. Gli OB di allarme di ritardo vengono eseguiti solo se la CPU si trova nello stato di funzionamento RUN. Un nuovo avviamento (avviamento a caldo) ed un avviamento a freddo cancellano ogni evento di avvio di un OB di allarme di ritardo. Un allarme di ritardo non ancora attivato può essere annullato con la SFC 33 ”CAN_DINT”. Il tempo di ritardo viene misurato con una precisione di 1 ms. Un tempo di ritardo può essere avviato di nuovo immediatamente dopo la sua esecuzione. Con l'aiuto della SFC 34 ”QRY_DINT” si può determinare lo stato di un allarme di ritardo. Il sistema operativo richiama un OB per errori di asincronismo se si presenta uno dei seguenti eventi: • Se il sistema operativo cerca di avviare un OB che non è caricato e il cui numero è stato indicato al richiamo della SFC 32 ”SRT_DINT”. • Se il successivo evento di avvio per un allarme di ritardo si verifica prima che sia terminata l'esecuzione del rispettivo OB di allarme di ritardo. Gli allarmi di ritardo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 23 Blocchi organizzativi 1.4 OB di allarme di ritardo (da OB 20 a OB 23) Dati locali degli OB di allarme di ritardo La tabella seguente contiene le variabili temporali (TEMP) di un OB di allarme di ritardo. Come nomi di variabili sono stati scelti i nomi di default dell'OB 20. Variabile Tipo di dati Dichiarazione Descrizione OB20_EV_CLASS BYTE TEMP Classe d'evento e identificazioni: B#16#11: Allarme attivo OB20_STRT_INF BYTE TEMP B#16#231: Richiesta di avvio per OB 20 (B#16#22: Richiesta di avvio per OB 21) (B#16#23: Richiesta di avvio per OB 22) (B#16#24: Richiesta di avvio per OB 23) 24 OB20_PRIORITY BYTE TEMP Classe di priorità parametrizzata: valori di default da 3 (OB 20) fino a 6 (OB 23) OB20_OB_NUMBR BYTE TEMP Numero di OB (da 20 a 23) OB20_RESERVED_ 1 BYTE TEMP Riservato OB20_RESERVED_ 2 BYTE TEMP Riservato OB20_SIGN WORD TEMP Identificazione utente: Parametro di ingresso SIGN dal richiamo della SFC 32 ”SRT_DINT” OB20_DTIME TIME TEMP Tempo di ritardo parametrizzato in ms OB20_DATE_TIME DATE_AND_TIME TEMP Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.5 OB di schedulazione orologio (da OB 30 a OB 38) 1.5 OB di schedulazione orologio (da OB 30 a OB 38) Descrizione S7 mette a disposizione fino a nove OB di schedulazione orologio (da OB 30 a OB 38), con il cui aiuto si possono avviare programmi in base ad intervalli di tempo equidistanti. La tabella seguente mostra i valori preimpostati per i reticoli temporali e le classi di priorità degli OB di schedulazione orologio. OB di schedulazione orologio Valore di default per reticolo temporale Valore di default per la classe di priorità OB 30 5s 7 OB 31 2s 8 OB 32 1s 9 OB 33 500 s 10 OB 34 200 s 11 OB 35 100 s 12 OB 36 50 s 13 OB 37 20 s 14 OB 38 10 s 15 Funzionamento degli OB di schedulazione orologio I momenti di avvio equidistanti degli OB di schedulazione orologio risultano dal rispettivo clock e dal rispettivo spostamento delle fasi. In /234/. è illustrato in quale rapporto si trovano il momento di avvio, il clock e lo spostamento delle fasi. Avvertenza È necessario provvedere affinché il tempo di esecuzione di ogni OB di schedulazione orologio sia nettamente inferiore al suo clock. Se un OB di schedulazione orologio non è ancora terminato, ma è di nuovo prossimo all'esecuzione a causa del clock decorso, viene avviato l'OB dell'errore temporale (OB 80). Successivamente viene recuperata la schedulazione orologio che ha causato l'errore. Gli allarmi di tempo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. I campi dei valori per i parametri: clock, classe di priorità e spostamento delle fasi sono riportati nei dati tecnici della CPU. La modifica dei parametri viene eseguita mediante parametrizzazione con STEP 7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 25 Blocchi organizzativi 1.5 OB di schedulazione orologio (da OB 30 a OB 38) Dati locali degli OB di schedulazione orologio La tabella seguente contiene le variabili temporanee (TEMP) di un OB di schedulazione orologio. Come nomi di variabili sono stati scelti i nomi di default dell'OB 35. Variabile Tipo di dati Descrizione OB35_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#11: Allarme attivo OB35_STRT_INF BYTE • B#16#30: Richiesta straordinaria di avvio per l'OB di schedulazione orologio nel sistema H (trattamento speciale parametrizzato alla commutazione allo stato di sistema "Ridondato) • B#16#31: Richiesta di avvio per OB 30 : • B#16#36: Richiesta di avvio per OB 35 : B#16#39: Richiesta di avvio per OB 38 • B#16#3A: Richiesta di avvio per gli OB di schedulazione orologio (OB 30 ...OB 38) con intervallo di schedulazione inferiore a un millisecondo. mit Weckalarmtakt kleiner eine Millisekunde OB_35_PRIORITY BYTE Classe di priorità parametrizzata: valori di default: da 7 (OB 30) a 15 (OB 38) OB35_OB_NUMBR BYTE Numero OB (da 30 a 38) OB35_RESERVED_1 BYTE Riservato OB35_RESERVED_2 BYTE OB35_PHASE_OFFSET WORD Riservato • Se OB35_STRT_INF=B#16#3A: spostamento delle fasi inìs • in tutti gli altri casi: spostamento delle fasi in ms OB35_RESERVED_3 INT Riservato OB35_EXC_FREQ INT • se OB35_STRT_INF=B#16#3A: frequenza di esecuzione in ìs • in tutti gli altri casi: frequenza di esecuzione in ms OB35_DATE_TIME 26 • DATE_AND_TIME Data e ora in cui è stato richiamato l'OB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.6 OB di interrupt di processo (da OB 40 a OB 47) 1.6 OB di interrupt di processo (da OB 40 a OB 47) Descrizione S7 mette a disposizione fino a otto interrupt di processo indipendenti tra di loro con rispettivamente un OB. Mediante parametrizzazione con STEP 7 definire per ogni unità di ingresso/uscita, che deve attivare gli interrupt di processo, • quali canali devono attivare, con quale condizione marginale, un interrupt di processo • quale OB di interrupt di processo viene assegnato ai singoli gruppi di canali (a default vengono eseguiti tutti gli interrupt di processo tramite OB 40). Nei CP e FM è necessario utilizzare il rispettivo software per l'unità. Le classi di priorità per i singoli OB di interrupt di processo vengono definite con STEP 7. Funzionamento degli OB dell'interrupt di processo Dopo l'attivazione di un interrupt di processo da parte dell'unità, il sistema operativo identifica il posto connettore e determina il rispettivo OB di interrupt di processo. Se esso ha una priorità maggiore della classe di priorità momentaneamente attiva, esso viene avviato. La conferma specifica di canale avviene al termine di questo OB di interrupt di processo. Se nell'intervallo tra l'identificazione e la conferma di un interrupt di processo sulla stessa unità si presenta di nuovo un evento che deve attivare un interrupt di processo, valgono le seguenti regole: • Se l'evento si presenta nel canale che ha attivato prima l'interrupt di processo, il rispettivo interrupt va perso. Questo fatto è rappresentato dalla figura seguente sull'esempio di un canale di un'unità di ingresso digitale. L'evento attivante sia il fronte di salita. Il rispettivo OB di interrupt di processo sia l'OB 40. Interrupt di processo non riconosciuto Segnale di processo OB 40 • Elaborazione dell'OB 40 Se l'evento si presenta in un altro canale della stessa unità, momentaneamente non può essere attivato nessun interrupt di processo. Esso non va tuttavia perso, ma viene attivato dopo la conferma dell'interrupt di processo attivo. Se viene attivato un interrupt di processo il cui rispettivo OB è attivo momentaneamente proprio a causa di un interrupt di processo di un'altra unità, la nuova richiesta viene registrata e l'OB viene elaborato al momento opportuno. Gli interrupt di processo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. La parametrizzazione degli interrupt di processo di una unità può essere eseguita non solo con STEP 7, ma anche con le SFC da 55 a 57. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 27 Blocchi organizzativi 1.6 OB di interrupt di processo (da OB 40 a OB 47) Dati locali degli OB di interrupt di processo La tabella seguente descrive le variabili temporanee (TEMP) di un OB di interrupt di processo. Come nomi di variabili sono stati scelti nomi di default dell'OB 40. Variabile Tipo di dati Descrizione OB40_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: Interrupt attivo OB40_STRT_INF BYTE • B#16#41: Interrupt tramite conduttore interrupt 1 • B#16#42: Interrupt tramite conduttore interrupt 2 (solo con S7-400) • B#16#43: Interrupt tramite conduttore interrupt 3 (solo con S7-400) • B#16#44: Interrupt tramite conduttore interrupt 4 (solo con S7-400) • B#16#45: WinAC: allarme generato dal PC • Nota: nel funzionamento Multicomputing i conduttori interrupt 1, ... 4 sono assegnati alle CPU 1, ... 4. OB40_PRIORITY BYTE Classe di priorità parametrizzata: valori di default: da 16 (OB 40) a 23 (OB 47) OB40_OB_NUMBR BYTE Numero OB (da 40 a 47) OB40_RESERVED_1 BYTE Riservato OB40_IO_FLAG Unità di ingresso: B#16#54 BYTE Unità di uscita: B#16#55 OB40_MDL_ADDR WORD Indirizzo logico di base dell'unità che attiva l'interrupt OB40_POINT_ADDR DWORD • Per unità digitali: campo di bit con gli ingressi sull'unità che hanno generato l'interrupt di diagnostica Le modalità di l'assegnazione dei bit dell'OB40_POINT_ADDR ai canali dell'unità sono riportate nella descrizione dell'unità impiegata. • Per unità analogiche: campo di bit con le informazioni sul canale e il limite superato (per l'esatta configurazione, vedere /71/ o /101/.). • Per CP o IM: stato dell'allarme dell'unità (non rilevante per l'utente) OB40_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.7 OB di allarme di stato (OB 55) 1.7 OB di allarme di stato (OB 55) Avvertenza L'OB di allarme di stato (OB 55) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 55 in seguito a un allarme di stato attivato da un posto connettore di uno slave DPV1. Ciò si può verificare quando un componente (unità o modulo) di uno slave DPV1 cambia stato di funzionamento, p. es. da RUN a STOP. Gli eventi specifici che attivano un allarme di stato sono riportati nella documentazione del produttore dello slave DPV1. Dati locali dell'OB di allarme di stato La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di stato. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 55. Variabile Tipo di dati Descrizione OB55_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB55_STRT_INF BYTE • B#16#55: allarme di stato per DP • B#16#58: allarme di stato per PROFINET IO OB55_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2 OB55_OB_NUMBR BYTE Numero di OB (55) OB55_RESERVED_1 BYTE Riservato OB55_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 OB55_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) OB55_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB55_TYPE BYTE Identificazione del tipo di allarme "Allarme di stato" OB55_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB55_SPEC BYTE Specificatore: Unità/modulo uscite: B#16#55 OB55_DATE_TIME DATE_AND_TIME • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 … 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 29 Blocchi organizzativi 1.7 OB di allarme di stato (OB 55) Avvertenza Il significato di OB55_LEN, OB55_TYPE, OB55_SLOT, OB55_SPEC indicato nella tabella precedente è valido solo per un allarme di stato in DP. In caso di allarme di stato in PROFINET IO organizzare le variabili locali come indicato nella tabella seguente. Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si ottiene richiamando l'SFB 54 "RALRM" all'interno dell'OB 55. Se si intende programmare l'OB 55 in funzione degli eventi di avvio, si consiglia di organizzare le variabili locali come indicato nel seguito: Variabile Tipo di dati OB55_EV_CLASS BYTE OB55_STRT_INF BYTE OB55_PRIORITY BYTE OB55_OB_NUMBR BYTE OB55_RESERVED_1 BYTE_ OB55_IO_FLAG BYTE OB55_MDL_ADR WORD OB55_Z2 WORD OB55_Z3 WORD OB55_DATE_TIME DATE_AND_TIME A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB55_Z2 e OB55_Z3. La tabella sottostante illustra dettagliatamente questo comportamento. 30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.7 OB di allarme di stato (OB 55) Significato dell'OB55_Z2 OB55_STRT_INF Significato dell'OB55_Z2 B#16#55 • low byte: ID del tipo di allarme "Allarme di stato" • high byte: lunghezza del blocco dati che genera l'allarme B#16#58 ID del tipo di allarme: • W#16#0000: riservato • W#16#0001: allarme di diagnostica (entrante) • W#16#0002: interrupt di processo • W#16#0003: allarme di estrazione • W#16#0004: allarme di inserimento • W#16#0005: allarme di stato • W#16#0006: allarme di aggiornamento • W#16#0007: allarme di ridondanza • W#16#0008: controllato dal supervisore (Controlled by supervisor) • W#16#0009: abilitato • W#16#000A: è stato inserito un modulo errato • W#16#000B: ripristino del sottomodulo • W#16#000C: allarme di diagnostica (uscente) • W#16#000D: messaggio di collegamento alla comunicazione diretta • W#16#000E: messaggio di modifica dei valori adiacenti • W#16#000F: messaggio del sincronismo di clock (del bus) • W#16#0010: messaggio del sincronismo di clock (dei dispositivi) • W#16#0011: messaggio die componenti di rete • W#16#0012: messaggio del sincronismo di clock (del bus) • W#16#0013 … 001E: riservato • W#16#001F: allarme di estrazione dell'unità • W#16#0020 ... 007F: allarme specifico del produttore • W#16#0080 … FFFF: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 31 Blocchi organizzativi 1.7 OB di allarme di stato (OB 55) Significato dell'OB55_Z3 OB55_STRT_INF Significato dell'OB55_Z3 B#16#55 • • B#16#58 Bit 0 ... 1: Alarm Specifier - Bit 2: Add_Ack - Bit 3 ... 7: numero di sequenza high byte: posto connettore del componente che ha generato l'allarme (unità o modulo) Alarm Specifier: • Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047) • Bit 11: diagnostica di canale • • • • 32 low byte: Specifier - - 0: diagnostica di canale non disponibile - 1: diagnostica di canale disponibile Bit 12: stato della diagnostica specifica del produttore: - 0: diagnostica specifica del produttore non disponibile - 1: diagnostica specifica del produttore disponibile Bit 13: stato della diagnostica del sottomodulo: - 0: informazione di stato non disponibile, tutti gli errori sono stato eliminati - 1: almeno un messaggio di diagnostica di canale e/o un'informazione di stato disponibili. Bit 14: riservato Bit 15: Application Relationship Diagnosis State: - 0: nessuna unità tra quelle progettate all'interno del bit AR invia un messaggio di diagnostica - 1: almeno un'unità tra quelle progettate all'interno del bit AR invia un messaggio di diagnostica. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.8 OB di allarme di aggiornamento (OB 56) 1.8 OB di allarme di aggiornamento (OB 56) Avvertenza L'OB di allarme di aggiornamento (OB 56) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 56 in seguito a un allarme di aggiornamento attivato da un posto connettore di uno slave DPV1. Ciò si può verificare quando si esegue una modifica di parametrizzazione nel posto connettore di uno slave DPV1 (con accesso locale o remoto). Gli eventi specifici che attivano un allarme di aggiornamento sono riportati nella documentazione del produttore dello slave DPV1. Dati locali dell'OB di allarme di aggiornamento La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di aggiornamento. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 56. Variabile Tipo di dati Descrizione OB56_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB56_STRT_INF BYTE • B#16#56: allarme di aggiornamento in DP • B#16#59: allarme di aggiornamento in PN IO OB56_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2 OB56_OB_NUMBR BYTE Numero di OB (56) OB56_RESERVED_1 BYTE Riservato OB56_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 OB56_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) OB56_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB56_TYPE BYTE Identificazione del tipo di allarme "Allarme di aggiornamento" OB56_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB56_SPEC BYTE Specificatore: Unità/modulo uscite: B#16#55 OB56_DATE_TIME DATE_AND_TIME • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 ... 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 33 Blocchi organizzativi 1.8 OB di allarme di aggiornamento (OB 56) Avvertenza Il significato di OB56_LEN, OB56_TYPE, OB56_SLOT, OB56_SPEC indicato nella tabella precedente è valido solo per un allarme di aggiornamento in DP. In caso di allarme di aggiornamento in PROFINET IO organizzare le variabili locali come indicato nella tabella seguente. Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si ottiene richiamando l'SFB 54 "RALRM" all'interno dell'OB 56. Se si intende programmare l'OB 56 in funzione degli eventi di avvio, si consiglia di organizzare le variabili locali come indicato nel seguito: Variabile Tipo di dati OB56_EV_CLASS BYTE OB56_STRT_INF BYTE OB56_PRIORITY BYTE OB56_OB_NUMBR BYTE OB56_RESERVED_1 BYTE_ OB56_IO_FLAG BYTE OB56_MDL_ADR WORD OB56_Z2 WORD OB56_Z3 WORD OB56_DATE_TIME DATE_AND_TIME A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB56_Z2 e OB56_Z3. La tabella sottostante illustra dettagliatamente questo comportamento. 34 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.8 OB di allarme di aggiornamento (OB 56) Significato dell'OB56_Z2 OB56_STRT_INF Significato dell'OB56_Z2 B#16#56 • Low byte: ID del tipo di allarme "Allarme di stato" • High byte: lunghezza del blocco dati che genera l'allarme B#16#59 ID del tipo di allarme: • W#16#0000: riservato • W#16#0001: allarme di diagnostica (entrante) • W#16#0002: interrupt di processo • W#16#0003: allarme di estrazione • W#16#0004: allarme di inserimento • W#16#0005: allarme di stato • W#16#0006: allarme di aggiornamento • W#16#0007: allarme di ridondanza • W#16#0008: controllato dal supervisore (Controlled by supervisor) • W#16#0009: abilitato • W#16#000A: è stato inserito un sottomodulo errato • W#16#000B: ripristino del sottomodulo • W#16#000C: allarme di diagnostica (uscente) • W#16#000D: messaggio di collegamento alla comunicazione diretta • W#16#000E: messaggio di modifica dei valori adiacenti • W#16#000F: messaggio del sincronismo di clock (del bus) • W#16#0010: messaggio del sincronismo di clock (dei dispositivi) • W#16#0011: messaggio die componenti di rete • W#16#0012: messaggio del sincronismo di clock (del bus) • W#16#0013 … 001E: riservato • W#16#001F: allarme di estrazione dell'unità • W#16#0020 … 007F: allarme specifico del produttore • W#16#0080 … FFFF: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 35 Blocchi organizzativi 1.8 OB di allarme di aggiornamento (OB 56) Significato dell'OB56_Z3 OB56_STRT_INF Significato dell'OB56_Z3 B#16#56 • • B#16#59 Bit 0 ... 1: Alarm Specifier - Bit 2: Add_Ack - Bit 3 ... 7: numero di sequenza High byte: posto connettore del componente che ha generato l'allarme (unità o modulo) Alarm Specifier: • Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047) • Bit 11: diagnostica di canale • • • • 36 Low byte: Specifier - - 0: diagnostica di canale non disponibile - 1: diagnostica di canale disponibile Bit 12: stato della diagnostica specifica del produttore: - 0: diagnostica specifica del produttore non disponibile - 1: diagnostica specifica del produttore disponibile Bit 13: stato della diagnostica del sottomodulo: - 0: informazione di stato non disponibile, tutti gli errori sono stato confermati - 1: almeno un messaggio di diagnostica di canale e/o un'informazione di stato disponibili. Bit 14: riservato Bit 15: Application Relationship Diagnosis State: - 0: nessuna unità tra quelle progettate all'interno del bit AR invia un messaggio di diagnostica - 1: almeno un'unità tra quelle progettate all'interno del bit AR invia un messaggio di diagnostica. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.9 OB per allarmi produttore (OB 57) 1.9 OB per allarmi produttore (OB 57) Avvertenza L'OB per allarmi produttore (OB 57) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 57 in seguito a un allarme produttore attivato da un posto connettore di uno slave DPV1. Dati locali dell'OB per allarmi produttore La tabella seguente contiene le variabili temporanee (TEMP) dell'OB per allarmi produttore. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 57. Variabile Tipo di dati Descrizione OB57_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB57_STRT_INF BYTE • B#16#57: Manufacture Alarm in DP • B#16#5A: Manufacture Alarm in PN IO • B#16#5B: IO: Profile Specific Alarm OB57_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2 OB57_OB_NUMBR BYTE Numero di OB (57) OB57_RESERVED_1 BYTE Riservato OB57_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 Unità/modulo uscite: B#16#55 OB57_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) OB57_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB57_TYPE BYTE Identificazione del tipo di allarme "Allarme produttore" OB57_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB57_SPEC BYTE Specificatore: OB57_DATE_TIME DATE_AND_TIME • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 ... 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 37 Blocchi organizzativi 1.9 OB per allarmi produttore (OB 57) Avvertenza Il significato di OB57_LEN, OB57_TYPE, OB57_SLOT, OB57_SPEC indicato nella tabella precedente è valido solo per un allarme produttore in DP. In caso di allarme produttore in PROFINET IO organizzare le variabili locali come indicato nella tabella seguente. Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si ottiene richiamando l'SFB 54 "RALRM" all'interno dell'OB 57. Se si intende programmare l'OB 57 in funzione degli eventi di avvio, si consiglia di organizzare le variabili locali come indicato nel seguito: Variabile Tipo di dati OB57_EV_CLASS BYTE OB57_STRT_INF BYTE OB57_PRIORITY BYTE OB57_OB_NUMBR BYTE OB57_RESERVED_1 BYTE_ OB57_IO_FLAG BYTE OB57_MDL_ADR WORD OB57_Z2 WORD OB57_Z3 WORD OB57_DATE_TIME DATE_AND_TIME A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB57_Z2 e OB57_Z3. La tabella sottostante illustra dettagliatamente questo comportamento. 38 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.9 OB per allarmi produttore (OB 57) Significato dell'OB57_Z2 OB57_STRT_INF Significato dell'OB57_Z2 B#16#57 • Low byte: ID del tipo di allarme "Allarme di stato" • High byte: lunghezza del blocco dati che genera l'allarme B#16#5A ID del tipo di allarme: • W#16#0000: riservato • W#16#0001: allarme di diagnostica (entrante) • W#16#0002: interrupt di processo • W#16#0003: allarme di estrazione • W#16#0004: allarme di inserimento • W#16#0005: allarme di stato • W#16#0006: allarme di aggiornamento • W#16#0007: allarme di ridondanza • W#16#0008: controllato dal supervisore (Controlled by supervisor) • W#16#0009: abilitato • W#16#000A: è stato inserito un sottomodulo errato • W#16#000B: ripristino del sottomodulo • W#16#000C: allarme di diagnostica (uscente) • W#16#000D: messaggio di collegamento alla comunicazione diretta • W#16#000E: messaggio di modifica dei valori adiacenti • W#16#000F: messaggio del sincronismo di clock (del bus) • W#16#0010: messaggio del sincronismo di clock (dei dispositivi) • W#16#0011: messaggio die componenti di rete • W#16#0012: messaggio del sincronismo di clock (del bus) • W#16#0013 … 001E: riservato • W#16#001F: allarme di estrazione dell'unità • W#16#0020 … 007F: allarme specifico del produttore • W#16#0080 … FFFF: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 39 Blocchi organizzativi 1.9 OB per allarmi produttore (OB 57) Significato dell'OB57_Z3 OB57_STRT_INF Significato dell'_vOB57_Z3 B#16#57 • • B#16#5A Bit 0 ... 1: Alarm Specifier - Bit 2: Add_Ack - Bit 3 ... 7: numero di sequenza High byte: posto connettore del componente che ha generato l'allarme (unità o modulo) Alarm Specifier: • Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047) • Bit 11: diagnostica di canale • • • • 40 Low byte: Specifier - - 0: diagnostica di canale non disponibile - 1: diagnostica di canale disponibile Bit 12: stato della diagnostica specifica del produttore: - 0: diagnostica specifica del produttore non disponibile - 1: diagnostica specifica del produttore disponibile Bit 13: stato della diagnostica del sottomodulo: - 0: informazione di stato non disponibile, tutti gli errori sono stato eliminati - 1: almeno un messaggio di diagnostica di canale e/o un'informazione di stato disponibili. Bit 14: riservato Bit 15: Application Relationship Diagnosis State: - 0: nessuna unità tra quelle progettate all'interno del bit AR invia messaggio di diagnostica - 1: almeno un'unità tra quelle progettate all'interno del bit AR invia un messaggio di diagnostica. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.10 OB di allarme di multicomputing (OB 60) 1.10 OB di allarme di multicomputing (OB 60) Descrizione Con l'aiuto dell'allarme di multicomputing nel funzionamento multicomputing è possibile reagire ad un segnale in modo sincronico sulla relativa CPU. A differenza degli interrupt di processo, che vengono attivati da unità di segnale, l'allarme di multicomputing può essere emesso solo dalle CPU. Funzionamento degli OB di allarme di multicomputing L'allarme di multicomputing viene attivato richiamando la SFC 35 ”MP_ALM”. Nel funzionamento multicomputing questo porta all'avvio sincronizzato dell'OB 60 su tutte le CPU inserite del segmento di bus, se queste non hanno inibito l'OB 60 (tramite SFC 39 ”DIS_IRT”) o non l'hanno ritardato (tramite SFC 41 ”DIS_AIRT”). Se su una CPU non è stato caricato l'OB 60, la stessa CPU ritorna subito nella classe di priorità elaborata per ultima e prosegue l'esecuzione del programma partendo da questo punto. Nel funzionamento ad un processore e nel funzionamento in telai segmentati l'OB 60 viene avviato solo su quella CPU sulla quale è stata richiamata la SFC 35 ”MP_ALM”. Se il programma richiama la SFC 35 ”MP_ALM”, a questa deve essere assegnata una identificazione di job a scelta. Questa identificazione viene trasmessa a tutte le CPU. Si ha così la possibilità di reagire a seconda dell'evento presente. Nel caso l'OB 60 sia stato programmato nelle singole CPU in modo differente, possono verificarsi dei tempi di elaborazione differenti. In questo caso la classe di priorità interrotta di volta in volta, continua ad essere elaborata in differenti punti di tempo. Se il successivo allarme di multicomputing viene emesso da una CPU, mentre un'altra CPU è ancora impegnata con l'elaborazione dell'OB 60 del precedente allarme di multicomputing, né sulla CPU richiedente, né su nessun'altra CPU inserita del segmento di bus può avvenire un avvio dell'OB 60. Questo funzionamento, che viene rappresentato nella figura seguente sull'esempio di due CPU, viene comunicato attraverso un relativo valore di funzione della SFC 35 richiamata. CPU 1: "CALL SFC 35" Elaborazione dell'OB60 Elaborazione dell'OB60 Ciclo Ciclo "CALL SFC 35" "CALL SFC 35" Elaborazione dell'OB60 Elaborazione dell'OB60 CPU 2: Ciclo Ciclo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 41 Blocchi organizzativi 1.10 OB di allarme di multicomputing (OB 60) Dati locali degli OB di allarme di multicomputing La tabella seguente descrive le variabili temporanee (TEMP) degli OB di allarme di multicomputing. Come nomi di variabili sono stati scelti nomi di default dell'OB 60. Variabile Tipo di dati Descrizione OB60_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: allarme attivo OB60_STRT_INF BYTE B#16#61: allarme di multicomputing attivato dalla CPU B#16#62: allarme di multicomputing attivato da un'altra CPU OB60_PRIORITY BYTE OB60_OB_NUMBR BYTE OB60_RESERVED_1 BYTE Numero OB: 60 Riservato OB60_RESERVED_2 BYTE Riservato OB60_JOB Identificazione di job: variabile di ingresso JOB dell'SFC 35 ”MP_ALM” INT OB60_RESERVED_3 INT Riservato OB60_REVERVED_4 INT Riservato OB60_DATE_TIME 42 Classe di priorità: 25 DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64) 1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64) Descrizione Gli allarmi in sincronismo di clock consentono di avviare i programmi in modo sincrono rispetto al clock DP. L'allarme in sincronismo di clock TSAL y è costituito dall'OB 6y , <= y <= 4 che funge da OB di interfaccia. È possibile impostare la priorità degli OB da 61 a 64 assegnando un valore compreso tra 0 (OB deselezionato) e 2 - 26. ! Cautela Sia in caso di accessi diretti con comandi L e T (p. es. L PEB, T PAB) che in caso di impiego delle SFC 14 "DPRD_DAT" e 15 "DPWR_DAT", evitare gli accessi ad aree della periferia le cui immagini di processo parziali siano assegnate con collegamenti OB6x (allarmi in sincronismo di clock). Dati locali dell'OB di allarme in sincronismo di clock La tabella seguente descrive le variabili temporanee (TEMP) dell'OB di allarme in sincronismo di clock. Come nomi di variabili sono stati scelti i nomi di default dell'OB 61. Variabile Tipo di dati Descrizione OB61_EV_CLASS BYTE Classe dell'evento e identificazioni: B#16#11: allarme attivo OB61_STRT_INF BYTE B#16#64: richiesta di avvio per l'OB 61 OB61_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25 OB61_OB_NUMBR BYTE Numero OB: 61 ... 64 OB61_RESERVED_1 BYTE Riservato OB61_RESERVED_2 BYTE Riservato B#16#67: richiesta di avvio per l'OB 64 OB61_GC_VIOL BOOL Violazione GC OB61_FIRST BOOL Prima esecuzione dopo l'avviamento o lo stop OB61_MISSED_EXEC BYTE Numero degli avvii dell'OB 61 non avvenuti dall'ultima esecuzione dell'OB61 OB61_DP_ID BYTE ID del sistema master DP del sistema master DP del sincronismo di clock OB61_RESERVED_3 BYTE Riservato OB61_RESERVED_4 WORD Riservato OB61_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 43 Blocchi organizzativi 1.12 OB di allarme di sincronismo tecnologico (OB 65) 1.12 OB di allarme di sincronismo tecnologico (OB 65) Avvertenza L'OB di allarme di sincronismo tecnologico (OB 65) riguarda solamente le CPU tecnologiche. Descrizione L'allarme di sincronismo tecnologico offre la possibilità di avviare un programma in sincronismo di clock con l'aggiornamento dei blocchi dati tecnologici. L'OB di allarme di sincronismo tecnologico viene avviato di volta in volta dopo l'aggiornamento dei blocchi dati tecnologici. La classe di priorità dell'OB di allarme di sincronismo tecnologico è fissata a 25 e non è modificabile. Avvertenza Al momento dell'avvio dell'OB di allarme di sincronismo tecnologico non sono ancora disponibili dati di istanza aggiornati delle funzioni tecnologiche. Dati locali dell'OB di allarme di sincronismo tecnologico La tabella seguente mostra le variabili temporanee (TEMP) dell'OB di allarme di sincronismo tecnologico. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 65. Variabile Tipo di dati Descrizione OB65_EV_CLASS BYTE Classe di evento e identificazioni: OB65_STRT_INF BYTE B#16#6A: richiesta di avvio dell'OB 65 OB65_PRIORITY BYTE Classe di priorità: 25 (fissa) OB65_OB_NUMBR BYTE Numero di OB (65) OB65_RESERVED_1 BYTE Riservato OB65_RESERVED_2 BYTE Riservato OB65_RESERVED_3 BOOL Riservato OB65_FIRST BOOL Prima esecuzione dell'OB 65 dopo l'avviamento OB65_MISSED_EXEC BYTE Numero di avvii mancati dell'OB 65 dall'ultima esecuzione dell'OB 65 OB65_RESERVED_4 BYTE Riservato OB65_RESERVED_5 BYTE Riservato OB65_RESERVED_6 WORD Riservato OB65_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiesto l'OB B#16#11: evento entrante, classe di evento 1 44 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.13 OB di errore di ridondanza della periferia (OB 70) 1.13 OB di errore di ridondanza della periferia (OB 70) Avvertenza L'OB di errore di ridondanza della periferia (OB 70) esiste solo con le CPU H. Descrizione Il sistema operativo della CPU H richiama l‘OB 70 se si verifica una perdita di ridondanza sul PROFIBUS DP (p. es. nel caso di guasto del bus sul master DP attivo oppure in caso di errore nell'interfaccia dello slave DP) oppure se cambia il master DP con gli slave DP con periferia condivisa. La CPU non passa allo stato di funzionamento STOP, se compare un relativo evento di avvio e l'OB 70 non è programmato. Se l'OB 70 è caricato ed il sistema H si trova in funzionamento ridondato, l'OB 70 viene elaborato in entrambe le CPU. Il sistema H rimane in funzionamento ridondato. Dati locali dell'OB d'errore di ridondanza della periferia La seguente tabella contiene le variabili temporanee (TEMP) dell'OB d'errore di ridondanza della periferia. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 70. Variabile Tipo di dati Descrizione OB70_EV_CLASS BYTE Classe di evento e identificazioni: • B#16#72: evento uscente • B#16#73: evento entrante OB70_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: OB70_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) B#16#A2, B#16#A3) OB70_OB_NUMBR BYTE Numero di OB (70) OB70_RESERVED_1 WORD Riservato OB70_INFO_1 WORD Dipendente dal codice di identificazione d‘errore OB70_INFO_2 WORD Dipendente dal codice di identificazione d‘errore OB70_INFO_3 WORD Dipendente dal codice di identificazione d‘errore OB70_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l‘OB La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 70. OB70_EV_CLASS OB70_FLT_ID Evento di avvio dell'OB 70 B#16#73 B#16#A2 Guasto di un master DP o di un sistema master DP B#16#73/B#16#72 B#16#A3 Perdita di ridondanza/ritorno della ridondanza sullo slave DP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 45 Blocchi organizzativi 1.13 OB di errore di ridondanza della periferia (OB 70) Le variabili dipendenti dal codice di errore hanno il significato seguente: Codice errore Bit Significato B#16#A2 - OB70_INFO_1: Indirizzo logico di base del master DP interessato - OB70_INFO_2: Riservato - OB70_INFO_3: da 0 a 7: Riservato da 8 a 15: ID del sistema master DP interessato B#16#A3 - OB70_INFO_1: - OB70_INFO_2: - OB70_INFO_3 Indirizzo logico di base del master DP interessato Slave DP interessato. da 0 a 14: Indirizzo logico di base di uno slave S7 o indirizzo di diagnostica di uno slave DP standard 15: Identificazione I/O Slave DP interessato: da 0 a 7: N. della stazione DP da 8 a 15: ID del sistema master DP Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 46 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.14 OB di errore di ridondanza della CPU (OB 72) 1.14 OB di errore di ridondanza della CPU (OB 72) Avvertenza L'OB d'errore di ridondanza della CPU (OB 72) esiste solo con le CPU H. Descrizione Il sistema operativo della CPU H richiama l'OB 72 quando compare uno degli eventi seguenti: • Perdita di ridondanza delle CPU • Commutazione riserva-master • Errore di sincronizzazione • Errore in un modulo SYNC • Annullamento dell'operazione di aggiornamento • Errore di confronto (p. es. RAM, PAA) L'OB 72 viene eseguito da tutte le CPU che si trovano negli stati di funzionamento RUN o AVVIAMENTO dopo un evento di avvio corrispondente. Dati locali dell'OB d'errore di ridondanza della CPU La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di ridondanza della CPU. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 72. Variabile Tipo di dati Descrizione OB72_EV_CLASS BYTE Classe di evento e identificazioni: • B#16#78: Evento uscente • B#16#73, B#16#75, B#16#79: Evento entrante OB72_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#01, B#16#02, B#16#03, B#16#20, B#16#21, B#16#22, B#16#23, B#16#31, B#16#33, B#16#34, B#16#40, B#16#41, B#16#42, B#16#43, B#16#44, B#16#50, B#16#51, B#16#52, B#16#53, B#16#54, B#16#55, B#16#56, B#16#C1, B#16#C2) OB72_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB72_OB_NUMBR BYTE Numero di OB (72) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 47 Blocchi organizzativi 1.14 OB di errore di ridondanza della CPU (OB 72) Variabile Tipo di dati Descrizione OB72_RESERVED_1 WORD Solo per il codice di errore B#16#03: • High byte: identificazione del contenuto di OB72_INFO_2 e OB72_INFO_3 - 0: OB72_INFO-2 e OB72_INFO_3 non hanno importanza - B#16#C4: l'entrata nel funzionamento ridondante dopo la ricerca di errori è stato eseguito con commutazione della riserva master (se OB72_INFO_3=W#16#0001) oppure senza commutazione della riserva master (se OB72_INFO_3=W#16#0002). OB72_INFO_2 è riservato. - B#16#CD: OB72_INFO_2 e OB72_INFO_3 contengono il tempo effettivo di bloccaggio delle classi di priorità > 15 low byte: riservato OB72_INFO_1 WORD Soltanto per il codice di errore B#16#C2: • • high byte: identificazione per il superamento del tempo di controllo: - 1: Ritardo del tempo di ciclo - 2: Tempo morto della periferia - 4: Ritardo di comunicazione low byte: : tentativo di aggiornamento attuale OB72_INFO_2 WORD Solo per codice di errore B#16#03 e OB72_RESERVED_1=B#16#CD: high word del tempo effettivo di bloccaggio delle classi di priorità > 15 in ms OB72_INFO_3 WORD Solo per il codice di errore B#16#03: • OB72_RESERVED_1=B#16#C4: - W#16#0001: entrata nel funzionamento ridondante dopo la ricerca di errori con commutazione della riserva master - W#16#0002: entrata nel funzionamento ridondante dopo la ricerca di errori senza commutazione della riserva master OB72_RESERVED_1=B#16#CD: low word del tempo effettivo di bloccaggio delle classi di priorità > 15 in ms OB72_DATE_TIME 48 DATE_AND_TIME Data e ora in cui è stato richiamato l‘OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.14 OB di errore di ridondanza della CPU (OB 72) La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 72. OB72_EV_CLASS OB72_FLT_ID Evento di avvio dell'OB 72 B#16#73 B#16#01 Perdita di ridondanza (1v2) dovuta a guasto della CPU B#16#73 B#16#02 Perdita di ridondanza (1v2) dovuta a STOP della riserva, causato dall'utente B#16#73 B#16#03 Sistema H (1v2) passato al funzionamento ridondato B#16#73 B#16#20 Errore nel confronto della RAM B#16#73 B#16#21 Errore nel confronto del valore iniziale dell'immagine di processo B#16#73 B#16#22 Errore nel confronto di merker, temporizzatori o contatori B#16#73 B#16#23 Riconosciuti dati del sistema operativo diversi B#16#73 B#16#31 Commutazione riserva-master dovuta a guasto del master B#16#73 B#16#33 Commutazione riserva-master nel corso di una modifica all’impianto in funzione B#16#73 B#16#34 Commutazione riserva-master dovuta a un guasto del collegamento sul modulo di sincronizzazione B#16#73 B#16#40 Errore di sincronizzazione nel programma utente dovuto a tempo di attesa scaduto B#16#73 B#16#41 Errore di sincronizzazione nel programma utente dovuto ad attesa su diversi punti di sincronizzazione B#16#73 B#16#42 Errore di sincronizzazione nel sistema operativo dovuto ad attesa su diversi punti di sincronizzazione B#16#73 B#16#43 Errore di sincronizzazione nel sistema operativo dovuto a tempo di attesa scaduto B#16#73 B#16#44 Errore di sincronizzazione nel sistema operativo dovuto a dati errati B#16#79 B#16#50 Manca il modulo SYNC B#16#79 B#16#51 Modifica sul modulo di sincronizzazione senza ALIMENTAZIONE ON B#16#79/B#16#78 B#16#52 Modulo SYNC estratto/inserito B#16#79 B#16#53 Modifica sul modulo di sincronizzazione senza cancellazione totale B#16#79 B#16#54 Modulo SYNC: doppia assegnazione di un n. di telaio di montaggio B#16#79/B#16#78 B#16#55 Errore modulo SYNC /eliminato B#16#79 B#16#56 N. di telaio di montaggio non ammesso impostato sul modulo SYNC B#16#73 B#16#C1 Interruzione dell'operazione di aggiornamento B#16#73 B#16#C2 Annullamento del processo di aggiornamento per il superamento di un tempo di controllo all'n-esimo tentativo (1 <= n <= numero max. possibile di tentativi di aggiornamento dopo l'annullamento causato dal superamento del tempo ) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 49 Blocchi organizzativi 1.15 OB di errore di ridondanza di comunicazione OB (OB73) 1.15 OB di errore di ridondanza di comunicazione OB (OB73) Avvertenza L'OB di errore di ridondanza di comunicazione (OB 73) esiste solo con firmware versione V2.0.x della CPU 417-4H. Descrizione Il sistema operativo della CPU H richiama l'OB 73 alla prima perdita di ridondanza di un collegamento S7 a elevata disponibilità (collegamenti S7 ad elevata disponibilità esistono esclusivamente nella comunicazione S7, vedere "Sistema di automazione S7-400 H. Sistemi ad elevata disponibilità".). In caso di perdita di ridondanza di altri collegamenti S7 ad elevata disponibilità non viene più avviato l'OB73. Un nuovo avvio dell'OB73 verrà eseguito nuovamente solo quando è stata ristabilita la ridondanza per tutti i collegamenti S7 che erano a elevata disponibilità. La CPU non passa allo stato di funzionamento STOP, se si verifica un evento di avvio corrispondente e l'OB73 non è programmato. Dati locali dell'OB di errore di ridondanza della comunicazione Nella tabella seguente sono riportate le variabili temporanee (TEMP) dell'OB di errore di ridondanza di comunicazione. Come nomi delle variabili sono stati scelti i nomi di default dell'OB 73. Variabile Tipo di dati Descrizione OB73_EV_CLASS BYTE Classe di evento e identificazioni: B#16#73, B#16#72 OB73_FLT_ID BYTE Codice di errore (valore possibile: B#16#E0) OB73_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25 OB73_OB_NUMBR BYTE Numero di OB (73) OB73_RESERVED_1 WORD Riservato OB73_INFO_1 WORD (non rilevante per l'utente) OB73_INFO_2 WORD (non rilevante per l'utente) OB73_INFO_3 WORD (non rilevante per l'utente) OB73_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB La tabella seguente mostra quale evento ha causato l'avviamento dell'OB 73. 50 OB73_FLT_ID Evento di avvio dell'OB 73 B#16#E0 Perdita di ridondanza della comunicazione / eliminata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.16 OB di errore temporale (OB 80) 1.16 OB di errore temporale (OB 80) Descrizione Il sistema operativo della CPU chiama OB 80 ogni volta che vi è un evento che identifica un errore correlato all'esecuzione di un OB: superamento del tempo di ciclo, errore di conferma nell'esecuzione di un OB, spostamento in avanti dell'ora (salto dell'ora) per l'avvio di un OB, ritorno in RUN dopo una CiR. Per esempio, se un evento di avvio per un OB di schedulazione orologio si verifica prima che sia terminata l'esecuzione dello stesso OB, il sistema operativo richiama l'OB 80. Se OB 80 non è stato programmato, la CPU passa in modalità STOP. L'OB dell'errore temporale può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Avvertenza Se l'OB 80 viene richiamato due volte nello stesso ciclo a causa del superamento del tempo ciclo, la CPU passa in STOP. Questo inconveniente può essere evitato richiamando la SFC43 ”RE_TRIGR” nel punto adatto. Dati locali dell'OB di errore temporale La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore temporale. Come nomi di variabili sono stati scelti i nomi di default dell'OB 80. Variabile Tipo di dati Descrizione OB80_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#35 OB80_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#01, B#16#02, B#16#05, B#16#06, B#16#07, B#16#08, B#16#09, B#16#0A, B#16#0B) OB80_PRIORITY BYTE Classe di priorità: l'OB 80 viene eseguito in RUN con la classe di priorità 26 e in caso di overflow del buffer di richiesta dell'OB con la classe di priorità 28 OB80_OB_NUMBR BYTE Numero di OB (80) OB80_RESERVED_1 BYTE Riservato OB80_RESERVED_2 BYTE Riservato OB80_ERROR_INFO WORD Informazione di errore: dipendente dal codice di identificazione errore OB80_ERR_EV_CLASS BYTE Classe dell'evento che ha causato l'errore OB80_ERR_EV_NUM BYTE Numero dell'evento che ha causato l'errore OB80_OB_PRIORITY BYTE Informazione di errore: dipendente dal codice di identificazione errore OB80_OB_NUM BYTE Informazione di errore: dipendente dal codice di identificazione errore OB80_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 51 Blocchi organizzativi 1.16 OB di errore temporale (OB 80) Le variabili dipendenti dal codice di identificazione dell'errore hanno il seguente significato: Codice errore Bit B#16#01 Significato Tempo ciclo superato OB80_ERROR_INFO: Tempo esecuzione dell'ultimo ciclo (ms) OB80_ERR_EV_CLASS: Classe dell'evento che ha causato l'allarme OB80_ERR_EV_NUM: Numero dell'evento che ha causato l'allarme OB80_OB_PRIORITY: Classe di priorità dell'OB in elaborazione quando si è verificato l'errore. OB80_OB_NUM Il numero dell'OB in elaborazione quando si è verificato l'errore. B#16#02 L'OB richiamato è ancora in elaborazione. OB80_ERROR_INFO: La relativa variabile temporanea dell'OB richiamato, che è determinato da OB80_ERR_EV_CLASS e OB80_ERR_EV_NUM. OB80_ERR_EV_CLASS: Classe dell'evento che ha causato l'allarme OB80_ERR_EV_NUM: Numero dell'evento che ha causato l'allarme Classe di priorità dell'OB che ha causato l'errore (ad es.: “7” per OB30/classe di priorità 7 che avrebbe dovuto essere avviato, ma non è stato possibile avviare). OB80_OB_PRIORITY Numero dell'OB che ha causato l'errore (ad es.: "30” per l'OB30 che avrebbe dovuto essere avviato, ma non è stato possibile avviare). OB80_OB_NUM: B#16#05 e allarme dall'orologio decorso per salto dell'ora B#16#06 allarme dall'orologio decorso alla ripresentazione in RUN dopo ALT OB80_ERROR_INFO: Bit 0 impostato: per l'allarme dall'orologio 0 il momento di avvio si trova nel passato OB80_ERR_EV_CLASS: Bit 7 impostato: per l'allarme dall'orologio 7 il momento di avvio si trova nel passato Bit da 8 a 15: non utilizzato OB80_ERR_EV_NUM: OB80_OB_PRIORITY: OB80_OB_NUM: non utilizzato non utilizzato non utilizzato non utilizzato B#16#07 Per il significato dei parametri vedere il codice d'errore B#16#02. 52 Overflow del buffer di richiesta dell'OB per l'attuale classe di priorità (ogni richiesta di avvio dell'OB per la classe di priorità viene registrata nel rispettivo buffer di richiesta dell'OB; al termine dell'OB la registrazione viene cancellata di nuovo. Se per una classe di priorità sono presenti più richieste di avvio dell'OB del massimo numero possibile di registrazioni del rispettivo buffer di richiesta dell'OB, viene richiamato l'OB 80 con il codice di identificazione dell'errore B#16#07.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.16 OB di errore temporale (OB 80) Codice errore Bit Significato B#16#08 Significato dei parametri: vedere codice di errore B#16#02 Errore temporale di allarme in sincronismo di clock B#16#09 Perdita dell’allarme a causa di un elevato carico di allarmi Significato dei parametri: vedere codice di errore B#16#02. B#16#0A Rientro in RUN dopo CiR OB80_ERROR_INFO: Tempo di sincronizzazione CiR in ms B#16#0B Errore di tempo di allarme in sincronismo tecnologico OB80_ERR_EV_NUM: Numero dell'evento che ha attivato l'allarme: W#16#116A OB80_OB_PRIORITY: Classe di priorità dell'OB elaborato quando si è verificato l'errore. OB80_OB_NUM Numero dell'OB elaborato quando si ¢Õ verificato l'errore: 65 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 53 Blocchi organizzativi 1.17 OB di errore di alimentazione (OB 81) 1.17 OB di errore di alimentazione (OB 81) Descrizione Il sistema operativo della CPU richiama l'OB 81 ogni volta che si verifica un evento che identifica un errore legato all'alimentatore (solo con S7-400) o alla bufferizzazione (sia con evento entrante sia con evento uscente). In S7-400 l'OB 81 viene richiamato in caso di errore della batteria solo se è attivata la verifica della batteria con l'interruttore BATT.INDIC. La CPU non passa in STOP quando l'OB 81 non è programmato. L'OB dell'errore di alimentazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di errore di alimentazione La tabella seguente contiene le variabili temporanee (TEMPO) dell'OB dell'errore di alimentazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 81. Variabile Tipo di dati Descrizione OB81_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#38: Evento uscente B#16#39: Evento entrante OB81_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#21, B#16#22, B#16#23, B#16#25, B#16#26, B#16#27, B#16#31, B#16#32, B#16#33) OB81_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) Per Esempio: valori parametrizzablili per RUN: 2-26 OB81_OB_NUMBR Numero di OB (81) Riservato OB81_RESERVED_2 BYTE Riservato OB81_RACK_CPU • Bit da 0 a 7: B#16#00 • Bit da 8 a 15: WORD - In una CPU standard: B#16#00 - In una CPU H: bit da 8 a 10: N. telaio di montaggio, bit 11: 0=CPU di riserva, 1=CPU master, bit da 12 a 15: 1111 OB81_RESERVED_3 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_4 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_5 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_6 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_DATE_TIME 54 BYTE OB81_RESERVED_1 BYTE DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.17 OB di errore di alimentazione (OB 81) Le variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 contengono le apparecchiature di ampliamento, nelle quali la bufferizzazione a batteria (per codice identificazione di errore B#16#31), la tensione del buffer (con codice identificazione errore B#16#32) o l'alimentazione di 24V (con codice identificazione errore B#16#33) ha subito un guasto o è ritornata. La seguente tabella mostra quale bit nelle variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 appartiene a quale apparecchiatura di ampliamento. Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 OB81_RESERVED_6 OB81_RESERVED_5 OB81_RESERVED_4 OB81_RESERVED_3 riservato 1. apparecch. di ampl. 2. apparecch. di ampl. 3. apparecch. di ampl. 4. apparecch. di ampl. 5. apparecch. di ampl. 6. apparecch. di ampl. 7. apparecch. di ampl. 8. apparecch. di ampl. 9. apparecch. di ampl. 10. apparecch. di ampl. 11. apparecch. di ampl. 12. apparecch. di ampl. 13. apparecch. di ampl. 14. apparecch. di ampl. 15. apparecch. di ampl. 16. apparecch. di ampl. 17. apparecch. di ampl. 18. apparecch. di ampl. 19. apparecch. di ampl. 20. apparecch. di ampl. 21. apparecch. di ampl. Riservato Riservato riservato riservato riservato riservato riservato riservato riservato riservato I bit nelle variabili OB 81_RESERVED_i hanno il seguente significato (per la rispettiva apparecchiatura di ampliamento): All'arrivo dell'evento vengono contrassegnate (i relativi bit sono impostati) le apparecchiature di ampliamento, nelle quali almeno una batteria o la tensione del buffer o l'alimentazione di 24V ha subito un guasto. Le apparecchiature di ampliamento, nelle quali già prima almeno una batteria o una tensione del buffer o l'alimentazione di 24V hanno subito un guasto, non vengono più visualizzate. Alla partenza dell'evento viene segnalata perlomeno in una apparecchiatura di ampliamento una bufferizzazione ritornata (il rispettivo bit è impostato). La tabella seguente mostra quale evento ha causato l'avvio dell'OB 81. OB81_EV_CLASS OB81_FLT_ID Significato B#16#39/B#16#38 B#16#21 B#16#39/B#16#38 B#16#39/B#16#38 B#16#39/B#16#38 B#16#22 B#16#23 B#16#25 B#16#39/B#16#38 B#16#26 B#16#39/B#16#38 B#16#27 B#16#39/B#16#38 B#16#31 B#16#39/B#16#38 B#16#32 B#16#39/B#16#38 B#16#33 Almeno una batteria tampone dell'apparecchiatura centrale scarica/eliminata (BATTF) Avvertenza: L'evento entrante si verifica solo quando si guasta una delle due batterie (in caso di batteria tampone ridondata). Se si verifica successivamente il guasto anche dell'altra batteria, l'evento non compare nuovamente. Tensione buffer nell'apparecchiatura centrale manca/eliminata (BAF). Guasto dell'alimentazione 24V nell'apparecchiatura centrale/eliminata. Almeno una batteria tampone in almeno un'apparecchiatura centrale ridondata scarica/eliminata (BATTF). Tensione buffer in almeno un'apparecchiatura centrale ridondata scarica/eliminata (BAF). Guasto dell‘alimentazione 24V in almeno un'apparecchiatura centrale ridondata. Almeno una batteria tampone di un'apparecchiatura di ampliamento scarica/eliminata (BATTF). Tensione del buffer di una delle apparecchiature di ampliamento manca/eliminata (BAF). Guasto dell'alimentazione 24V in un'apparecchiatura di ampliamento/eliminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 55 Blocchi organizzativi 1.18 OB di allarme di diagnostica (OB 82) 1.18 OB di allarme di diagnostica (OB 82) Descrizione Un'unità con funzioni di diagnostica che identifica una modifica dello stato della stessa, richiede un allarme di diagnostica alla CPU. Nell'unità in oggetto deve essere stato abilitato l'allarme di diagnostica. • Si è in presenza di un guasto oppure uno o entrambi i componenti necessitano di manutenzione (evento in entrata). • Non si rilevano guasti, nessun componente necessita di manutenzione (evento in uscita). Dopodiché il sistema operativo richiama l'OB 82. L'OB 82 contiene, nelle sue variabili locali, l'indirizzo logico di base e un'informazione di diagnostica lunga quattro byte dell'unità difettosa (vedere la tabella seguente). Se l'OB 82 non è stato programmato, la CPU passa nello stato di funzionamento STOP. L'OB di allarme di diagnostica può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Nota Nei Controller PROFINET IO è possibile indicare tramite la progettazione se gli allarmi di comunicazione debbano provocare o no un richiamo dell’OB di diagnostica. Nel caso di questi allarmi si tratta di eventi di diagnostica dell’interfaccia PROFINET. Per default questi eventi non creano un richiamo OB 82. Dati locali dell'OB di allarme di diagnostica La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di diagnostica. Come nomi di variabili sono stati scelti i nomi di default dell'OB 82. 56 Variabile Tipo di dati Descrizione OB82_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#38: Evento uscente • B#16#39: Evento entrante OB82_FLT_ID BYTE Codice identificazione errore (B#16#42) OB82_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB82_OB_NUMBR BYTE Numero di OB (82) OB82_RESERVED_1 BYTE Riservato OB82_IO_FLAG BYTE • Unità di ingresso: B#16#54 • Unità di uscita: B#16#55 OB82_MDL_ADDR WORD Indirizzo base logico dell'unità in cui si è verificato il guasto OB82_MDL_DEFECT BOOL Disturbo unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.18 OB di allarme di diagnostica (OB 82) Variabile Tipo di dati Descrizione OB82_INT_FAULT BOOL Guasto interno OB82_EXT_FAULT BOOL Guasto esterno OB82_PNT_INFO BOOL Errore di canale presente OB82_EXT_VOLTAGE BOOL Manca tensione ausiliaria esterna OB82_FLD_CONNCTR BOOL Manca connettore frontale OB82_NO_CONFIG BOOL Unità non parametrizzata OB82_CONFIG_ERR BOOL Parametri errati nell'unità OB82_MDL_TYPE BYTE • Bit da 0 a 3: Classe unità • Bit 4: Informazione canale presente • Bit 5: Informazione utente presente • Bit 6: Allarme di diagnostica del rappresentante • Bit 7: menutenzione necessaria OB82_SUB_MDL_ERR BOOL Modulo utente errato / manca OB82_COMM_FAULT BOOL Guasto di comunicazione OB82_MDL_STOP BOOL Stato di funzionamento (0: RUN, 1: STOP) OB82_WTCH_DOG_FLT BOOL Il temporizzatore watchdog ha arrestato l'unità OB82_INT_PS_FLT BOOL Guasto alimentatore interno OB82_PRIM_BATT_FLT BOOL Batteria scarica OB82_BCKUP_BATT_FLT BOOL Intera bufferizzazione guasta OB82_RESERVED_2 BOOL Richiesta di manutenzione OB82_RACK_FLT BOOL Guasto dell'apparecchiatura di ampliamento OB82_PROC_FLT BOOL Guasto processore OB82_EPROM_FLT BOOL Errore EPROM OB82_RAM_FLT BOOL Errore RAM OB82_ADU_FLT BOOL Errore ADU/DAU OB82_FUSE_FLT BOOL Guasto fusibile OB82_HW_INTR_FLT BOOL Interrupt di processo perso OB82_RESERVED_3 BOOL Riservato OB82_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 57 Blocchi organizzativi 1.19 OB di estrazione/inserimento (OB 83) 1.19 OB di estrazione/inserimento (OB 83) Descrizione Il sistema operativo della CPU richiama l’OB 83 nei seguenti casi: • dopo l’estrazione o l’inserimento di un’unità progettata • dopo aver modificato dei parametri di un’unità in STEP 7 nel corso di una modifica all’impianto in funzione (operazione CiR) ed aver caricato queste modifiche di parametri nella CPU in RUN. Se non è stato programmato l'OB 83, la CPU commuta nello stato di funzionamento STOP. L’OB di l’estrazione/inserimento può essere disabilitato o ritardato e abilitato di nuovo con l’aiuto delle SFC da 9 a 42. Estrazione ed inserimento di unità Ogni estrazione e inserimento di un'unità progettata (non ammesse: unità di alimentazione, CPU, capsule di adattamento e IM) negli stati di funzionamento RUN, STOP e AVVIAMENTO provoca un allarme di estrazione/inserimento. Questo allarme determina una registrazione rispettivamente nel buffer di diagnostica e nella lista di stato di sistema della rispettiva CPU. Inoltre, nello stato di funzionamento RUN viene avviato l'OB di estrazione/inserimento. Se questo OB non è stato programmato, la CPU passa nel modo di funzionamento STOP. L’operazione di estrazione/l’inserimento di unità S7-400 nel sistema viene sorvegliata secondo per secondo. Affinché la CPU rilevi l’estrazione e l’inserimento di un’unità S7-400, tra le due operazioni deve intercorrere un tempo minimo di due secondi. Altre unità richiedo un intervallo più lungo. L'OB 83 viene avviato quando si estrae nello stato di funzionamento RUN una unità progettata. È possibile identificare prima un errore durante l'accesso diretto o l'aggiornamento dell'immagine di processo. Quando si inserisce una unità in un posto connettore progettato nello stato RUN, il sistema operativo verifica se il tipo dell'unità innestata coincide con la progettazione. Successivamente viene avviato l'OB 83, e, in caso di corrispondenza dei tipi di unità, ha luogo la parametrizzazione. Particolarità dell'S7-300 58 • L'estrazione e l'inserimento di unità della periferia centrale non sono consentiti nell'S7-300. • La CPU 318 si comporta, per quanto concerne la periferia decentrata, come una CPU S7-400. Per quanto riguarda tutte le altre CPU S7-300, soltanto le CPU 31x PN/DP, e soltanto per i componenti IO PROFINET, sono dotate dell'allarme di estrazione e inserimento. • Nelle CPU/IM151 (CPU dell'ET 200S), l'allarme di estrazione e inserimento è disponibile soltanto per la periferia a livello centrale. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.19 OB di estrazione/inserimento (OB 83) Riparametrizzazione di unità Le unità presenti possono essere riparametrizzate nel corso di una modifica all’impianto in funzione (operazione CiR). La riparametrizzazione prevede il trasferimento dei record dati dei parametri nelle unità desiderate. Si svolge come segue: 1. L’OB 83 si avvia dopo l’esecuzione della modifica dei parametri di un’unità in STEP 7 ed il loro caricamento nella CPU in RUN (evento di avvio W#16#3367). Tra le informazioni di avvio dell’OB sono importanti l’indirizzo logico di base (OB83_MDL_ADDR) e il tipo di unità (OB83_MDL_TYPE). Da questo momento i dati di ingresso e di uscita possono non essere più corretti e possono non esservi più SFC attive che inviano record dati a questa unità. 2. Al termine dell’OB segue la riparametrizzazione dell’unità. 3. Al termine dell’operazione di riparametrizzazione l’OB 83 viene nuovamente avviato (evento di avvio W#16#3267 in caso di parametrizzazione riuscita, o W#16#3268 in caso di parametrizzazione non riuscita). I dati di ingresso e di uscita dell’unità si comportano come dopo un allarme di inserimento, vale a dire che in alcuni casi da quel momento possono non essere corretti. È ammesso il richiamo immediato delle SFC per l’invio dei record dati all’unità. Dati locali dell'OB di estrazione/ inserimento La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di estrazione/inserimento. Come nomi di variabili sono stati scelti i nomi di default dell'OB 83. Variabile Tipo di dati Descrizione OB83_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#32: fine riparametrizzazione unità • B#16#33: inizio riparametrizzazione unità • B#16#38: unità inserita • B#16#39: unità estratta o non indirizzabile o fine riparametrizzazione OB83_FLT_ID BYTE Codice di errore (valori possibili: B#16#51, B#16#54, B#16#55, B#16#56, B#16#58, B#16#61, B#16#63, B#16#64, B#16#65, B#16#66, B#16#67, B#16#68) OB83_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB83_OB_NUMBR BYTE Numero di OB (83) OB83_RESERVED_1 BYTE OB83_MDL_TD OB83_MDL_ADDR BYTE WORD Identificazione per l'unità o il sotto-modulo/modulo di interfaccia Campo: • B#16#54: area periferia degli ingressi (PI) • B#16#55: area periferia delle uscite (PU) • PROFIBUS DP centrale o decentrato: indirizzo logico di base dell'unità. In caso di unità mista, indirizzo logico più basso utilizzato dell'unità. Se gli indirizzi logici E e A dell'unità mista sono uguali, l'indirizzo logico di base avrà l'identificazione "E". • PROFINET IO decentrato: indirizzo logico di base del modulo/sotto-modulo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 59 Blocchi organizzativi 1.19 OB di estrazione/inserimento (OB 83) Variabile Tipo di dati Descrizione OB83_RACK_NUM WORD • Se OB83_RESERVED_1 =B#16#A0: N. del sotto-modulo/modulo di interfaccia /low byte) • Se OB83_RESERVED_1 = B#16#C4: OB83_MDL_TYPE WORD • • OB83_DATE_TIME 60 - Centrale: n. del telaio di montaggio - PROFIBUS DP decentrato: n. della stazione DP (low byte) e ID del sistema master DP (high byte) - PROFINET IO decentrato: indirizzo fisico: bit di identificazione (bit 15, 1 = PROFINET IO), ID di sistema IO (bit da 11 a 14) e numero stazione (bit da 0 a 10) PROFIBUS DP centrale o decentrato: Tipo di unità interessata (X: non rilevante per l'utente): - W#16#X5XX: unità analogica - W#16#X8XX: unità funzionale - W#16#XCXX: CP - W#16#XFXX: unità digitale - W#16#8340: ID di sostituzione per l'unità di ingresso - W#16#9340: ID di sostituzione per l'unità di uscita - W#16#A340: ID di sostituzione per l'unità mista (I/O) - W#16#F340: ID di sostituzione per l'unità vuota o non identificabile (p. es con indirizzi compressi) PROFINET IO decentrato: - W#16#8101: il tipo di unità inserito è uguale al tipo di unità estrattp - W#16#8102: il tipo di unità inserito è diverso dal tipo di unità estratto DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.19 OB di estrazione/inserimento (OB 83) La tabella seguente mostra quale evento ha causato l'avvio dell'OB 83. OB83_EV_CLASS OB83_FLT_ID Significato B#16#39 B#16#51 Modulo PROFINET IO estratto B#16#39 B#16#54 Sotto-modulo PROFINET IO estratto B#16#38 B#16#54 Sotto-modulo PROFINET IO inserito e conforme al sotto-modulo parametrizzato B#16#38 B#16#55 Sotto-modulo PROFINET IO inserito ma non conforme al sotto-modulo parametrizzato B#16#38 B#16#56 Sotto-modulo PROFINET IO inserito ma errore di parametrizzazione dell'unità B#16#38 B#16#58 Errore di accesso al sotto-modulo PROFINET IO eliminato B#16#39 B#16#61 Unità estratta o non indirizzabile OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#61 Unità inserita, tipo unità ok OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#63 Unità inserita, ma tipo unità errato OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#64 Unità inserita, ma guasta (identificazione unità non leggibile) OB83_MDL_TYPE: tipo unità configurato B#16#38 B#16#65 Unità inserita, ma errore nella parametrizzazione unità OB83_MDL_TYPE: tipo unità attuale B#16#39 B#16#66 Unità non indirizzabile, errore di tensione di carico B#16#38 B#16#66 Unità nuovamente indirizzabile, errore di tensione di carico eliminato B#16#33 B#16#67 Inizio riparametrizzazione unità B#16#32 B#16#67 Fine riparametrizzazione unità B#16#39 B#16#68 Riparametrizzazione unità conclusa con errori Avvertenza Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 61 Blocchi organizzativi 1.20 OB di errore hardware CPU (OB 84) 1.20 OB di errore hardware CPU (OB 84) Descrizione Il sistema operativo della CPU richiama l'OB 84 nei seguenti casi: • Dopo aver riconosciuto ed eliminato errori di memoria • S7-400H: in caso di riduzione delle prestazioni dell'accoppiamento di ridondanza tra le due CPU • In WinAC RTX: errore nel sistema operativo del PC, ad es. blue screen • Se non è stato programmato l'OB 84, la CPU commuta nello stato di funzionamento STOP. L'OB di errore hardware CPU può essere inibito o ritardato e quindi riabilitato per mezzo delle SFC da 39 a 42. Dati locali dell'OB di errore hardware della CPU La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore hardware CPU. Come nomi di variabili sono stati scelti i nomi di default dell'OB 84. Variabile Tipo Descrizione OB84_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#38: evento uscente • B#16#35, B#16#39: evento entrante OB84_FLT_ID BYTE Codice di errore (B#16#82, B#16#83, B#16#85, B#16#86, B#16#87) OB84_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB84_OB_NUMBR BYTE Numero di OB (84) OB84_RESERVED_1 BYTE Riservato OB84_RESERVED_2 BYTE Riservato OB84_RESERVED_3 WORD Riservato OB84_RESERVED_4 DWORD Riservato OB84_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB La tabella seguente mostra quale evento ha causato l'avvio dell'OB 84. 62 OB84_EV_CLASS OB84_FLT_ID Evento di avvio dell'OB 84 B#16#35 B#16#82 Errore di memoria riconosciuto ed eliminato dal sistema operativo B#16#35 B#16#83 Accumulo di errori di memoria riconosciuti e corretti B#16#35 B#16#85 Errore nel sistema operativo del PC B#16#39 B#16#86 Prestazioni di un accoppiamento H-Sync compromesse B#16#35 B#16#87 Errore di memoria a più bit riconosciuto e corretto Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.21 OB di errore esecuzione programma (OB 85) 1.21 OB di errore esecuzione programma (OB 85) Descrizione Il sistema operativo della CPU richiama l'OB 85 se si presenta uno dei seguenti eventi: • Evento di avvio per un OB non caricato (eccetto OB 80, OB 81, OB 82, OB 83 e OB 86) • Errore di accesso del sistema operativo ad un blocco • Errore di accesso alla periferia all'aggiornamento dell'intera immagine di processo (nel caso in cui il richiamo di OB85 non è stato soppresso mediante la progettazione) . Avvertenza Se l'OB 85 non è stato programmato, la CPU passa nel modo di funzionamento STOP se si presenta uno dei suddetti eventi. L'OB di errore di esecuzione programma può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto della SFC da 39 a 42. Dati locali dell'OB di errore esecuzione programma La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di esecuzione del programma. Come nomi di variabili sono stati scelti i nomi di default dell'OB 85. Variabile Tipo di dati Descrizione OB85_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#35, B#16#39 (solo con codici di identificazione errore B#16#B3 e B#16#B4), B#16#39 (solo con codici di identificazione errore B#16#B1, B#16#B2, B#16#B3 e B#16#B4) OB85_FLT_ID BYTE Codice di errore (valori possibili: B#16#A1, B#16#A2, B#16#A3, B#16#A4, B#16#B1, B#16#B2, B#16#B3, B#16#B4) OB85_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB85_OB_NUMBR BYTE Numero di OB (85) OB85_RESERVED_1 BYTE Riservato OB85_RESERVED_2 BYTE Riservato OB85_RESERVED_3 INT Riservato OB85_ERR_EV_CLAS S BYTE Classe dell'evento che ha generato l'errore OB85_ERR_EV_NUM BYTE Numero dell'evento che ha generato l'errore OB85_OB_PRIOR BYTE Classe di priorità dell'OB in corso di esecuzione quando si è verificato l'errore (soltanto in alcuni codici di errore, per informazionii più dettagliate vedere quanto riportato nel seguito) OB85_OB_NUM BYTE Numero di OB per l'OB in corso di esecuzione quando si è verificato l'errore (soltanto in alcuni codici di errore, per informazionii più dettagliate vedere quanto riportato nel seguito) OB85_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 63 Blocchi organizzativi 1.21 OB di errore esecuzione programma (OB 85) Se si intende programmare l'OB 85 in funzione dei possibili codici di identificazione dell'errore, si consiglia di organizzare le variabili locali nel modo seguente: Variabile Tipo di dati OB85_EV_CLASS BYTE OB85_FLT_ID BYTE OB85_PRIORITY BYTE OB85_OB_NUMBR BYTE OB85_DKZ23 BYTE OB85_RESERVED_2 BYTE OB85_Z1 WORD OB85_Z23 DWORD OB85_DATE_TIME DATE_AND_TIME La tabella seguente indica quale evento ha causato l'avvio dell'OB 85 nonché l'assegnazione dei valori alle variabili dipendenti dal codice di errore OB85_EV_CLASS OB85_FLT_ID Significato B#16#35 B#16#A1 B#16#35 B#16#A2 Il programma utente o il sistema operativo (a causa della progettazione dell'utente con STEP 7) crea un evento di avvio per un OB che non è caricato nella CPU. • OB85_Z1: variabile temporanea relativa all'OB richiamato, determinato dall'OB85_Z23. • OB85_Z23: - High word: classe e numero dell'evento causante - low word, high byte: livello di programma attivo low word, low byte: OB attivo Il programma utente o il sistema operativo (a causa della progettazione dell'utente con STEP 7) crea un evento di avvio per un OB che non è caricato nella CPU. OB85_Z1 e OB85_Z23 come per OB85_FLT_ID=B#16#A1 B#16#35 B#16#A3 Errore durante l'accesso del sistema operativo a un blocco OB85_Z1: identificazione errore del sistema operativo • 64 - high byte: 1= funzione integrata, 2=temporizzatore IEC - low byte: 0= nessuna risoluzione dell'errore, 1= blocco non caricato, 2= errore lunghezza settore, 3= errore protezione scrittura OB85_Z23: - High word: numero blocco - low word: indirizzo relativo del comando MC7 che causa l'errore. Il tipo di blocco va rilevato dall'OB 85_DKZ23 (B#16#88: OB, B#16#8C: FC, B#16#8E: FB, B#16#8A: DB). B#16#35 B#16#A4 DB di interfaccia PROFINET non indirizzabile B#16#34 B#16#A4 DB di interfaccia PROFINET non indirizzabile Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.21 OB di errore esecuzione programma (OB 85) OB85_EV_CLASS OB85_FLT_ID Significato B#16#39 B#16#B1 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di processo degli ingressi • OB85_DKZ23: identificazione del tipo di trasferimento dell'immagine di processo con cui si è verificato l'errore - B#16#10: accesso a byte - B#16#20: accesso a parola - B#16#30: accesso a doppia parola - B#16#57: trasferimento di un'area di coerenza progettata • OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico dell'unità Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27). • OB85_Z23: - Byte 0: n. dell'immagine parziale di processo - Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30; lunghezza dell'area di coerenza in byte se l'OB85_DKZ23=B#16#57 Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla periferia, se l'OB85_DKZ23=B#16#10, 20 o 30; indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57 B#16#39 B#16#B2 Errore di accesso alla periferia durante il trasferimento dell'immagine di processo delle uscite alle unità di uscita OB85_DKZ23, OB85_Z1 e OB85_Z23 come per OB85_FLT_ID=B#16#B1 Vengono emessi i codici di identificazione dell‘errore B#16#B1 e B#16#B2 nel caso sia stato programmato il richiamo ripetuto dell'OB 85 degli errori di accesso alla periferia per l'aggiornamento dell‘immagine di processo da parte del sistema. B#16#39/B#16#38 B#16#B3 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di processo degli ingressi in entrata/in uscita • OB85_DKZ23: identificazione del tipo di trasferimento dell'immagine di processo con cui si è verificato l'errore - B#16#10: accesso a byte - B#16#20: accesso a parola - B#16#30: accesso a doppia parola - B#16#57: trasferimento di un'area di coerenza progettata • OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico dell'unità Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27). • OB85_Z23: - Byte 0: n. dell'immagine parziale di processo - Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30; lunghezza dell'area di coerenza in byte se l'OB85_DKZ23=B#16#57 Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla periferia, se l'OB85_DKZ23=B#16#10, 20 o 30; indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 65 Blocchi organizzativi 1.21 OB di errore esecuzione programma (OB 85) OB85_EV_CLASS OB85_FLT_ID Significato B#16#39/B#16#38 B#16#B4 Errore di accesso alla periferia durante il trasferimento dell'immagine di processo delle uscite alle unità di uscita OB85_DKZ23, OB85_Z1, OB85_Z23 come per OB85_FLT_ID=B#16#B3 Vengono emessi i codici di identificazione dell‘errore B#16#B3 e B#16#B4 nel caso in cui, per l'aggiornamento dell‘immagine di processo da parte del sistema, sia stato progettato il richiamo dell'OB 85 solo in caso di errori di accesso alla periferia entranti e uscenti. Dopo l'avviamento a freddo o il nuovo avviamento (avviamento a caldo), con il successivo aggiornamento dell'immagine di processo vengono segnalati come errori di accesso alla periferia entranti tutti gli accessi agli ingressi e uscite non presenti. 66 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) 1.22 OB di guasto telaio di montaggio (OB 86) Descrizione Il sistema operativo della CPU richiama l'OB 86 nei seguenti casi: • Riconoscimento guasto (sia con evento entrante che uscente).ad un'apparecchiatura di ampliamento centrale (non nell'S7 300). • Riconoscimento guasto ad un sistema master DP (sia con evento entrante che uscente). • Riconoscimento guasto ad una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) (sia con evento entrante che uscente). • Disattivazione, da parte dell'utente, di una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) con l'SFC 12 "D_ACT_DP" tramite MODE=4 • .Attivazione, da parte dell'utente, di una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) con l'SFC 12 "D_ACT_DP" tramite MODE=4 Se l'OB 86 non è stato programmato e se si presenta un errore simile, la CPU passa nello stato di funzionamento STOP. L'OB 86 può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di guasto del telaio di montaggio La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di guasto del telaio di montaggio. Come nomi di variabili sono stati scelti i nomi di default dell'OB 86. Variabile Tipo di dati Descrizione OB86_EV_CLASS BYTE Classe di evento e identificazione: • B#16#32: Attivazione di una stazione con l'SFC 12 "D_ACT_DP" tramite MODE=3 • B#16#33: Disattivazione di una stazione con l'SFC 12 "D_ACT_DP" tramiteMODE=4 • B#16#38: Evento uscente • B#16#39: Evento entrante OB86_FLT_ID BYTE Codice di errore (valori possibili: B#16#C1, B#16#C2, B#16#C3, B#16#C4, B#16#C5, B#16#C6, B#16#C7, B#16#C8, B#16#C9, B#16#CA, B#16#CB, B#16#CC, B#16#CD, B#16#CE, B#16#CF) OB86_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB86_OB_NUMBR BYTE Numero di OB (86) OB86_RESERVED_1 BYTE Riservato OB86_RESERVED_2 BYTE Riservato OB86_MDL_ADDR WORD Dipendente dal codice di identificazione errore ARRAY [0 ..31] Dipendente dal codice di identificazione errore OB86_RACKS_FLTD OF BOOL OB86_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 67 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) Se si intende programmare l'OB 86 in funzione dei codici di identificazione errore possibili, si consiglia di organizzare le variabili locali nel modo seguente: Variabile Tipo di dati OB86_EV_CLASS BYTE OB86_FLT_ID BYTE OB86_PRIORITY BYTE OB86_OB_NUMBR BYTE OB86_RESERVED_1 BYTE OB86_RESERVED_2 BYTE OB86_MDL_ADDR WORD OB86_Z23 DWORD OB86_DATE_TIME DATE_AND_TIME La tabella seguente mostra quale evento ha causato l'avvio dell'OB 86. OB86_EV_CLASS OB86_FLT_ID Significato B#16#39 B#16#C1 Guasto apparecchiatura di ampliamento • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni apparecchiatura di ampliamento possibile. Vengono segnalate come guaste (sono impostati i bit corrispondenti) le apparecchiature di ampliamento che hanno causato il richiamo dell'OB 86. Le apparecchiature di ampliamento già guaste in precedenza non vengono più visualizzate. - B#16#38 B#16#C1 Bit 0: sempre 0 - Bit 1: apparecchiatura di ampliamento 1 - : - Bit 21: apparecchiatura di ampliamento 21 - Bit 22 … 29: sempre 0 - Bit 30: guasto di almeno un'apparecchiatura di ampliamento nel campo SIMATIC S5 - Bit 31: sempre 0 Ritorno apparecchiatura di ampliamento OB86_MDL_ADDR come per OB86_FLT_ID=B#16#C1. In OB86_Z23 vengono segnalate le apparecchiature di ampliamento ritornate (i bit corrispondenti sono impostati). B#16#38 68 B#16#C2 Ritorno apparecchiatura di ampliamento (guasto apparecchiatura di ampliamento uscente con scostamento configurazione prefissata/attuale) • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni apparecchiatura di ampliamento possibile, vedere OB86_FLT_ID B#16#C1. Significato di un bit impostato: nell'apparecchiatura di ampliamento corrispondente: - Sono presenti unità con identificazione errata del tipo - mancano unità progettate - almeno un'unità è difettosa. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) OB86_EV_CLASS OB86_FLT_ID Significato B#16#39 B#16#C3 Periferia decentrata: guasto di un sistema master DP. Solo un evento entrante causa l'avvio dell'OB 86 con il codice di errore B#16#C3. Un evento uscente provoca l'avvio dell'OB 86 con codice di errore B#16#C4 e classe di evento B#16#38. Il ritorno di ogni stazione DP subordinata ha come conseguenza l'avvio di un OB 86. OB86_MDL_ADDR: indirizzo logico di base del master DP • B#16#39/B#16#38 B#16#C4 • B#16#C6 B#16#38 B#16#C6 Bit 0 … 7: riservati - Bit 8 … 15: ID sistema master DP - Bit 16 … 31: riservati Guasto di una stazione DP • B#16#38 OB86_Z23: ID del sistema master DP: - OB86_MDL_ADDR: indirizzo logico di base del master DP OB86_Z23: indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base di uno slave S7 o indirizzo di diagnostica di uno slave standard DP - Bit 31: identificazione I/O Ripristino di una stazione DP, tuttavia stazione guasta OB86_MDL_ADDR e OB86_Z23 come in FLT_ID=B#16#C4 Ritorno di apparecchiatura di ampliamento ma errore nella parametrizzazione delle unità • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni possibile apparecchiatura di ampliamento: - Bit 0: sempre 0 - Bit 1: apparecchiatura di ampliamento 1: - : - Bit 21: apparecchiatura di ampliamento 21 - Bit 22 … 30: riservati - Bit 31: sempre 0 Significato di un bit impostato: nell'apparecchiatura di ampliamento corrispondente B#16#38 B#16#C7 - Sono presenti unità con identificazione errata - sono presenti unità con parametri mancanti o errati. Ritorno di una stazione DP ma errore nella parametrizzazione delle unità • OB86_MDL_ADDR: indirizzo logico di base del master DP • Indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base dello slave DP - Bit 31: identificazione I/O Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 69 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) OB86_EV_CLASS OB86_FLT_ID Significato B#16#38 B#16#C8 Ritorno di una stazione DP ma con scostamento tra configurazione prefissata/attuale • • B#16#32/B#16#33 B#16#39 B#16#39/38 B#16#38 B#16#C9 OB86_Z23: indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base dello slave DP - Bit 31: identificazione I/O Attivazione/Disattivazione di uno slave DP con l'SFC 12 "D_ACT_DP" tramite MODE=3/MODE=4 B#16#CA • OB86_MDL_ADDR: indirizzo di base logico del master DP • OB86_Z23: indirizzo dello slave DP corrispondente: - Bit 0 ... 7: N. della stazione DP - Bit 8 ... 15: ID del master DP - Bit 16 … 30: indirizzo di base logico di uno slave S7 o indirizzo di diagnostica di uno slave standard DP - Bit 31: identificazione I/O Guasto del sistema PROFINET IO B#16#CB • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ... 10: 0 (numero dispositivo) - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 31: 0 Guasto/ripristino della stazione PROFINET IO B#16#CC • OB86_RESERVED_1: B#16#C4 • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ... 10: numero stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Ripristino della stazione PROFINET IO con guasto • 70 OB86_MDL_ADDR: indirizzo logico di base del master DP OB86_RESERVED_1: B#16#C4 • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ... 10: numero della stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) OB86_EV_CLASS OB86_FLT_ID Significato B#16#38 B#16#CD B#16#38 B#16#32/B#16#33 B#16#CE B#16#CF Ripristino della stazione PROFINET IO, la configurazione prefissata diverge da quella attuale • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ...10: numero della stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 .. 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Ripristino della stazione PROFINET IO, errore di parametrizzazione dell'unità • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ... 10: numero della stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Attivazione/Disattivazione di un PROFINET IO-Device con l'SFC 12 "D_ACT_DP" tramite MODE=3/MODE=4 • OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller • OB86_Z23: - Bit 0 ... 10: numero della stazione - Bit 11... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Avvertenza Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 71 Blocchi organizzativi 1.23 OB di errore di comunicazione (OB 87) 1.23 OB di errore di comunicazione (OB 87) Descrizione Il sistema operativo della CPU richiama OB 87 ogni volta che si verifica un evento che identifica un errore legato alla comunicazione. Se l'OB 87 non è stato programmato e si verifica un evento di avvio per l'OB 87, la CPU si comporta come segue: • Una CPU S7-300 commuta nelllo stato di funzionamento STOP. • Una CPU S7-400 commuta nelllo stato di funzionamento STOP. L'OB di errore di comunicazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di errore di comunicazione La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di comunicazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 87. Variabile Tipo di dati Descrizione OB87_EV_CLASS BYTE Classe d'evento e identificazioni B#16#35 OB87_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#D2, B#16#D3, B#16#D4, B#16#D5, B#16#E1, B#16#E2, B#16#E3, B#16#E4, B#16#E5, B#16#E6) OB87_PRIORITY BYTE OB87_OB_NUMBR BYTE Numero di OB (87) OB87_RESERVED_1 BYTE Riservato OB87_RESERVED_2 BYTE Riservato OB87_RESERVED_3 WORD Dipendente dal codice di identificazione errore OB87_RESERVED_4 DWORD Dipendente dal codice di identificazione errore OB87_DATE_TIME 72 Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.23 OB di errore di comunicazione (OB 87) Le variabili dipendenti dal codice di identificazione errore hanno il seguente significato: Codice errore Byte/Word Significato B#16#D2: La trasmissione delle registrazioni di diagnostica non è attualmente possibile. B#16#D3 I telegrammi di sincronizzazione non possono essere trasmessi (master). B#16#D4: Salto di ora non ammesso a causa della sincronizzazione dell'ora B#16#D5 Errore nell'assunzione del tempo di sincronizzazione (slave) Non contiene nessuna ulteriore informazione OB87_RESERVED_3: Non contiene nessuna ulteriore informazione OB87_RESERVED_4: B#16#E1: Identificazione errata di telegramma nella comunicazione dei dati globali B#16#E3: Errore lunghezza telegramma nella comunicazione dei dati globali B#16#E4: Ricevuto numero di pacchetto GD non ammesso Identificazione interfaccia (0: bus K, 1: MPI) OB87_RESERVED_3: OB87_RESERVED_4: high byte: Numero circuito GD low byte: Non contiene nessuna ulteriore informazione Lo stato del pacchetto GD non è registrabile in un DB B#16#E2: Numero DB OB87_RESERVED_3: OB87_RESERVED_4: high word: Non contiene nessuna ulteriore informazione low word: • Numero circuito GD (high byte) • Numero pacchetto GD (low-byte) Errore di accesso a DP per lo scambio dati tramite blocchi funzionali di comunicazione B#16#E5: Riservato per impiego interno della CPU OB87_RESERVED_3: OB87_RESERVED_4: high word: Numero del blocco con il comando MC7 che causa l'errore low word: Indirizzo relativo del comando MC7 che causa l'errore Il tipo di blocco va rilevato da OB87_RESERVED_1 (B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB). Codice errore Significato B#16#E6: Lo stato generale di GD non è registrabile in DB. OB87_RESERVED_3: Numero DB OB87_RESERVED_4: Non contiene nessuna ulteriore informazione Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 73 Blocchi organizzativi 1.24 OB di interruzione di elaborazione (OB 88) 1.24 OB di interruzione di elaborazione (OB 88) Descrizione Il sistema operativo della CPU richiama l’OB 88 nel caso in caso di interruzione dell’elaborazione di un modulo di programma. Le possibili cause di interruzione sono: • Livello di annidamento eccessivo in caso di errori di sincronizzazione • Livello di annidamento eccessivo di richiami di blocco (stack U) • Errore di allocazione di dati locali Se si verifica un’interruzione di elaborazione nel caso in cui l’OB 88 non sia programmato, la CPU passa in modalità STOP (Evento W#16#4570). La CPU passa in modalità STOP se l’interruzione di elaborazione si verifica nella classe di priorità 28. L’OB di interruzione elaborazione può essere disabilitato o ritardato e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali per OB di interruzione elaborazione La tabella seguente contiene le variabili temporanee (TEMP) per l’OB di interruzione elaborazione. Come nomi di variabili sono stati scelti i nomi di default di OB 88. Variabile Tipo di dati Descrizione OB88_EV_CLASS BYTE Classe d’evento e identificazioni: B#16#35 OB88_EW_FLT BYTE Codice di errore valori possibili: • B#16#71: profondità di annidamento troppo elevata del livello di parentesi • B#16#72: profondità di annidamento troppo elevata del master Control Relais • B#16#73: Profondità di annidamento troppo elevata con errori di sincronizzazione • B#16#74: Profondità di annidamento troppo elevata dei richiami dei blocchi (stack U) • B#16#75: Profondità di annidamento troppo elevata dei richiami dei blocchi (stack B) • B#16#76: Errore durante la localizzazione dei dati locali • B#16#78: Istruzione sconosciuta • B#16#7A:Istruzione di salto al di fuori del blocco Consultare la lista operazioni della CPU per informazioni sui codici di errore validi.. 74 OB88_PRIORITY BYTE Classe di priorità: 28 OB88_OB_NUMBR BYTE Numero OB (88) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.24 OB di interruzione di elaborazione (OB 88) Variabile Tipo di dati Descrizione OB88_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l’errore: • B#16#88: OB • B#16#8C: FC • B#16#8E: FB • B#16##00: punto di interruzione non individuabile OB88_RESERVED_1 BYTE Riservato OB88_FLT_PRIORITY BYTE Classe di priorità dell’OB che causa l’errore OB88_FLT_OB_NUMBR BYTE Numero dell’OB che causa l’errore OB88_BLK_NUM WORD Numero del blocco con il comando MC7 che causa l’errore OB88_PRG_ADDR WORD Indirizzo relativo del comando MC7 che causa l’errore OB88_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 75 Blocchi organizzativi 1.25 OB di priorità bassa (OB 90) 1.25 OB di priorità bassa (OB 90) Descrizione S7 offre il controllo di un tempo ciclo massimo e garantisce l'osservanza di un tempo ciclo minimo. Se il tempo di esecuzione dell'OB 1, comprese tutte le esecuzioni di interrupt e le attività del sistema annidate, è inferiore rispetto al tempo ciclo minimo assegnato • il sistema operativo richiama l'OB di priorità bassa (se presente sulla CPU) • il sistema operativo ritarda il successivo avviamento dell'OB 1 (se l'OB 90 non è presente sulla CPU). Funzionamento dell'OB 90 di sfondo L'OB 90 ha la priorità più bassa rispetto a tutti gli altri OB. Esso viene interrotto da ogni attività di sistema e ogni elaborazione di allarme (anche dall'OB 1 dopo che è trascorso il tempo ciclo minimo). Una eccezione è costituita dalla elaborazione delle SFC e degli SFB, che vengono avviati nell'OB 90. Questi vengono elaborati con la priorità dell'OB 1 e perciò non vengono interrotti dall'esecuzione dell'OB 1. Non avviene alcun controllo del tempo dell'OB 90. Il programma utente nell'OB 90 viene elaborato a partire dal primo comando nei seguenti casi: • dopo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo o un riavviamento • dopo il caricamento o la cancellazione di un blocco (con STEP 7) • dopo il caricamento dell'OB 90 nella CPU nello stato di funzionamento RUN • dopo aver terminato il ciclo di priorità bassa. Avvertenza In progettazioni in cui il tempo ciclo minimo ed il tempo di controllo ciclo sono molto vicini, quando vengono richiamate le SFC e gli SFB è possibile che nell'OB di priorità bassa si verifichino superamenti imprevisti del tempo ciclo. 76 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.25 OB di priorità bassa (OB 90) Dati locali degli OB 90 di sfondo La tabella seguente contiene le variabili temporanee (TEMP) degli OB 90. Come nomi di variabili sono stati scelti i nomi di default dell'OB 90. Variabile Tipo di dati Descrizione OB90_EV_CLASS BYTE Classe d'evento e identificazioni B#16#11: attivo OB90_STRT_INF BYTE • B#16#91: nuovo avviamento (avviamento a caldo)/avviamento a freddo/riavviamento • B#16#92: cancellazione di un blocco • B#16#93: caricamento dell'OB 90 nella CPU nello stato RUN • B#16#95: conclusione ciclo di sfondo OB90_PRIORITY BYTE OB90_OB_NUMBR BYTE Classe di priorità: 29 (corrisponde alla priorità 0.29) Numero di OB (90) OB90_RESERVED_1 BYTE Riservato OB90_RESERVED_2 BYTE Riservato OB90_RESERVED_3 INT Riservato OB90_RESERVED_4 INT Riservato OB90_RESERVED_5 INT Riservato OB_90_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 77 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) 1.26 OB di avviamento (OB 100, OB 101 e OB 102) Tipi di avviamento Si distingue tra i tipi di avviamento seguenti: • Riavviamento (non con S7-300 e S7-400H) • Nuovo avviamento (avviamento a caldo). • Avviamento a freddo Dalla tabella seguente si può vedere quale OB viene richiamato dal sistema operativo all'avviamento. Tipo di avviamento Rispettivo OB Riavviamento OB 101 Nuovo avviamento (avviamento a caldo) OB 100 Avviamento a freddo OB 102 Informazioni più dettagliate sui tipi di avviamento sono riportate nei manuali "Programmazione con STEP 7” e ”Configurazione dell'hardware e progettazione dei collegamenti con STEP 7" e "Sistema di automazione S7-400H". Eventi di avvio per l‘avviamento La CPU esegue un avviamento • dopo ALIMENTAZIONE ON • se il selettore dei modi operativi viene commutato da STOP a RUN/RUN-P • dopo la richiesta tramite una funzione di comunicazione (tramite comando del menù da PG o tramite richiamo dei blocchi funzionali di comunicazione 19 ”START” o 21 ”RESUME” su un'altra CPU). • mediante sincronizzazione in funzionamento multicomputing • in un sistema H dopo l'accoppiamento (solo sulla CPU di riserva) A seconda dell'evento di avvio della CPU presente o dei suoi parametri registrati viene richiamato il rispettivo OB di avviamento (OB 100, OB 101 e OB 102). In esso si possono eseguire le preimpostazioni per il proprio programma ciclico (eccezione: con un sistema H viene eseguito un avviamento sulla CPU di riserva dopo l'accoppiamento, tuttavia senza il richiamo di un OB di avviamento. 78 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) Dati locali degli OB di avviamento La tabella seguente contiene le variabili temporanee (TEMP) di un OB di avviamento. Come nomi di variabili sono stati scelti i nomi di default. Variabile Tipo di dati Descrizione OB10x_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#13: attivo OB10x_STRTUP BYTE Richiesta di avviamento: • B#16#81: richiesta manuale di nuovo avviamento (avviamento a caldo) • B#16#82: richiesta automatica di nuovo avviamento (avviamento a caldo) • B#16#83: richiesta manuale di riavviamento • B#16#84: richiesta automatica di riavviamento • B#16#85: richiesta manuale di avviamento a freddo • B#16#86: richiesta automatica di avviamento a freddo • B#16#87: master: Richiesta manuale di avviamento a freddo • B#16#88: master: Richiesta automatica di avviamento a freddo • B#16#8A: master: Richiesta manuale di nuovo avviamento (avviamento a caldo) • B#16#8B: master: Richiesta automatica di nuovo avviamento (avviamento a caldo) OB100_PRIORITY BYTE Classe di priorità: 27 OB100_OB_NUMBR BYTE Numero di OB (100, 101 o 102) OB100_RESERVED_1 BYTE Riservato OB100_RESERVED_2 BYTE Riservato OB100_STOP WORD Numero dell'evento che ha portato la CPU in STOP OB100_STRT_INFO DWORD Informazione complementare all'avviamento attuale OB100_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 79 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) La seguente tabella mostra l'assegnazione delle variabili OB10x_STR_INFO. N. Significato Valori binari possibili Spiegazione 31 - 24 Informazione all‘avviamento 0000 xxxx N. telaio di montaggio 0 (solo con CPU H) 0100 xxxx N. telaio di montaggio 1 (solo con CPU H) 1000 xxxx N. telaio di montaggio 2 (solo con CPU H) 0001 xxxx Multicomputing (solo S7-400) 0010 xxxx Funzionamento di più unità centrali nel telaio di montaggio segmentato (solo S7-400) xxxx xxx0 Nessuna differenza tra unità di riferimento e unità attuale (solo S7-300) xxxx xxx1 Differenza presente tra unità di riferimento e unità attuale (solo S7-300). 23 - 16 Tipo di avviamento appena eseguito xxxx xx0x Nessuna differenza tra unità di riferimento e unità attuale xxxx xx1x Differenza presente tra unità di riferimento e unità attuale xxxx x0xx Nessuna CPU H xxxx x1xx CPU H xxxx 0xxx Ora per registrazione del tempo non bufferizzata all'ultima ALIMENTAZIONE ON xxxx 1xxx Ora per registrazione del tempo bufferizzata all'ultima ALIMENTAZIONE ON 0000 0001 Nuovo avviamento (avviamento a caldo) con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0011 Nuovo avviamento (avviamento a caldo) con selettore modi operativi 0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI 0000 0101 Avviamento a freddo con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0111 Avviamento a freddo con selettore modi operativi 0000 1000 Avviamento a freddo tramite manovra MPI Riavviamento con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 80 0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400) 0000 1100 Riavviamento tramite manovra MPI (solo S7-400) 0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON bufferizzata 0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON bufferizzata, corrispondente alla parametrizzazione 0001 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON bufferizzata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) N. 15 - 12 11 - 8 7-0 Significato Ammissibilità dei tipi di avviamento automatico Ammissibilità dei tipi di avviamento manuale Valori binari possibili Spiegazione 0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON bufferizzata 0010 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON non bufferizzata 0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON non bufferizzata 1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON bufferizzata corrispondente alla parametrizzazione (solo S7-400 0000 Avviamento automatico non ammesso 0001 Avviamento automatico non ammesso, necessaria modifica parametri ecc. 0011 Avviamento a freddo automatico ammesso 0111 Nuovo avviamento automatico (avviamento a caldo) ammesso 1111 Nuovo avviamento automatico (avviamento a caldo)/riavviamento ammesso (solo S7-400) 0000 Avviamento non ammesso 0001 Avviamento non ammesso, modifica parametri ecc. necessaria 0011 Avviamento a freddo ammesso 0111 Nuovo avviamento (avviamento a caldo) ammesso 1111 Nuovo avviamento (avviamento a caldo) e riavviamento ammessi (solo S7-400) Ultima manovra valida o 0000 0000 regolazione del tipo di 0000 0001 avviamento automatico con ALIMENTAZIONE ON 0000 0011 Nessun tipo di avviamento Nuovo avviamento (avviamento a caldo) con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) Nuovo avviamento (avviamento a caldo) con selettore modi operativi 0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI 0000 0101 Avviamento a freddo con funzionamento multicomputing senza manovra esplicita sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0111 Avviamento a freddo tramite selettore modi operativi 0000 1000 Avviamento a freddo tramite manovra MPI Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 81 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) N. 82 Significato Valori binari possibili Spiegazione 0000 1010 Riavviamento con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400) 0000 1100 Riavviamento tramite manovra MPI (solo S7-400) 0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON bufferizzata 0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON bufferizzata, corrispondente alla parametrizzazione 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON bufferizzata 0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON bufferizzata 0010 0000 Nuovo avviamento (avviamento a caldo) automatico dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON non bufferizzata 0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON non bufferizzata 1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON bufferizzata corrispondente alla parametrizzazione (solo S7-400) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.27 OB di errore di programmazione (OB 121) 1.27 OB di errore di programmazione (OB 121) Descrizione Il sistema operativo della CPU richiama l'OB 121 ogni volta che viene rilevato un evento provocato da un errore nell'elaborazione del programma. Per esempio, se nel programma viene rilevato un blocco che non è stato caricato nella CPU, ciò determina il richiamo dell'OB 121. Funzionamento dell'OB di errore di programmazione L'OB 121 viene eseguito nella stessa classe di priorità dell'OB interrotto. Se l'OB 121 non è programmato, la CPU passa da RUN a STOP. STEP 7 offre le seguenti SFC per mascherare e demascherare gli eventi di avvio per OB 121 durante l'elaborazione del programma: • SFC 36 ”MSK_FLT” maschera codici d'errore specifici • SFC 37 ”DMSK_FLT” demaschera i codici d'errore che erano stati mascherati dalla SFC 36 • SFC 38 ”READ_ERR” legge il registro degli errori. Dati locali dell'OB di errore di programmazione La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di programmazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 121. Variabile Tipo di dati Descrizione OB121_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#25 OB121_SW_FLT BYTE Codice d'identificazione d'errore (valori possibili: B#16#21, B#16#22, B#16#23, B#16#24, B#16#25, B#16#26, B#16#27, B#16#28, B#16#29, B#16#30, B#16#31, B#16#32, B#16#33, B#16#34, B#16#35, B#16#3A, B#16#3C, B#16#3D, B#16#3E, B#16#3F) OB121_PRIORITY BYTE Classe di priorità: classe di priorità dell'OB in cui si è verificato l'errore OB121_OB_NUMBR BYTE Numero di OB (121) OB121_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l'errore (con S7-300 qui non viene registrato nessun valore valido): B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB OB121_RESERVED_1 BYTE Riservato OB121_FLT_REG WORD Fonte dell'errore (dipendente dal codice di identificazione d'errore), p. es.: OB121_BLK_NUM WORD • Registro in cui si è verificato l'errore di conversione • Indirizzo errato (per errore di lettura/scrittura) • Numero errato di temporizzatore, contatore o blocco • Area di memoria errata Numero del blocco con il comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 83 Blocchi organizzativi 1.27 OB di errore di programmazione (OB 121) Variabile Tipo di dati Descrizione OB121_PRG_ADDR WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) OB121_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Le variabili dipendenti dal codice di identificazione d'errore hanno il seguente significato: Codice errore Significato B#16#21: Errore di conversione BCD OB121_FLT_REG: Identificazione per il registro interessato (W#16#0000: Akku 1) B#16#22: Errore di settore in lettura B#16#23: Errore lunghezza settore durante scrittura B#16#28: Accesso in lettura a un byte, parola o doppia parola con un puntatore, il cui indirizzo è diverso da 0 B#16#29: Accesso in scrittura a un byte, parola o doppia parola con un puntatore il cui indirizzo di bit è diverso da 0 Indirizzo a byte errato. L'area dati e il tipo di accesso vanno rilevati da OB121_RESERVED_1. OB121_RESERVED_1: Bit da 7 a 4, tipo di accesso: 0: Accesso a bit 1: Accesso a byte, 2: Accesso a parola, 3: Accesso a doppia parola Bit da 3 a 0, area di memoria: 0: Area di periferia 1: Immagine di processo degli ingressi 2: Immagine di processo delle uscite 3: Merker 4: DB globale 5:DB di istanza 6:Dati locali propri 7:Dati locali del richiamante B#16#24: Errore di settore in lettura B#16#25: Errore di settore in scrittura OB121_FLT_REG: B#16#26: Errore con numero temporizzatore B#16#27: Errore con numero contatore OB121_FLT_REG: 84 Contiene nel byte basso l'identificazione dell'area non ammessa (B#16#86 area propria dati locali) Numero non ammesso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.27 OB di errore di programmazione (OB 121) Codice errore Significato B#16#30: Accesso in scrittura ad un DB globale protetto in scrittura B#16#31: Accesso in scrittura ad un DB di istanza protetto in scrittura B#16#32: Errore di numero DB all'accesso ad un DB globale B#16#33: Errore di numero DB all'accesso ad un DB di istanza OB121_FLT_REG: Numero DB non ammesso B#16#34: Errore numero al richiamo FC B#16#35: Errore numero FB al richiamo FB B#16#3A: Accesso ad un DB non caricato; Il numero DB si trova nel settore ammesso. OB121_FLT_REG: B#16#3C: OB121_FLT_REG: B#16#3D: OB121_FLT_REG: B#16#3E: OB121_FLT_REG: B#16#3F: OB121_FLT_REG: Numero DB Accesso ad una FC non caricata; Il numero FC si trova nel settore ammesso. Numero FC Accesso ad una SFC non caricata; Il numero SFC si trova nel settore ammesso. Numero SFC Accesso ad un FB non caricato; Il numero FB si trova nel settore ammesso. Numero FB Accesso ad un SFB non caricato; Il numero SFB si trova nel settore ammesso. Numero SFB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 85 Blocchi organizzativi 1.28 OB di errore di accesso alla periferia (OB 122) 1.28 OB di errore di accesso alla periferia (OB 122) Descrizione Il sistema operativo della CPU chiama l'OB 122 ogni volta che viene rilevato un evento legato all'accesso ai dati nelle unità. Per esempio, se la CPU rileva un errore di lettura nel tentativo di accedere ai dati in un'unità di ingresso e di uscita, il sistema operativo chiama l'OB 122. Funzionamento dell'OB di errore di accesso alla periferia L'OB 122 viene eseguito nella stessa classe di priorità del blocco interrotto. Se l'OB 122 non è programmato, la CPU passa dallo stato di funzionamento RUN a STOP. S7 dispone delle seguenti SFC, con le quali gli eventi di avvio dell'OB 122 possono essere mascherati e demascherati mentre il programma utente viene eseguito: • La SFC 36 ”MSK_FLT” maschera determinati codici d'errore. • La SFC 37 ”DMSK_FLT” demaschera i codici di errore che erano stati mascherati da SFC 36. • La SFC 38 ”READ_ERR” legge il registro dello stato degli eventi. Dati locali dell'OB errore di accesso alla periferia La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di accesso alla periferia. Come nomi di variabili sono stati scelti i nomi di default dell'OB 122. Variabile Tipo di dati Descrizione OB122_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#29 OB122_SW_FLT BYTE Codice di errore: • B#16#42: Errore di accesso alla periferia, in lettura. B#16#43: Errore di accesso alla periferia, in scrittura OB122_PRIORITY BYTE Classe di priorità: OB122_OB_NUMBR BYTE Numero di OB (122) OB122_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l'errore (B#16#88: OB, Classe di priorità dell'OB in cui si è verificato l'errore B#16#8C: FC, B#16#8E: FB) (nelle S7-300 qui non viene registrato un valore valido) OB122_MEM_AREA BYTE Area di memoria e tipo di accesso: • • OB122_MEM_ADDR 86 WORD Bit da 7 a 4: tipo di accesso: - 0: accesso a bit - 1: accesso a byte - 2: accesso a parola - 3: accesso a doppia parola Bit da 3 a 0: area di memoria: - 0: settore periferia - 1: immagine di processo degli ingressi - 2: immagine di processo delle uscite Indirizzo di memoria in cui si è verificato l'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Blocchi organizzativi 1.28 OB di errore di accesso alla periferia (OB 122) Variabile Tipo di dati Descrizione OB122_BLK_NUM WORD Numero del blocco con il comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido OB122_PRG_ADDR WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) OB122_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 87 Blocchi organizzativi 1.28 OB di errore di accesso alla periferia (OB 122) 88 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 2 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Tipologia di informazioni di errore Una SFC elaborata indica nel programma utente se la CPU ha potuto eseguire correttamente la funzione della SFC stessa o meno. La relativa informazione di errore si può ricavare in due modi: • nel bit BIE della parola di stato • nel parametro di uscita RET_VAL (return value). Avvertenza Prima dell'analisi dei parametri di uscita specifici di una SFC è sempre opportuno procedere nel modo seguente: • analizzare per prima cosa il bit BIE della parola di stato • verificare infine il parametro di uscita RET_VAL. Se tramite il bit BIE venisse segnalata un'errata elaborazione della SFC oppure se in RET_VAL fosse presente un codice di errore generale non è possibile analizzare il parametro di uscita specifico della SFC. Informazioni di errore nel valore di ritorno Una funzione di sistema (SFC) indica tramite il valore 0 nel bit di risultato binario (BIE) della parola di stato che è avvenuto un errore durante l'elaborazione della funzione. Alcune funzioni di sistema forniscono ad un'uscita, definita valore di ritorno (RET_VAL), un codice di errore supplementare. Se nel parametro di uscita RET_VAL si presenta un errore generale (per la spiegazione vedere sotto), ciò viene indicato solo dal valore 0 nel bit BIE della parola di stato. Il valore di ritorno è di tipo intero (INT). Il suo valore rispetto allo "0" indica se durante l'elaborazione della funzione è avvenuto un errore. Elaborazione della SFC mediante la CPU BIE Valore di ritorno Segno dell'intero presenza di errore 0 minore di "0" negativo (bit di segno è "1") assenza di errore 1 maggiore o uguale a "0" positivo (bit di segno è "0") Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 89 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Reagire ad una informazione di errore Per i codici di errore in RET_VAL si distingue tra: • un codice di errore generale, che può essere fornito da tutte le SFC e • un codice di errore specifico, che può essere fornito da una SFC in relazione alle proprie specifiche funzioni. È possibile scrivere il programma utente in modo tale che esso reagisca a possibili errori durante l'elaborazione della funzione di sistema. In questo modo è possibile evitare ulteriori errori. Informazioni di errore generali e specifiche Il valore di ritorno (RET_VAL) di una funzione di sistema fornisce uno dei seguenti due codici di errore: • un codice di errore generale, che si può riferire ad una qualsiasi funzione di sistema. • un codice di errore specifico, che si riferisce esclusivamente ad una determinata funzione di sistema. Anche se nel caso del parametro di uscita RET_VAL si tratta di un valore di numero intero (INT), i codici di errore delle funzioni di sistema vengono rappresentati in formato esadecimale. Se si interpreta un valore di ritorno e lo si vuole confrontare con i codici di errore riportati in questo manuale, allora è opportuno farsi indicare il codice di errore in formato esadecimale. La figura seguente illustra la struttura di un codice di errore di una funzione di sistema in formato esadecimale. Se, Codice di errore, per esempio W#16#8081 8 7 15 0 1 X Numero dell'evento o classe dell'errore e singolo errore Se x = 0" , si tratta di un codice di errore specifico di una SFC. Il codice di errore specifico si trova nella descrizione delle singole SFC nel paragrafo dedicato alle informazioni di errore Se x > 0" si tratta di un codice di errore generale di una SFC. In questo caso x è il numero del parametro della SFC che ha causato l'errore. I possibili codici di errore generali si trovano nella siguiente tabella Il bit di segno = 1 indica che è avvenuto un errore. 90 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Informazioni di errore generali Il codice di errore generale indica errori che possono aver luogo in qualsiasi funzione di sistema. Un codice di errore generale è costituito dai seguenti due numeri: • un numero di parametro compreso tra 1 e 111, dove 1 indica il primo parametro, 2 il secondo, ecc. della SFC richiamata. • un numero compreso tra 0 e 127. Il numero dell'evento indica un errore di sincronismo. Nella tabella seguente sono riportati i codici per errori generali, le loro abbreviazioni e spiegazioni in merito agli errori. Bit 15 1 8 7 numero di parametro numero di evento 0 segno Avvertenza Se è stato registrato un codice di errore generale nel RET_VAL, • l'operazione relativa alla SFC può essere stata avviata o essere stata già completamente eseguita. • può essersi presentato un errore specifico della SFC durante l'operazione. A causa di un errore generale supplementare, presentatosi successivamente, l'errore specifico non poteva più essere indicato. Informazioni di errore specifiche Alcune funzioni di sistema (SFC) possiedono un valore di ritorno che fornisce un codice di errore specifico. Questo codice indica che durante l'elaborazione della funzione è avvenuto un errore, appartenente ad una determinata funzione di sistema (vedi figura). Un codice di errore specifico è costituito dai seguenti due numeri: • una classe dell'errore tra 0 e 7. • un singolo errore tra 0 e 15. Bit 15 1 8 0 7 1 classe d'errore 4 3 0 singolo errore segno Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 91 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Codici di errore generali La tabella seguente spiega i codici di errore generali di un valore di ritorno. Il codice viene indicato in formato esadecimale. La lettera x in ogni codice serve solo ad indicare una posizione e rappresenta il numero del parametro della funzione di sistema che ha causato l'errore. Codice di errore (W#16#...) 8x7F Significato Errore interno. Questo codice indica un errore interno al parametro x. 8x01 Identificazione sintassi non ammessa in uno parametro ANY- 8x22 Errore di dimensione nella lettura di un parametro. 8x23 Errore di dimensione nella scrittura di un parametro. Questo codice indica che il parametro x si trova completamente o parzialmente al di fuori dell'area di memoria di un operando oppure che la lunghezza di un campo di bit in un parametro ANY non è divisibile per 8. 8x24 Errore di memoria nella lettura di un parametro. 8x25 Errore di memoria nella scrittura di un parametro. Questo codice indica che il parametro x si trova in un'area di memoria non permessa alla funzione di sistema. La descrizione delle singole funzioni riporta le aree di memoria non permesse. 8x26 Il parametro contiene un numero di temporizzatore troppo grande. Questo codice indica che il temporizzatore, dato nel parametro x, non è presente. 8x27 Il parametro contiene un numero di contatore troppo grande (errore numero contatore). Questo codice indica che il contatore, dato nel parametro x, non è presente. 8x28 Errore di riferimento nella lettura di un parametro. 8x29 Errore di riferimento nella scrittura di un parametro. Questo codice indica che il parametro x punta ad un operando, il cui indirizzo a bit è diverso da 0. 8x30 Il parametro si trova nel DB globale, protetto in scrittura. 8x31 Il parametro si trova nel DB di istanza, protetto in scrittura Questo codice indica che il parametro x si trova in un blocco dati protetto in scrittura. Se il blocco dati era stato aperto dalla funzione di sistema stessa, essa fornisce sempre il valore W#16#8x30. 8x32 Il parametro contiene un numero di DB troppo grande (errore numero DB). 8x34 Il parametro contiene un numero di FC troppo grande (errore numero FC). 8x35 Il parametro contiene un numero di FB troppo grande (errore numero FB). Questo codice indica che il parametro x contiene un numero di blocco maggiore del massimo numero di blocco ammesso. 92 8x3A Il parametro contiene il numero di un DB che non è stato caricato. 8x3C Il parametro contiene il numero di una FC che non è stato caricata. 8x3E Il parametro contiene il numero di un FB che non è stato caricato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Codice di errore (W#16#...) Significato 8x42 È avvenuto un errore di accesso, mentre il sistema voleva leggere un'area della periferia degli ingressi. 8x43 È avvenuto un errore di accesso, mentre il sistema voleva scrivere un'area della periferia delle uscite. 8x44 8x45 Errore all'ennesimo (N > 1) accesso di lettura dopo che si è presentato un errore. Errore all'ennesimo (N > 1) accesso di scrittura dopo che si è presentato un errore. Questo codice indica che viene rifiutato l'accesso al parametro desiderato. • Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono SFC che lavorano in modo asincrono Le SFC che lavorano in modo asincrono sono SFC in cui l'esecuzione della funzione può essere allargata a più richiami delle SFC. Le seguenti SFC vengono eseguite, generalmente o a determinate condizioni in modo asincrono: • SFC 7 "DP_PRAL" • SFC 11 "DPSYC_FR" • SFC 12 "D_ACT_DP" • SFC 13 "DPNRM_DG" • SFC 51 "RDSYSST" • SFC 55 "WR_PARM" • SFC 56 "WR_DPARM" • SFC 57 "PARM_MOD" • SFC 58 "WR_REC" • SFC 59 "RD_REC" • SFC 65 "X_SEND" • SFC 67 "X_GET" • SFC 68 "X_PUT" • SFC 69 "X_ABORT" • SFC 72 "I_GET" • SFC 73 "I_PUT" • SFC 74 "I_ABORT" • SFC 82 "CREA_DBL" • SFC 83 "READ_DBL" • SFC 84 "WRIT_DBL" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 93 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL 94 • SFC 90 "H_CTRL" • SFC 102 "RD_DPARA" • SFC 103 "DP_TOPOL" • SFC 114 "PN_DP" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Identificazione del job Se con una delle SFC indicate sopra è stata avviata l'attivazione di un interrupt di processo o l'invio di istruzioni di comando a slave DP, o una trasmissione di dati, o l'interruzione di un collegamento non progettato e se questa SFC viene richiamata di nuovo prima che il job in corso sia terminato, l'ulteriore comportamento della SFC dipende in modo determinante dalla possibilità che il nuovo richiamo riguardi lo stesso job o meno. La tabella seguente spiega per ogni SFC quali parametri di ingresso definiscono un job. Quando i parametri qui indicati corrispondono ad un job non ancora concluso il richiamo SFC vale come richiamo successivo. SFC Il job è identificato da 7 "DP_PRAL" IOID, LADDR 11 "DPSYC_FR" LADDR, GROUP, MODE 12 "D_ACT_DP" LADDR 13 "DPNRM_DG" LADDR 51 "RDSYSST" SZL_ID, INDEX 55 "WR_PARM" IOID, LADDR, RECNUM 56 "WR_DPARM" IOID, LADDR, RECNUM 57 "PARM_MOD" IOID, LADDR 58 "WR_REC" IOID, LADDR, RECNUM 59 "RD_REC" IOID, LADDR, RECNUM 65 "X_SEND" DEST_ID, REQ_ID 67 "X_GET" DEST_ID, VAR_ADDR 68 "X_PUT" DEST_ID, VAR_ADDR 69 "X_ABORT" DEST_ID 72 "I_GET" IOID, LADDR, VAR_ADDR 73 "I_PUT" IOID, LADDR, VAR_ADDR 74 "I_ABORT" IOID, LADDR 82 "CREA_DBL" LOW_LIMIT, UP_LIMIT, COUNT, ATTRIB, SRCBLK 83 "READ_DBL" SRCBLK, DSTBLK 84 "WRIT_DBL" SRCBLK, DSTBLK 90 "H_CTRL" MODE, SUBMODE 102 "RD_DPARA" LADDR, RECNUM 103 "DP_TOPOL" DP_ID 114 "PN_DP" - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 95 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Parametro di ingresso REQ Il parametro di ingresso REQ (request) serve esclusivamente all'avviamento del job: • Se viene richiamata la SFC per un job, che non è attualmente attivato, viene avviato il job con REQ = 1 (caso 1). • Se un determinato job è avviato e non è ancora concluso, e se viene richiamata la SFC per lo stesso job (p. es. in un OB di schedulazione orologio), il REQ non viene analizzato dalla SFC (caso 2). Parametri di uscita RET_VAL e BUSY Tramite i parametri di uscita RET_VAL e BUSY viene indicato lo stato dell'esecuzione del job Fare attenzione all'avvertenza nel paragrafo Analisi degli errori con il parametro di uscita RET_VAL. • Nel caso 1 (primo richiamo con REQ=1), con risorse di sistema libere e assegnazione corretta dei parametri di ingresso, in RET_VAL viene registrato W#16#7001 e viene impostato BUSY. Se le risorse di sistema necessarie sono attualmente occupate o è presente un errore nei parametri di ingresso, in RET_VAL viene registrato il rispettivo codice di errore e BUSY viene registrato con 0. • Nel caso 2 (richiamo intermedio) in RET_VAL viene registrato W#16#7002 (questa registrazione corrisponde ad un avvertimento: il job viene attualmente ancora elaborato!), e viene impostato BUSY. • All'ultimo richiamo per un job sono valide le seguenti regole: - Nelle SFC 13 "DPNRM_DG", SFC 67 "X_GET" e SFC 72 "I_GET" in caso di trasmissione senza errori dei dati in RET_VAL viene registrato il numero dei dati forniti in byte come numero positivo e BUSY viene registrato con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore. In questo caso non è consentito analizzare BUSY. - Nella SFC 59 "RD_REC" in caso di trasmissione senza errori dei dati viene registrata in RET_VAL la grandezza del set di dati in byte, oppure viene registrato 0 (vedi paragrafo Lettura di set di dati con la SFC 59 "RD_REC"!). BUSY è registrato in questo caso con 0. In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con 0 (fare attenzione all'avvertenza nel capitolo Lettura di set di dati con la SFC 59 "RD_REC") - In tutte le altre SFC viene registrato 0 in RET_VAL in caso di esecuzione senza errori del job e BUSY viene registrato con 0. In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con 0. Avvertenza Se il primo e l'ultimo richiamo avvengono contemporaneamente, per RET_VAL e BUSY è valido quanto detto per l'ultimo richiamo. 96 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL Panoramica delle SFC di comunicazione La tabella seguente fornisce una panoramica delle correlazioni descritte sopra. Essa indica in particolare i valori possibili dei parametri di uscita se l'esecuzione del job non è conclusa dopo un richiamo della SFC. Avvertenza Dopo ogni richiamo è necessario valutare i parametri di uscita rilevanti nel proprio programma. Avvertenza Dopo ogni richiamo è necessario valutare i parametri di uscita rilevanti nel proprio programma. N. prog. richiamo Tipo richiamo REQ RET_VAL BUSY 1 Primo richiamo 1 W#16#7001 1 2 fino a (n-1) Richiamo intermedio Irrilevante W#16#7002 1 n Ultimo richiamo Irrilevante W#16#0000 (eccezioni: SFC 59 "RD_REC" se l'area di destinazione è maggiore del set di dati trasmessi, SFC 13 "DPNRM_DG", SFC 67 "X_GET" e SFC 72 "I_GET") se non si sono verificati errori 0 Codice di errore Codice di errore, se si sono verificati errori Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 0 0 97 Parametri generali relativi alle SFC 2.1 Analisi degli errori con il parametro di uscita RET_VAL 98 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 3 Funzioni di copiatura e di blocco 3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" Descrizione Con la SFC 20 "BLKMOV" (block move) si copia il contenuto di un'area di memoria (= area sorgente) in un'altra area di memoria (= area di destinazione). Le aree sorgente consentite sono le seguenti: • Parti di blocchi dati • Merker • Immagine di processo degli ingressi • Immagine di processo delle uscite Il parametro sorgente può trovarsi anche nella memoria di caricamento in un blocco dati non rilevante per l'esecuzione del programma (DB che sono stati compilati con la parola chiave UNLINKED). Avvertenza Se la CPU dell'utente è provvista di SFC 83, occorre utilizzarla per leggere i blocchi dati non rilevanti per l'esecuzione nella memoria di caricamento. Se si utilizza la SFC 20 viene visualizzato il messaggio di erorre W#16#8092. DB10. DBW4 A B DB10. DBW6 C D DB10. DBW8 DB10. DBW10 E F G H Copia La copiatura avviene in direzione di indirizzi crescenti MW 12 A C B D MW 14 E F MW 16 G H MW 10 Area di memoria Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 99 Funzioni di copiatura e di blocco 3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" Coerenza dei dati sorgente e di destinazione Osservare che durante l'elaborazione dell'SFC 20 "BLKMOV" i dati sorgente devono restare invariati. In caso contrario non è assicurata la coerenza dei dati di destinazione. Possibilità di interruzione Fino a quando l'area sorgente non è parte di un blocco dati presente solo nella memoria di caricamento, non esiste nessuna limitazione della profondità di annidamento. In caso di interruzione di un'elaborazione della SFC 20, invece, durante la quale viene effettuata la copiatura da un blocco dati non rilevante per l'esecuzione del programma, un'elaborazione simile della SFC 20 non può essere più annidata. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SRCBLK INPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve essere ricopiata (area sorgente). Arrays del tipo di dati STRING non sono permessi. RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria nella quale si deve copiare (area di destinazione). Arrays del tipo di dati STRING non sono permessi. Condizioni per l'area sorgente e di destinazione L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è maggiore dell'area sorgente, nell'area di destinazione vengono copiati solo tanti dati quanti ne sono contenuti nell'area sorgente. Se l'area di destinazione indicata (parametro DSTBLK) è minore dell'area sorgente (parametro SRCBLK), vengono copiati solo tanti dati quanti ne può contenere l'area di destinazione. Se lo spazio effettivamente disponibile nell'area di destinazione o sorgente è minore delle dimensioni dell'area di memoria parametrizzata per l'area sorgente o di destinazione (parametri SRCBLK, DSTBLK), la reazione dipenderà dal tipo di CPU. • CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F. • CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati. Per tutte le altre CPU S7-400: i dati vengono trasmessi. In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente. Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8; in caso contrario non viene eseguita la copia. 100 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" Se si utilizzano variabili con tipo di dati STRING per i parametri SRCBLK e DSTBLK, STEP 7 interpreta queste variabili come ARRAY of BYTE (inclusi entrambi i byte di gestione con lunghezza massima e attuale). Ciò comporta il fatto che l'SFC 20 viene copiata byte per byte: vengono quindi copiati il byte con la lunghezza massima, il byte con la lunghezza attuale e l'effettiva stringa. Qualora si utilizzasse il tipo di dati STRING per uno dei parametri SRCBLK o DSTBLK, o per entrambi, occorre configurare personalmente i corrispondenti puntatori ANY. Se la sorgente è una stringa vengono copiati al massimo i caratteri in essa contenuti al momento. Se sorgente e destinazione sono entrambe una stringa, la lunghezza attuale della destinazione viene impostata sul numero dei caratteri copiati. Avvertenza Se un DB non rilevante per l'esecuzione del programma viene copiato con l'SFC 20 BLKMOV nella memoria di lavoro e contemporaneamente ricaricato, ad es. mediante PG, l'SFC può essere ritardata di diversi millisecondi. Ciò causa un prolungamento del ciclo dell'OB e probabilmente la reazione del controllo tempo di ciclo. Evitare di ricaricare questo blocco mentre la CPU copia questo blocco con l'SFC 20. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8091 È stata superata la profondità di annidamento. 8092 La SFC 20 "BLKMOV" non può essere eseguita a causa di un accesso a un blocco dati non utilizzabile (protetto in scrittura, non eseguibile oppure non caricato) 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 101 Funzioni di copiatura e di blocco 3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" 3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" Descrizione Con la SFC 81 "UBLKMOV" (uninterruptable block move) viene copiato il contenuto di un'area di memoria (= area sorgente) in modo coerente in un'altra area di memoria (= area di destinazione). La procedura di copia non può essere interrotta da altre attività del sistema operativo. Con la SFC 81 "UBLKMOV" è possibile copiare tutte le aree di memoria eccetto: • i blocchi seguenti: FB, SFB, FC, SFC, OB, SDB • contatori • temporizzatori • aree di memoria dell'area della periferia • blocchi dati non rilevanti per l'esecuzione. La quantità max. di dati che si può copiare ammonta a 512 byte. Osservare le limitazioni specifiche della CPU chesi possono p. es. prendere dall'elenco delle operazioni. Possibilità di interruzione, tempo di reazione all'allarme La procedura di copia non può essere interrotta. Si deve quindi tenere presente che il tempo di reazione all'allarme della propria CPU può aumentare se si utilizza la SFC 81 "UBLKMOV". 102 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SRCBLK INPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve essere copiata (area sorgente). Arrays del tipo STRING non sono ammessi. RET_VAL OUTPUT INT E, A, M, D, L Se si verifica un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di identificazione dell'errore. DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria in cui deve essere copiato (area di destinazione). Arrays del tipo STRING non sono ammessi. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" Condizioni per l'area sorgente e di destinazione L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è maggiore dell'area sorgente, nell'area di destinazione vengono copiati solo tanti dati quanti ne sono contenuti nell'area sorgente. Se l'area di destinazione indicata è minore dell'area sorgente, vengono copiati solo tanti dati quanti ne può contenere l'area di destinazione. Se l'area di destinazione o l'area sorgente realmente disponibile è minore delle dimensioni dell'area di memoria parametrizzata per l'area sorgente o di destinazione (parametri SRCBLK, DSTBLK), la reazione dipenderà dal tipo di CPU. • CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F. • CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati. Per tutte le altre CPU S7-400: i dati vengono trasmessi. In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente. Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8; in caso contrario l'SFC non viene eseguita. Se il puntatore ANY è del tipo STRING, la lunghezza indicata deve essere 1. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8091 L'area sorgente non si trova in un blocco dati rilevante per l'esecuzione. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 103 Funzioni di copiatura e di blocco 3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" 3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" Descrizione Con la SFC 21 "FILL" è possibile inizializzare un'area di memoria (area di destinazione) con il contenuto di un'altra area di memoria (area sorgente). La SFC copia il contenuto nell'area di destinazione assegnata, fino ad inizializzarla completamente. Condizioni per l'area sorgente e di destinazione L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione da preimpostare non è un multiplo intero della lunghezza del parametro di ingresso BVAL, essa viene comunque scritta fino all'ultimo byte. Se l'area di destinazione indicata è minore dell'area sorgente, vengono copiati solo tanti dati quanti ne può contenere l'area di destinazione. Se l'area di destinazione o l'area sorgente realmente disponibile è minore delle dimensioni dell'area di memoria parametrizzata per l'area sorgente o di destinazione (parametri BVAL, BLK), la reazione dipenderà dal tipo di CPU. • CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F. • CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati. Per tutte le altre CPU S7-400: i dati vengono trasmessi. In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente. Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8; in caso contrario l'SFC non viene eseguita. • Se l'area di destinazione è del tipo di dati STRING, l'SFC 21 "FILL" scrive l'intera stringa inclusa l'informazione di gestione. FILL BVAL A B MW 14 A B MW 100 C D MW 16 C D MW 102 F MW 104 E F MW 18 E G H MW 20 G H MW 106 BLK A B MW 108 C D MW 110 E F MW 112 G H MW 114 A B MW 116 C D MW 118 Esempio: il contenuto dell'area di memoria da MW 100 a MW 118 deve venire inizializzato con il contenuto delle parole di merker da MW 14 a MW 20. 104 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" Coerenza dei dati sorgente e di destinazione Osservare che durante l'elaborazione dell'SFC 21 "FILL" i dati sorgente devono restare invariati. In caso contrario non è assicurata la coerenza dei dati di destinazione. Eccezioni Non sono ammessi come aree sorgente: • Contatori • Temporizzatori Con la SFC 21 non è possibile scrivere valori in: • seguenti blocchi: FB, SFB, FC, SFC, SDB • contatori • temporizzatori • aree di memoria della periferia Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione BVAL INPUT ANY E, A, M, D, L Il parametro BVAL contiene il valore o la definizione dell'area, con il cui contenuto si vuole inizializzare l'area di destinazione (area sorgente). Arrays del tipo di dati STRING non sono permessi. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BLK OUTPUT ANY E, A, M, D, L Il parametro BLK definisce l'area che deve essere inizializzata (area di destinazione). Arrays del tipo di dati STRING non sono permessi. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 105 Funzioni di copiatura e di blocco 3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" Il parametro è una struttura Se viene passata al parametro di ingresso una struttura, occorre considerare la seguente particolarità: Lo STEP 7 interpreta la lunghezza di una struttura sempre come un numero pari di byte. Se la struttura viene dichiarata con un numero dispari di byte, tale struttura necessita allora di un byte di memoria supplementare. Esempio La struttura è dichiarata nel modo seguente: TYP_5_BYTE_STRUTTURA : STRUCT BYTE_1_2 : WORD BYTE_3_4 : WORD BYTE_5 : BYTE END_STRUCT La struttura dichiarata "TYP_5_BYTE_STRUTTURA" necessita di 6 byte di memoria. Informazioni di errore La SFC 21 "FILL" non fornisce informazioni specifiche sugli errori ma soltanto generali. Vedere Analisi degli errori con il parametro di uscita RET_VAL. 106 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB" 3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB" Descrizione Con la SFC 22 "CREAT_DB" (create data block) è possibile creare un blocco dati nel programma utente, che non contiene i valori inizializzati. Anziché questi valori vengono assegnati dati casuali. La SFC crea un blocco dati con un numero compreso in un intervallo predefinito e con una dimensione predefinita. La SFC assegna al DB il numero più piccolo possibile compreso nell'area data. Per attribuire al DB un determinato numero occorre assegnare ai limiti massimi e minimi dell‘area lo stesso valore, corrispondente al numero desiderato. Numeri di DB già utilizzati nel programma non possono più venire assegnati. La lunghezza del DB deve essere un numero pari. Possibilità di interruzione La SFC "CREAT_DB" può essere interrotta da OB di più elevata priorità. Se, a sua volta, in un OB di più elevata priorità viene richiamata una SFC 22 "CREAT_DB", questo richiamo viene respinto con il codice di identificazione dell'errore W#16#8091. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite inferiore è il più piccolo dei numeri che è possibile assegnare al blocco dati. UP_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite superiore è il più grande dei numeri, che è possibile assegnare al blocco dati. COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero di byte che si vogliono riservare per il blocco dati. In questo caso occorre assegnare un numero pari di byte (massimo 65534) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero di blocco dati è il numero del blocco dati appena creato. In caso di errore (è stato impostato il bit 15 di RET_VAL) il valore 0 viene registrato in DB_NUMBER. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 107 Funzioni di copiatura e di blocco 3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB" Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 8091 La SFC 22 è stata richiamata annidata. 8092 80A1 80A2 108 La funzione "Creazione di blocchi dati" non è eseguibile al momento perché • la funzione "Compressione della memoria utente" è attualmente attiva • il numero dei DB presenti nella CPU ha già raggiunto il massimo valore consentito • la CPU H è in fase di accoppiamento o aggiornamento • la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è stato installato WinAC • la cancellazione precedente non è ancora terminata. Errore nel numero del DB: • il numero è 0 • il numero supera il numero massimo di DB ammesso per la CPU specifica • limite inferiore > limite superiore Errore nella lunghezza del DB: • la lunghezza è 0 • la lunghezza è stata data come numero dispari • la lunghezza è maggiore di quanto la CPU permetta 80B1 Nessun numero di DB è libero 80B2 La memoria libera a disposizione non è sufficiente 80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!) 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB" 3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB" Descrizione Con la SFC 23 "DEL_DB" (delete data block) è possibile cancellare un blocco dati presente nella memoria di lavoro ed eventualmente nella memoria di caricamento della CPU. Il DB da cancellare non deve essere aperto né nel livello di esecuzione attuale né in uno di priorità bassa. Ciò vuol dire che non deve essere registrato né in uno dei due registri DB né in B-Stack, in quanto altrimenti la CPU, al momento del richiamo della SFC 23, avvierebbe l'OB 121. Se l'OB 121 non è disponibile, la CPU entra nello stato di STOP; nell'S7-300 (ad eccezione della CPU 318) la cancellazione del DB avviene senza richiamo dell'OB 121. Avvertenza Cancellare DB di istanza con la SFC 23 "DEL_DB" non è un'operazione opportuna e comporta sempre errori di programma. Evitare quindi di cancellare i DB di istanza con la SFC 23! La tabella seguente spiega quando un blocco dati può essere cancellato con la SFC 23 "DEL_DB". Se il DB ... con l' SFC 23 ... è stato creato con il richiamo dell'SFC 22 "CREAT_DB" può essere cancellato è stato trasferito con STEP 7 alla CPU e non è stato creato con la parola chiave UNLINKED può essere cancellato è stato creato con la parola chiave UNLINKED • può essere cancellato nell'S7-300 • non può essere cancellato nell'S7-400 è stato creato con il richiamo dell'SFC 82 "CREA_DBL" può essere cancellato è memorizzato sulla flashcard Non può essere cancellato Possibilità di interruzione La SFC 23 "DEL_DB" può essere interrotta da livelli di esecuzione di priorità più alta. Se poi la SFC viene qui richiamata di nuovo, questo secondo richiamo viene interrotto e in RET_VAL viene registrato W#16#8091. Parametri Dichiarazione Tipo Area di memoria Descrizione DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da cancellare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 109 Funzioni di copiatura e di blocco 3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB" Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 8091 Nei richiami annidati della SFC 23 è stata superata la profondità di annidamento massima delle CPU utilizzate. 8092 La funzione "Cancellazione di un DB" non è eseguibile al momento perché 80A1 la funzione "Compressione della memoria utente" è attiva • l'utente sta copiando il DB da cancellare dalla CPU in un progetto offline • la CPU H è in fase di accoppiamento o aggiornamento • la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è stato installato WinAC Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato • ha valore 0 • è maggiore del numero di DB massimo ammesso per la CPU utilizzata 80B1 Il DB con il numero indicato non è presente nella memoria d lavoro della CPU. 80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED (soltanto nell'S7-400). 80B3 Il DB si trova sulla flashcard. 80B4 110 • Il DB non è stato cancellato perché • fa parte di un programma F • è un DB di istanza di un blocco dati della comunicazione S7 (solo per S7-400) • è un DB tecnologico. 80C1 La funzione "Cancellazione di un DB" non è attualmente eseguibile per mancanza di risorse. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.6 Test di un blocco dati con la SFC 24 "TEST_DB" 3.6 Test di un blocco dati con la SFC 24 "TEST_DB" Descrizione L'SFC 24 "TEST_DB" (test data block) consente di ottenere informazioni su un blocco dati contenuto nella memoria di lavoro o di caricamento della CPU (S7-300) oppure informazioni su un blocco dati contenuto nella memoria di lavoro della CPU (S7-400). L'SFC rileva il numero dei byte di dati per il DB selezionato e verifica se il DB è protetto in scrittura. Parametri Dichiarazione Tipo Area di memoria Descrizione DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da verificare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore DB_LENTH OUTPUT WORD E, A, M, D, L Numero dei byte di dati contenuti nel DB selezionato. BOOL E, A, M, D, L Informazione sulla protezione da scrittura del DB selezionato (1 significa protetto in scrittura). WRITE_PROT OUTPUT Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 80A1 Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato ha il valore 0 è maggiore del numero di DB massimo ammesso per la CPU utilizzata 80B1 Il DB con il numero indicato non è presente nella CPU. 80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 111 Funzioni di copiatura e di blocco 3.7 Compressione della memoria utente con la SFC 25 "COMPRESS" 3.7 Compressione della memoria utente con la SFC 25 "COMPRESS" Formazione di spazi vuoti di memoria A causa di ripetute cancellazioni o postcaricamenti di blocchi è possibile che si formino degli spazi vuoti sia nella memoria di caricamento che in quella di lavoro, i quali riducono l'area di memoria utilizzabile. Descrizione Con la SFC 25 "COMPRESS" è possibile avviare la compressione sia della parte RAM della memoria di caricamento che della memoria di lavoro. L'operazione di compressione è la stessa come dopo un avvio esterno nello stato di funzionamento RUN-P (posizione del selettore dei modi operativi). Se la compressione è già attiva a causa di un avvio esterno, il richiamo della SFC 25 provoca una visualizzazione di errore. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L Informazione se la compressione è attiva a causa della SFC 25 (1 = attiva) DONE OUTPUT BOOL E, A, M, D, L Informazione se l'operazione di compressione avviata mediante la SFC 25 si è conclusa con successo (1 = conclusa con successo) Controllo sull'operazione di compressione L'operazione di compressione viene avviata mediante un unico richiamo della SFC 25 "COMPRESS"; tuttavia, non è possibile verificare se la compressione è stata eseguita in modo corretto. Se si desidera esercitare questa funzione di controllo, è necessario procedere come segue: La SFC 25 deve essere richiamata in modo ciclico. Dopo ogni richiamo, dapprima deve essere valutato il parametro RET_VAL. Se questo ha il valore 0, devono essere valutati i parametri BUSY e DONE. Se BUSY = 1 e DONE = 0, vuol dire che l'operazione di compressione è ancora attiva. Solo dopo che BUSY ha assunto il valore 0 e DONE il valore 1, significa che l'operazione di compressione è stata portata a termine con successo. Se, a questo punto, la SFC 25 viene richiamata di nuovo, si avvia un'ulteriore compressione. 112 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.7 Compressione della memoria utente con la SFC 25 "COMPRESS" Informazioni di errore Codice di errore Significato (W#16#...) 0000 Nessun errore. L'operazione di compressione è stata avviata dalla SFC 25. Solo in questo caso è utile valutare tramite il programma utente (vedi sopra) i parametri di uscita BUSY e DONE. 8091 L'operazione di compressione è già attiva a causa di un avvio esterno. 8092 La funzione "Avvio della compressione della memoria utente" non è eseguibile al momento perché 8xyy • la funzione "Cancellazione blocchi" è attualmente attiva a causa di un avvio di STEP 7 • una funzione di test e di messa in servizio agisce al momento su un blocco (p. es. Stato) • la funzione "Copiatura di blocchi" è attualmente attiva a causa di un avvio esterno • la CPU H è in fase di accoppiamento o aggiornamento Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 113 Funzioni di copiatura e di blocco 3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL" 3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL" Descrizione Con la SFC 44 "REPL_VAL" (replace value) si può trasferire un valore nell'ACCU 1 del livello di programma che ha causato l'errore. Solo in OB di errore di sincronismo La SFC 44 "REPL_VAL" può essere richiamata solo in un OB di errore di sincronismo (OB 121, OB 122). Esempio applicativo Nel caso in cui un'unità di ingresso è disturbata al punto tale che non è più possibile leggere alcun valore, dopo ogni accesso a questa unità, viene avviato l'OB 122. Nell'OB 122 è possibile trasferire nell'ACCU 1 del livello di programma interrotto un valore sostitutivo con l'ausilio della SFC 44, in modo tale che il programma possa continuare ad operare con questo valore sostitutivo. Le informazioni necessarie per la scelta di questo valore sostitutivo (ad es. il blocco in cui ha avuto luogo l'errore, l'indirizzo interessato) vengono fornite dalle variabili locali dell'OB 122. Parametri Parametri Dichiarazione Tipo Area di memoria VAL INPUT DWORD E, A, M, D, L, cost. Valore sostitutivo RET_VAL OUTPUT INT Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. E, A, M, D, L Descrizione Informazioni di errore 114 Codice di errore (W#16#....) Descrizione 0000 Nessun errore. È stato specificato un valore sostitutivo. 8080 La SFC 44 non è stata richiamata all'interno di un OB di errore di sincronismo (OB 121, OB 122). 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" 3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" Descrizione Con la SFC 82 "CREA_DBL" (create data block in load memory) si crea nella memoria di caricamento (Micro Memory Card) un nuovo blocco dati. La SFC 82 crea un blocco dati con un numero preso da un'area indicata e una dimensione predefinita. Dall'area indicata, la SFC 82 assegna al DB il numero più basso possibile. Per creare un DB con un determinato numero, assegnare lo stesso numero al limite superiore e a quello inferiore dell'area da indicare. I numeri dei DB già contenuti nel programma utente non si possono più assegnare. Se la memoria di lavoro e/o la memoria di caricamento contengono già un DB con lo stesso numero o se questo esiste già come variante copiata, la SFC viene conclusa mentre viene creata un'informazione d'errore. Avvertenza L'esistenza di un DB con lo stesso numero si può determinare con la SFC 24 "TEST_DB". Il DB viene scritto con il contenuto dell'area di dati al quale fa riferimento il parametro SRCBLK (source block). Questa area dati deve essere un DB o un'area di un DB. Per garantire la coerenza dei dati, non è consentito modificare questa area dati nel corso dell'elaborazione della SFC 82 (vale a dire finché il parametro BUSY ha il valore TRUE). È possibile creare e inizializzare un DB con l'attributo READ_ONLY solo tramite SFC 82. La SFC 82 non modifica la somma di controllo del programma utente. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 115 Funzioni di copiatura e di blocco 3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" Procedimento La SFC 82 "CREA_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 82 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di creazione del DB LOW_LIMIT INPUT WORD E, A, M, D, L Limite inferiore dell'area dalla quale la SFC assegna un numero al DB dell'utente UP_LIMIT INPUT WORD E, A, M, D, L Limite superiore dell'area dalla quale la SFC assegna un numero al DB dell'utente COUNT INPUT WORD E, A, M, D, L Il valore di conteggio indica il numero di byte che si vogliono riservare per il blocco dati. In questo caso occorre assegnare un numero pari di byte ATTRIB INPUT BYTE E, A, M, D, L Proprietà del DB: Bit 0 = 1: UNLINKED: il DB è solo nella memoria di caricamento. Bit 1 = 1: READ_ONLY: il DB è protetto in scrittura. Bit 2 = 1: NON_RETAIN: il DB non è rimanente. Bit 3 - 7: Riservato 116 SRCBLK INPUT ANY D Puntatore sul blocco dati con i cui valori viene inizializzato il blocco dati da creare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione non è ancora terminata. DB_NUM OUTPUT WORD E, A, M, D, L Numero del DB creato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione vengono occupati da uno 0. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8091 È stata richiamata la SFC 82 annidata. 8092 8093 La funzione "Crea DB" non è momentaneamente eseguibile perché • la funzione "Comprimi la memoria utente" è attiva • il numero max. di blocchi della CPU è stato raggiunto Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 8094 Nel parametro ATTRIB è stato specificato un attributo non ancora supportato. 80A1 Errore nel numero del DB: 80A2 80B1 • Il numero è 0 • Limite inferiore > limite superiore Errore nella lunghezza del DB: • La lunghezza è 0 • La lunghezza è un numero dispari • La lunghezza è maggiore di quanto consentito dalla CPU Non vi sono numeri di DB liberi 80B2 Memoria di lavoro insufficiente 80BB Memoria di caricamento insufficiente 80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di comunicazione. 80C3 Al momento è già stato raggiunto il numero max. di SFC 82 attive contemporaneamente. 8xyy Codice di errore generale, p. es.: • DB sorgente inesistente o esistente solo come variante copiata • Area sorgente non disponibile nel DB Vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 117 Funzioni di copiatura e di blocco 3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" 3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" Descrizione Con la SFC 83 "READ_DBL" (read data block in load memory) è possibile copiare un DB o una parte di un DB contenuto nella memoria di caricamento (Micro Memory Card) nell'area dati di un DB di destinazione. Il DB di destinazione deve essere rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo UNLINKED. Il contenuto della memoria di caricamento non viene modificato dall'operazione di copia. Per garantire la coerenza dei dati, non è consentito modificare l'area di destinazione nel corso dell'elaborazione della SFC 83 (vale a dire finché il parametro BUSY ha il valore TRUE). Per i parametri SRCBLK (source block) e DSTBLK (destination block) valgono le seguenti limitazioni: • Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8. • Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1. La lunghezza del DB sorgente può essere eventualmente determinata con la SFC 24 "TEST_DB". Avvertenza La SFC 83 viene elaborata in modo asincrono e non è adatta pertanto alla lettura frequente (ciclica) di variabili nella memoria di caricamento. Avvertenza Una volta avviato, un job viene sempre portato a termine. Se si raggiunge il numero massimo di SFC 83 attive contemporaneamente e si richiama allo stesso tempo la SFC 83 in una classe di priorità maggiore, viene emesso il codice di errore W#16#80C3. Non è perciò opportuno riavviare immediatamente il job con la priorità maggiore. 118 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" Procedimento La SFC 83 "READ_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 83 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria di caricamento dalla quale vengono letti i dati RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è ancora terminata. DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria di lavoro nella quale scrivere i dati Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione non vengono modificati. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8093 Nel parametro DSTBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 80B1 Nel parametro SRCBLK non è indicato un blocco dati o il blocco dati indicato non è un oggetto della memoria di caricamento (p. es. un DB creato tramite SFC 22). 80B4 Non è consentito leggere un DB con attributo F. 80C0 Il DB di destinazione viene attualmente elaborato da un'altra SFC o da una funzione di comunicazione. 80C3 Al momento è già stato raggiunto il numero max. di SFC 83 attive contemporaneamente. 8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 119 Funzioni di copiatura e di blocco 3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" 3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" Descrizione Con la SFC 84 "WRIT_DBL" (write data block in load memory) è possibile trasferire il contenuto di un DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un DB nella memoria di caricamento (Micro Memory Card). Il DB sorgente deve essere rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo UNLINKED. Esso può tuttavia essere stato creato con la SFC 22 "CREAT_DB". Per garantire la coerenza dei dati, non è consentito modificare l'area sorgente nel corso dell'elaborazione della SFC 84 (vale a dire finché il parametro BUSY ha il valore TRUE).. Per i parametri SRCBLK (soruce block) e DSTBLK (destination block) valgono le seguenti limitazioni: • Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8. • Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1. La lunghezza del DB di destinazione può essere eventualmente determinata con la SFC 24 "TEST_DB". La SFC 84 non modifica la somma di controllo del programma utente quando si scrive un DB creato tramite SFC. Se si tratta di un DB caricato, invece, la prima scrittura nel DB modifica la somma di controllo del programma utente. Avvertenza La SFC 84 non è adatta alla scrittura frequente (ciclica) di variabili nella memoria di caricamento poiché la tecnologia della Micro Memory Card consente solamente un numero limitato di accessi in scrittura. Vedere il manuale di riferimento "Sistemi di automazione SIMATIC S7-300, Configurazione e dati della CPU: CPU 31xC e CPU 31x". 120 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" Procedimento La SFC 84 "WRIT_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 84 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di scrittura SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria di lavoro dalla quale si leggono i dati RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura non è ancora terminata. DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria di caricamento nella quale scrivere i dati Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione non vengono modificati. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8092 Tipo di funzionamento scorretto: mentre la SFC 84 era attiva, la CPU è entrata in STOP. Con il prossimo passaggio a RUN viene emesso questo codice di errore. Richiamare nuovamente la SFC 84. 8093 Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 80B1 Nel parametro DSTBLK non è indicato un blocco dati o il blocco dati indicato non è un oggetto della memoria di caricamento (p. es. un DB creato tramite SFC 22). 80B4 Un DB con attributo F non deve essere modificato. 80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di comunicazione. Esempio: caricamento di un DB dalla CPU nel PG. Si intende modificare il contenuto di questo DB tramite SFC 84. 80C3 Al momento è già stato raggiunto il numero max. di SFC 84 attive contemporaneamente. 8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 121 Funzioni di copiatura e di blocco 3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" 3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" Descrizione Con la SFC 85 "CREA_DB" (create data block) è possibile creare nel programma utente un blocco dati che non contiene valori preimpostati bensì dati casuali. La SFC crea un blocco dati con un numero ripreso da un'area indicata e con dimensioni predefinite. Dall'area indicata, la SFC assegna al DB il numero più basso possibile. Per creare un DB con un determinato numero occorre assegnare lo stesso numero al limite inferiore e al limite superiore dell'area da predefinire. I numeri dei DB già contenuti nel programma utente non sono più assegnabili. La lunghezza del DB deve essere indicata con un numero pari. A seconda del parametro ATTRIB scelto, il DB creato ha la proprietà RETAIN oppure NON_RETAIN: • RETAIN (= a ritenzione) significa che il DB viene creato nell'area a ritenzione della memoria di lavoro. In questo caso perciò i valori attuali del DB vengono mantenuti anche in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo). • NON_RETAIN (= non a ritenzione) significa che il DB viene creato nell'area non a ritenzione della memoria di lavoro. In questo caso perciò i valori attuali del DB saranno indefiniti in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo). Se nella memoria di lavoro non esiste una suddivisione tra area a ritenzione e non, il parametro ATTRIB viene ignorato e quindi i valori del DB vengono mantenuti in seguito a qualunque passaggio RETE OFF/ON e a qualunque nuovo avviamento (a caldo). Interruzione della funzione La SFC 85 "CREA_DB" può essere interrotta soltanto da OB con priorità maggiore. Se d'altra parte in un OB con priorità maggiore viene richiamata una SFC 85 "CREA_DB", il richiamo viene respinto con il codice di errore W#16#8091. 122 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il valore limite inferiore è il numero più basso nel campo dei numeri che si possono assegnare al blocco dati. UP_LIMIT INPUT WORD E, A, M, D, L, Konst. Il valore limite superiore è il numero più alto nel campo die numeri che si possono assegnare al blocco dati. COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero dei byte di dati che si desidera riservare per il blocco dati. Qui è necessario indicare un numero pari di byte (max. 65534). ATTRIB INPUT BYTE E, A, M, D, L, cost. Attributi DB: • B#16#00: RETAIN • B#16#04: NON_RETAIN Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di copiatura e di blocco 3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Se nel corso dell'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero del blocco dati è quello del blocco dati creato. In caso di errore (bit 15 di RET_VAL impostato) in DB_NUMBER viene registrato il valore 0. Informazioni di errore Codice errore (W#16#...) Desrcizione 0000 Nessun errore 8091 È stata richiamata la SFC 85 annidata. 8092 8094 80A1 80A2 La funzione "Crea DB" non è momentaneamente eseguibile perché • la funzione "Comprimi la memoria utente" è attiva • la CPU software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è installato WinAC. Valore non consentito in ATTRIB Errore nel numero del DB: • Il numero è 0 • Il numero supera il numero di DB specifico della CPU • Limite inferiore > limite superiore Errore nella lunghezza del DB: • La lunghezza è 0 • La lunghezza è un numero dispari • La lunghezza è maggiore di quanto consentito dalla CPU 80B1 Non vi sono numeri di DB liberi 80B2 Spazio di memoria insufficiente 80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!) 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 123 Funzioni di copiatura e di blocco 3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" 124 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 4 SFC per il controllo del programma 4.1 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" Descrizione Con la SFC 43 "RE_TRIGR" (retrigger watchdog) si avvia di nuovo il controllo tempo del ciclo della CPU. Parametri La SFC 43 "RE_TRIGR" non possiede parametri. Informazioni di errore La SFC 43 "RE_TRIGR" non fornisce alcuna informazione di errore. 4.2 Commutazione della CPU in STOP con la SFC 46 "STP" Descrizione Con la SFC 46 "STP" (stop) si conduce la CPU nello stato di funzionamento STOP. Parametri La SFC 46 "STP" non possiede parametri. Informazioni di errore La SFC 46 "STP" non fornisce alcuna informazione di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 125 SFC per il controllo del programma 4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT" 4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT" Descrizione Con la SFC 47 "WAIT" si possono programmare nel programma utente ritardi temporali o tempi di attesa. È possibile programmare tempi di attesa fino a 32767 ms. Il tempo di attesa più breve possibile dipende dalla particolare CPU e corrisponde al tempo di esecuzione della SFC 47. Interruzione della funzione La SFC 47 "WAIT" può essere interrotta da OB a più elevata priorità. Avvertenza (solo per S7-300, ma non per la CPU 318) Il tempo di ritardo programmato con la SFC 47 è un tempo minimo e si allunga del tempo di esecuzione della classe di priorità annidata così come del carico del sistema! Parametri Dichiarazione Tipo Area di memoria Descrizione WT INPUT E, A, M, D, L, cost. Il parametro WT contiene il tempo di ritardo in ms. INT Informazioni di errore La SFC 47 "WAIT" non fornisce alcuna informazione di errore. 126 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per il controllo del programma 4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" 4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" Descrizione Nel funzionamento multicomputing il richiamo della SFC 35 "MP_ALARM" attiva l'allarme di multicomputing. Di conseguenza su tutte le relative CPU avviene l'avvio sincronizzato dell'OB 60. Nel funzionamento ad un processore e nel funzionamento nel telaio di montaggio segmentato l'OB 60 viene avviato solo sulla CPU sulla quale è stata richiamata la SFC 35. Con il parametro d'ingresso JOB è possibile contrassegnare la causa per l'allarme di multicomputing desiderato. Questa identificazione di job viene trasmessa a tutte le CPU relative e può essere analizzata nell'OB 60 (vedi /234/). È possibile richiamare la SFC 35 "MP_ALM" in ogni punto del programma. Tuttavia, poiché il richiamo ha senso solo nello stato di funzionamento RUN, l'allarme di multicomputing viene soppresso nello stato di funzionamento AVVIAMENTO. Questo viene comunicato tramite un valore di funzione. Parametri Dichiarazione Tipo Area di memoria Descrizione JOB INPUT BYTE E, A, M, D, L, cost. Identificazione di job valori possibili: da 1 a 15 RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno riceve un codice di errore. Informazioni di errore Codice di errore Significato (W#16#...) 0000 Nessun errore. 8091 Il parametro di ingresso JOB contiene un valore non ammesso. 80A0 Sulla propria o su un'altra CPU l'esecuzione dell'OB 60 del precedente allarme di multicomputing non è ancora conclusa. 80A1 Errato stato di funzionamento (AVVIAMENTO invece di RUN). 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 127 SFC per il controllo del programma 4.5 Comando dell’ operazione CiR con la SFC 104 "CiR" 4.5 Comando dell’operazione CiR con la SFC 104 "CiR" Con la SFC 104 "CiR" è possibile influenzare la riconfigurazione in RUN nel modo seguente: L’operazione CiR può essere completamente disabilitata, impedendo il caricamento nella CPU di una configurazione modificata da PG. La disabilitazione rimane attiva fino alla sua eliminazione con la SFC 104 "CiR". L’operazione CiR può essere disabilitata limitatamente a determinate condizioni impostando un limite massimo per il tempo di sincronizzazione CiR. In questo caso il caricamento nella CPU di una configurazione modificata da PG verrà ammesso solamente se l’analisi della configurazione modificata per mezzo della CPU ha una durata inferiore a questo limite massimo. È possibile verificare se l’operazione CiR è abilitata o meno. Nel caso sia abilitata o lo sia solo limitatamente, nel parametro A_FT è specificato anche il limite massimo corrente del tempo di sincronizzazione CiR. Avvertenza Durante il tempo di sincronizzazione CiR le uscite sono congelate e gli ingressi non vengono analizzati. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Identificazione di job FRZ_TIME INPUT BYTE TIME E, A, M, D, L, cost. Valori possibili: • 0: funzione di informazione • 1: abilitazione operazione CiR (il limite massimo del tempo di sincronizzazione CiR viene impostato al valore di default) • 2: disabilitazione totale operazione CiR • 3: disabilitazione condizionata operazione CiR. Il limite massimo del tempo di sincronizzazione CiR si predefinisce in FRZ_TIME. "freeze time" Limite superiore del tempo di sincronizzazione CiR in ms Campo di valori ammesso: 60 ... 2500 ms (valore di default: 1000 ms) Avvertenza: FRZ_TIME è rilevante solo per MODE=3. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore Con MODE=, in RET_VAL è specificato se l’operazione CiR è abilitata o meno. A_FT 128 OUTPUT TIME E, A, M, D, L Limite massimo corrente valido del tempo di sincronizzazione CiR Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per il controllo del programma 4.5 Comando dell’ operazione CiR con la SFC 104 "CiR" Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Il job è stato eseguito senza errori (questo codice di errore è ammesso solamente con MODE =1 o MODE=2 o MODE=3. 0001 L’operazione CiR è abilitata (questo codice di errore è possibile solamente con MODE=0.) 0002 L’operazione CiR è completamente disabilitata (questo codice di errore è possibile solamente con MODE=0.) 0003 L’operazione CiR è disabilitata in alcune circostanze (questo codice di errore è possibile solamente con MODE=0.) 8001 La CPU non è pronta per un’operazione CiR. Utilizzare una CPU H nel sistema H (funzionamento singolo) oppure lavorare con una CPU standard in funzionamento multicomputing. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Esempio applicativo della SFC 104 Con la SFC 104 "CIR" è possibile impedire che vengano avviate operazioni CiR negli intervalli di tempo in cui è opportuna e necessaria la massima efficienza della CPU. A tal fine occorre installare la seguente parte di programma nella CPU prima dell’inizio dell’intervallo di tempo con intensa attività di processo: • Richiamo della SFC 104 con MODE = 2 (disabilitare completamente l’operazione CiR) Al termine dell’intervallo di tempo con intensa attività di processo installare nella CPU la seguente parte di programma: • Richiamo della SFC 104 con MODE = 1 (riabilitare l’operazione CiR) o MODE=3 (disabilitare limitatamente l’operazione CiR) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 129 SFC per il controllo del programma 4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT" 4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT" Descrizione Se in STEP 7 "Configurazione HW" è stato impostato il livello di protezione 1, è possibile, tramite l'SFC 109 "PROTECT", commutare sul livello 2 ed eventualmente ritornare su 1. Avvertenza Se in STEP 7 "Configurazione HW" è stato impostato il livello di protezione 2 oppure 3, un eventuale richiamo dell'SFC 109 rimane inefficacie. Se in STEP 7 "Configurazione HW" è stato impostato, mediante l'opzione "Annullabile tramite password" il livello di protezione 1, dopo l'inserimento della password, un eventuale richiamo dell'SFC 109 rimane anche in questo caso inefficacie. I livelli di protezione 1 e 2 hanno il seguente significato (consultare anche il manuale del prodotto Sistema di automazione S7-400 Dati della CPU ed il manuale Sistema di automazione S7-300 Dati della CPU): Livello di protezione Significato 1 Sono consentite tutte le funzioni PG 2 • È consentito il caricamento di oggetti dalla CPU al PG, ovvero sono consentite soltanto funzioni PG in lettura. • Sono consentite le funzioni di esecuzione, controllo e comunicazione del processo. • Sono consentite tutte le funzioni. Per ulteriori informazioni sull'efficacia del livello di protezione 2 dopo il richiamo dell'SFC 109, consultare la lista parziale SZL con l'ID SZLW#16#0232 e l'indice W#16#0004. Nota Il livello di protezione della CPU viene indicato nella finestra di dialogo "Stato di funzionamento" di SIMATIC Manager. 130 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per il controllo del programma 4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT" Effetti della commutazione del modo di funzionamento sul livello di protezione impostato tramite l'SFC 109 Operazione Livello di protezione SFC-109 • Selettore dei modi operativi su STOP • RETE ON non bufferizzata Viene impostato sul livello di protezione 1 (sono consentite tutte le funzioni PG) • Cancellazione totale tramite il selettore dei modi operativi • Modifiche al programma e/o alla configurazione nello stato di funzionamento STOP della CPU dell'S7-400 • Avviamento a freddo • Nuovo avviamento (avviamento a caldo) RETE ON bufferizzata Viene impostato dal sistema operativo sul livello di protezione 1 (sono consentite tutte le funzioni PG). È possibile, se necessario, impostare nel programma il livello di protezione 2 richiamando l'SFC 109 con MODE = W#16#0001 Rimane invariato Modifica dello stato di funzionamento RUN/AVVIO/ALT Rimane invariato -> STOP (tramite richiamo dell'SFC 46, errore di programmazione senza relativo OB di errore oppure con avviamento manuale tramite PG) S7-400: riavviamento (manuale tramite PG oppure automaticamente dopo RETE ON) Rimane invariato Parametri Parametri Dichiarazione Tipo di dati Area di memoria MODE INPUT WORD E, A, M, D, L, Konst. Descrizione ID del job Valori possibili: RET_VAL OUTPUT INT E, A, M, D, L • W#16#0000: impostazione del livello di protezione 1 (sono consentite tutte le funzioni PG) • W#16#0001: impostazione del livello di protezione 2 (impossibile modificare il programma e la configurazione della CPU. La lettura del programma nella CPU può essere eseguita con il PG) Valore di ritorno Se durante l'elaborazione di una funzione si verifica un errore, al valore di ritorno viene inviata un'informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 131 SFC per il controllo del programma 4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT" Informazione di errore Codice di errore (W#16#...) Spiegazione 0000 Il job è stato eseguito senza errori 8090 Valore non valido sul parametro MODE. Esempi applicativi Si intende proteggere la CPU nello stato di funzionamento RUN da qualsiasi tipo di accesso. La rimozione della protezione deve avvenire esclusivamente impostando su STOP il selettore dei modi operativi. A tal fine nell'OB 100, richiamare l'SFC 109 con MODE = W#16#0001. In questo modo rimane impostato il livello di protezione 2 anche dopo un nuovo avviamento (avviamento a caldo). Si intende, in funzione dallo stato di un ingresso o di una variabile comandata da un sistema di servizio e supervisione, caricare un programma nella CPU senza dover commutare su STOp il il selettore dei modi operativi. Per eseguire quest'operazione, interrogare ciclicamente l'ingresso o la variabile interessati. In presenza di un valore definito dell'ingresso o della variabile, richiamare l'SFC 109 tramite MODE = W#16#0000. Successivamente è possibile caricare il programma nella CPU. Al termine del caricamento richiamare l'SFC 109 tramite MODE = W#16#0001 per ripristinare il livello di protezione 2. 132 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 5 SFC per la gestione dell'orologio 5.1 Impostazione dell'orologio con la SFC 0 "SET_CLK" Descrizione Con il richiamo della SFC 0 "SET_CLK" (set system clock) si impostano l'ora e la data dell'orologio della CPU. Esso inizia a girare a partire dall'ora e dalla data stabilite. Se l'orologio è un orologio master, la CPU avvia inoltre, con il richiamo della SFC 0, la sincronizzazione degli orologi. L'intervallo di sincronizzazione viene stabilito con STEP 7. Parametri Dichiarazione Tipo Area di memoria Descrizione PDT INPUT DT D, L All'ingresso PDT si introducono la data e l'ora che si vogliono impostare. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Data e ora La data e l'ora vengono introdotte come tipi DT. Un esempio per il 15 Gennaio 1995, ore 10:30 e 30 secondi è : DT#1995-01-15-10:30:30.L'introduzione dell'ora è possibile solo in singoli secondi. Il giorno della settimana viene calcolato della SFC "SET_CLK" in base alla data. È possibile eseguire la formattazione del tipo di dati DT con la FC 3 "D_TOD_DT" (vedi Funzioni temporali FC1, FC 3, FC 6, FC 7, FC 8, FC 33, FC 34, FC 35, FC 40. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8080 Errore nella data 8081 Errore nell'ora 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 133 SFC per la gestione dell'orologio 5.2 Lettura dell’ orologio con la SFC 1 "READ_CLK" 5.2 Lettura dell’orologio con la SFC 1 "READ_CLK" Descrizione Con la SFC 1 "READ_CLK" (read system clock) si legge l'orologio della CPU. In questo modo si ricavano la data e l'ora attuali. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Se avviene un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. CDT OUTPUT DT D, L All'uscita CDT vengono fornite la data e l'ora attuali. Informazioni di errore Vedere Analisi degli errori con il parametro di uscita RET_VAL 134 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione dell'orologio 5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" 5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" Definizione: Sincronizzazione di orologi slave Con "Sincronizzazione di orologi slave" si intende il trasferimento della data e dell'ora dall'orologio master di un segmento di bus (p. es. bus S7-400-K, MPI, bus dell'apparecchio S7) a tutti gli orologi slave di questo segmento di bus. Descrizione La SFC 48 "SNC_RTCB" (synchronize real time clocks) permette di sincronizzare tutti gli orologi slave presenti su un segmento di bus indipendentemente dall’intervallo di sincronizzazione parametrizzato. Presupposto per effettuare la sincronizzazione è che la SFC 48 venga richiamata su una CPU, il cui orologio in tempo reale è stato parametrizzato come orologio master per almeno un segmento di bus. La parametrizzazione è stata eseguita con STEP 7. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Se avviene un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. INT Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Durante la sincronizzazione non si è presentato nessun errore. 0001 L'orologio presente non è stato parametrizzato come orologio master per nessun segmento di bus. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 135 SFC per la gestione dell'orologio 5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" 5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" Descrizione La SFC 100 "SET_CLKS" permette di impostare l'orologio della CPU dell'utente e il relativo stato. Attenzione Impiegare la SFC 100 soltanto se nella CPU dell'utente l'orologio non viene sincronizzato. In caso contrario, a ogni sincronizzazione, viene ripreso lo stato dell'orologio master. Un valore predefinito tramite SFC viene così sovrascritto. Con il parametro MODE è possibile prestabilire se si desidera modificare solo l'orologio, solo lo stato dell'orologio oppure entrambi i valori. La tabella seguente fornisce le informazioni necessarie. MODE (B#16#...) Significato 01 Impostazione dell'orologio Il richiamo della SFC corrisponde a quello della SFC 0 "SET_CLK". I parametri di ingresso CORR, SUMMER e ANN_1 non vengono analizzati. 02 Impostazione dello stato dell'orologio Il parametro di ingresso PDT non viene analizzato. Dai restanti parametri di ingresso vengono formati i seguenti elementi dello stato dell'orologio: 03 • Valore di correzione, incluso il segno +/- • Ora di preavviso • Indicazione dell'ora solare/legale • La risoluzione dell'orologio viene impostata compatibilmente con quella della CPU. Il bit di mancanza di sincronismo dello stato dell'orologio viene indicato con FALSE. • L'ora resta invariata. Impostazione dell'orologio e del relativo stato Avvertenza Lo stato dell'orologio della propria CPU può essere determinato leggendo l'ID SZL W#16#0132 indice W#16#0008 con la SFC 51 "RDSYSST". 136 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione dell'orologio 5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT BYTE E, A, M, D, L, cost. Tipo di funzionamento Possibili valori: B#16#01: Impostazione orologio B#16#02: Impostazione stato orologio B#16#03: Impostazione orologio e stato PDT INPUT DT D, L Ora predefinita CORR INPUT INT E, A, M, D, L, cost. Valore di correzione (griglia di 0,5 h) Possibili valori: da -24 a +26 SUMMER INPUT BOOL E, A, M, D, L, cost. Indicazione ora solare/legale: ANN_1 RET_VAL INPUT OUTPUT BOOL INT • 0 = ora solare • 1 = ora legale E, A, M, D, L, cost. Ora di preavviso: E, A, M, D, L Codice di errore 1: con il successivo cambio dell'ora, l'ora legale viene commutata in ora solare e viceversa. Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Nessun errore 8080 MODE non compreso nel campo di valori ammesso 8081 CORR non compreso nel campo di valori ammesso (solo con MODE = B#16#02 o con MODE = B#16#03) 8082 PDT al di fuori del campo di valori ammesso: Data e/o ora non consentite 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 137 SFC per la gestione dell'orologio 5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" 138 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 6 SFC per la gestione del contatore del tempo di esercizio 6.1 Contatore del tempo di esercizio Introduzione Le CPU dispongono di un certo numero di contatori del tempo di esercizio (vedere "Dati tecnici delle CPU"). • Se la CPU è provvista di contatori del tempo di esercizio a 16 bit, con le SFC 2, 3 e 4 è possibile impostare, avviare, arrestare e leggere tali contatori. • Se la CPU è provvista di contatori del tempo di esercizio a 32 bit, con l’SFC 101 "RTM" è possibile impostare, avviare, arrestare e leggere tali contatori. Avvertenza Le SFC 2, 3 e 4 possono essere utilizzate anche per contatori del tempo di esercizio a 32 bit. In questo caso tuttavia i contatori del tempo di esercizio si comportano come contatori a 16 bit (campo di validità da 0 a 32767 ore). Vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B. Uso Un contatore può essere usato per le applicazioni più disparate: • calcolo della durata di esercizio della CPU • calcolo della durata di esercizio delle apparecchiature di controllo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 139 SFC per la gestione del contatore del tempo di esercizio 6.1 Contatore del tempo di esercizio Caratteristiche del contatore Con il comando di start il contatore comincia sempre a contare a partire dal valore raggiunto per ultimo. Se si intende cominciare il conteggio da un altro valore, tale valore deve essere esplicitamente assegnato (SFC 2 o SFC 101 con MODE=4). Se la CPU va in STOP o se l'utente arresta il contatore, la CPU "registra" il valore attuale. In caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo della CPU il contatore deve essere di nuovo avviato (SFC 3 o SFC 101 con MODE=1). In seguito all'aggiornamento del sistema operativo o dopo il resettaggio della CPU allo stato di fornitura, i contatori delle ore di esercizio vengono resettati sul valore 0. Campo di validità 140 • CPU con contatori del tempo di esercizio a 16 bit: da 0 a 32 767 ore • CPU con contatori del tempo di esercizio a 32 bit: da 0 a (2 elevato a 31esima potenza) -1 ora = 2 147 483 647 ore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione del contatore del tempo di esercizio 6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" 6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" Descrizione La SFC 101 "RTM" (run-time meter) permette di impostare, avviare, arrestare e leggere i contatori del tempo di esercizio a 32 bit. Per leggere tutti i contatori del tempo di esercizio a 32 bit della CPU, utilizzare la SFC 51 "RDSYSST" con SZL_ID=W#16#0132 e INDICE=W#16#000B (per i contatori del tempo di esercizio da 0 a 7) o INDICE=W#16#000C (per i contatori del tempo di esercizio da 8 a 15). (vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B.. Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT BYTE E, A, M, D, L, cost. Numero del contatore del tempo di esercizio La numerazione inizia da 0. Il numero dei contatori ore d'esercizio della CPU è indicato nei dati tecnici. MODE INPUT BYTE E, A, M, D, L, cost. Identificazione job: • 0: lettura (lo stato viene quindi registrato nel valore CQ corrente in CV). Se il contatore del tempo di esercizio funziona per oltre 1 ora (2 elevato alla 31esima potenza) si ferma nell’ultimo valore indicato ed emette la segnalazione di errore "Overflow". • 1: avvio (con l’ultimo valore di conteggio) • 2: arresto • 4: impostazione (sul valore indicato in PV) • 5: impostazione (sul valore indicato in PV) e avvio • 6: impostazione (sul valore indicato in PV) e arresto PV INPUT DINT E, A, M, D, L, Konst. Nuovo valore del contatore del tempo di esercizio RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. CQ OUTPUT BOOL E, A, M, D, L Stato del contatore del tempo di esercizio (1: funzionamento) CV OUTPUT DINT E, A, M, D, L Valore corrente del contatore del tempo di esercizio Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 141 SFC per la gestione del contatore del tempo di esercizio 6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" Compatibilità con programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit I contatori del tempo di esercizio a 32 bit possono essere utilizzati anche con le SFC 2 "SET_RTM", 3 "CTRL_RTM" e 4 "READ_RTM". In questo caso tuttavia questi contatori si comportano come contatori a 16 bit (campo di validità da 0 a 32767 ore). Nell’estratto della lista parziale con ID SZL-W#16#0132 e indice W#16#0008 i contatori del tempo di esercizio da 0 a 7 vengono visualizzati come contatori a 16 bit. Questo consente di continuare ad utilizzare programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit, e l’estratto della lista parziale con ID SZL W#16#0132 e indice W#16#0008. Informazioni di errore Codice errore Spiegazione (W#16#...) 142 0000 Nessun errore 8080 Numero del contatore del tempo di esercizio errato 8081 È stato trasferito un valore negativo al parametro PV. 8082 Overflow del contatore del tempo di esercizio 8091 Il parametro di ingresso MODE contiene un valore non ammesso. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione del contatore del tempo di esercizio 6.3 Impostazione del contatore con la SFC 2 "SET_RTM" 6.3 Impostazione del contatore con la SFC 2 "SET_RTM" Descrizione Con la SFC 2 "SET_RTM" (set run-time meter) si setta un contatore della CPU ad un valore predefinito. Il numero dei contatori regolabili è specifico per la particolare CPU. Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore che si vuole regolare. BYTE La numerazione inizia con 0. Il numero dei contatori ore d'esercizio della CPU è indicato nei dati tecnici. PV INPUT INT E, A, M, D, L, cost. L'ingresso PV contiene il valore di regolazione del contatore. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Numero di contatore errato 8081 Al parametro PV è stato dato un valore negativo 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 143 SFC per la gestione del contatore del tempo di esercizio 6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" 6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" Descrizione Con la SFC 3 "CTRL_RTM" (control run-time meter) si avvia e si arresta un contatore del tempo di esercizio. Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore, che si vuole avviare o fermare. BYTE La numerazione inizia con 0. Il numero dei contatori ore d'esercizio della CPU è indicato nei dati tecnici. S INPUT BOOL E, A, M, D, L, cost. L'ingresso S avvia ovvero arresta il contatore. Si ponga lo stato del segnale a "0" quando si vuole fermare il contatore. Si ponga lo stato del segnale a "1", quando si vuole avviare il contatore. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Informazioni di errore Codice di errore Spiegazione (W#16#...) 144 0000 Nessun errore 8080 Errato numero di contatore 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione del contatore del tempo di esercizio 6.5 Lettura del contatore con la SFC 4 "READ_RTM" 6.5 Lettura del contatore con la SFC 4 "READ_RTM" Descrizione Con la SFC 4 "READ_RTM" (read run-time meter) si legge il valore di conteggio di un contatore. La SFC 4 fornisce come parametri di uscita il numero di conteggio attuale e lo stato del contatore, cioè "fermato" oppure "in conteggio". Se il contatore supera la soglia di conteggio di 32767 ore, esso si blocca alla cifra di 32767 e fornisce il messaggio di errore "Overflow". Parametri Dichiarazione Tipo Area di memoria Descrizione NR E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore, che si vuole avviare o fermare. INPUT BYTE La numerazione inizia con 0. Il numero dei contatori ore d'esercizio della CPU è indicato nei dati tecnici. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. CQ OUTPUT BOOL E, A, M, D, L L'uscita CQ indica se il contatore funziona o se è fermo. Lo stato di segnale "0" indica che il contatore è fermo. Il segnale "1" indica che il contatore sta contando. CV OUTPUT INT E, A, M, D, L L'uscita CV indica il valore di conteggio attuale. Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Numero errato del contatore delle ore di esercizio 8081 Overflow del contatore delle ore di esercizio 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 145 SFC per la gestione del contatore del tempo di esercizio 6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" 6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" Descrizione Con la SFC 64 "TIME_TCK" (time tick) si legge il tempo di sistema della CPU. Il tempo di sistema è un "contatore di tempo", che conta ciclicamente tra 0 e un massimo di 2147483647 ms. Una volta superato questo valore massimo il tempo di sistema torna al valore 0. Il clock e la precisione del tempo di sistema sono di 1 ms. Il tempo di sistema viene influenzato unicamente dagli stati di funzionamento della CPU. Utilizzo Il tempo di sistema può per esempio essere utilizzato per misurare la durata di operazioni mediante la differenza dei risultati di due esecuzioni della SFC 64. Tempo di sistema e stati di funzionamento Stato di funzionamento Il tempo di sistema ... Avviamento ... viene continuamente attualizzato RUN STOP ... viene fermato e mantiene il valore attuale Riavviamento ... riparte con il valore che era stato salvato alla transizione in STOP. (non per S7-300 e S7-400) Nuovo avviamento (avviamento a ... viene cancellato e riparte da "0". caldo) Avviamento a freddo Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Il parametro RET_VAL contiene il tempo di sistema letto, area compresa tra 0 e 231-1 ms. TIME Informazioni di errore La SFC 64 "TIME_TCK" non fornisce alcuna informazione di errore. 146 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 7 SFC/SFB per il trasferimento di set di dati 7.1 Scrittura e lettura di set di dati Principio Esistono unità che dispongono di un campo dati di sistema, al quale è possibile accedere solo in scrittura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 fino a 240 al massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente). Inoltre le unità possono possedere anche un campo dati di sistema, al quale è possibile accedere solo in lettura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 a 240 al massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente). Avvertenza Esistono unità che dispongono di entrambi i campi dati di sistema. Si tratta di campi a diversa struttura fisica, che hanno in comune solo la suddivisione logica in set di dati. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 147 SFC/SFB per il trasferimento di set di dati 7.1 Scrittura e lettura di set di dati Campo dati di sistema che può essere solo scritto La tabella seguente mostra la struttura del campo dati di sistema che può essere solo scritto. Essa indica la dimensione massima di un singolo set di dati e le SFC con le quali possono essere scritti i set di dati. Numero del Contenuto set di dati Dimensione Restrizione Possibilità di scrittura con SFC 0 con S7-300: possibilità scrittura solo con S7-400 56 "WR_DPARM" da 2 a 14 byte con S7-300: - 55 "WR_PARM" 1 da 2 a 127 Parametri Parametri Dati utente 57 "PARM_MOD" da 2 a 14 byte 56 "WR_DPARM" (DS0 e DS1 hanno insieme esattamente 16 byte) 57 "PARM_MOD" ognuno v240 byte - 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" da 128 a 240 Parametri ognuno v240 byte - 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" Campo dati di sistema che può essere solo letto La tabella seguente mostra la struttura del campo dati di sistema. Nella tabella seguente sono indicate la dimensione massima di un singolo set di dati e le SFC con le quali possono essere letti i set di dati. Numero del set di dati Contenuto Dimensione Possibilità di lettura con SFC 0 Dati di diagnostica specifici dell'unità (determinati allo stesso modo per tutti i sistemi) 4 byte 51 "RDSYSST" Dati di diagnostica specifici del canale (incl. set di dati 0) con S7-300: 16 byte 1 (SZL_ID 00B1H) 59 "RD_REC" 51 "RDSYSST" con S7-400: da 4 a 220 byte (SZL_ID 00B2H e 00B3H) 59 "RD_REC" 148 da 2 a 127 Dati utente ognuno v240 byte 59 "RD_REC" da 128 a 240 ognuno v240 byte 59 "RD_REC" Dati di diagnostica Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.1 Scrittura e lettura di set di dati Risorse del sistema Se vengono avviate brevemente in successione diverse trasmissioni asincrone di set di dati, è garantito che tutti i job vengano eseguiti e non abbia luogo un influenzamento reciproco. Se viene raggiunto il limite delle risorse del sistema, viene data la relativa comunicazione nel RET_VAL. Il caso di errore temporaneo può essere eliminato con una ripetizione del job. Il numero massimo di job attivi "simultaneamente" di un tipo SFC dipende dalla CPU. Quest'informazione può essere dedotta da /72/, /101/ e /102/ Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 149 SFC/SFB per il trasferimento di set di dati 7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" 7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" Descrizione Con la SFC 54 "RD_DPARM" (read defined parameter) il set di dati con il numero RECNUM dell'unità indirizzata viene trasferito dai dati del sistema progettati con STEP7. Il set di dati letto viene introdotto nel campo di destinazione indirizzato dal parametro RECORD. Parametri Dichiarazione Tipo Area di memoria IOID INPUT E, A, M, D, L, cost. BYTE Descrizione Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) RET_VAL OUTPUT INT E, A, M, D, L Lunghezza del set di dati letto in byte se il set di dati letto rientra nel campo di destinazione e non è comparso alcun errore durante il trasferimento. Se durante l'elaborazione della funzione compare un errore, il valore di ritorno contiene un codice di errore. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. È ammesso solo il tipo di dati BYTE. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD". 150 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" 7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" Descrizione Con la SFC 102 "RD_DPARA" è possibile leggere il set di dati con il numero RECNUM di un'unità scelta dai dati del sistema progettati con STEP7. Il set di dati letto viene registrato nell'area di destinazione aperta con il parametro RECORD. Procedimento La SFC 102 "RD_DPARA" è una SFC che lavora in modo asincrono, ciò significa che l'elaborazione comprende più richiami della SFC. Il job viene avviato richiamando la SFC 102 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Qualunque indirizzo dell'unità. In caso di unità delle uscite occorre impostare il bit con il valore maggiore RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione compare un errore, il valore di ritorno contiene un codice di errore. Se durante la trasmissione non si è verificato alcun errore, vanno distinti i seguenti casi: BUSY OUTPUT RECORD OUTPUT • RET_VAL contiene la lunghezza in byte del set di dati effettivamente letto, se l'area di destinazione è più grande del set letto. • RET_VAL contiene il valore 0, se il set di dati letto è lungo come l'area di destinazione. BOOL E, A, M, D, L BUSY = 1: il job non è ancora concluso. ANY E, A, M, D, L Area di destinazione per il set di dati letto. È consentito solo il tipo di dati BYTE. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito per le CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 151 SFC/SFB per il trasferimento di set di dati 7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" 7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" Descrizione Con la SFC 55 "WR_PARM" (write parameter) si trasferisce all'unità indirizzata il set di dati RECORD. I parametri che vengono trasferiti all'unità non sovrascrivono i parametri generati con STEP7. Presupposti Il set di dati da trasferire non può essere statico. (L'informazione relativa a quali set di dati di un'unità sono statici può essere ricavata da /71/, /101/). Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati RECORD INPUT ANY E, A, M, D, L Set di dati Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito per le CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. 152 RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" Parametro di ingresso RECORD I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il trasferimento del set di dati dura più a lungo di un richiamo, ai richiami successivi della SFC (per lo stesso job) il contenuto del parametro RECORD non è più rilevante. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD" Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 153 SFC/SFB per il trasferimento di set di dati 7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" 7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" Descrizione Con la SFC56 "WR_DPARM" (write default parameter) viene trasferito il set di dati con il numero RECNUM dai dati di progettazione generati con STEP7 all'unità indirizzata. In tal caso non ha importanza se i set di dati sono statici o dinamici. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD". 154 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" 7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" Descrizione Con la SFC 57 "PARM_MOD" (parametrize module) vengono trasferiti tutti i set di dati di un'unità, che sono stati progettati con STEP 7, all'unità. In tal caso non ha importanza se i set di dati sono statici o dinamici. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ= 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Informazioni di errore Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) si devono distinguere due casi: • Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx): con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno cioè richiamando nuovamente la SFC (se necessario più volte). Esempio di errore temporaneo: le apparecchiature necessarie sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Dx): con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo richiamo della SFC è possibile solo quando l'errore è stato eliminato. Esempio di errore permanente: la lunghezza del set di dati da trasferire è errata (W#16#80B1). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 155 SFC/SFB per il trasferimento di set di dati 7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" Avvertenza Se si trasmettono set di dati con una delle SFC 55, 56 o 57 a uno slave DPV1 e quest'ultimo funziona in modo DPV1, il master DP analizza l'informazione di errore ricevuta dallo slave nel modo seguente: Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave. Informazioni di errore per le SFC54 "RD_DPARM", SFC55 "WR_PARM", SFC56 "WR_DPARM" e SFC57 "PARM_MOD" Codice di errore (W#16#...) Spiegazione Restrizione 0000 Nessun errore - 7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; BUSY ha il valore 0. - 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. Periferia decentrata 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. Periferia decentrata 8090 Indirizzo di base logico indicato non valido: non è presente nessuna assegnazione in SDB1/SDB2x, oppure non è un indirizzo di base. - 8092 Nel riferimento ANY è indicato un tipo diverso da BYTE. Solo con S7-400 per la SFC54 "RD_DPARM" e la SFC 55 "WR_PARM" 8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400 con S7-400 e unità DP S7 con S7-300 e S7-400). - 80A1 Conferma negativa alla trasmissione del set di dati all'unità (unità sfilata durante la trasmissione o unità difettosa) 1) 80A2 • Errore di protocollo DP sul livello 2 (p. es. guasto dello slave o del bus) Periferia decentrata • In modalità DPV0, nell'ET200S la lettura del set di dati non è possibile. 80A3 Errore di protocollo DP con user interface/user Periferia decentrata 80A4 Comunicazione nel bus K disturbata Errore tra CPU e collegamento DP esterno 1) 80B0 SFC per tipo unità non possibile, oppure l'unità non conosce il set di dati. 1) La lunghezza del set di dati da trasferire è errata. - 80B1 Con SFC54 "RD_DPARM": la lunghezza del campo di destinazione indirizzato da RECORD non è sufficiente. 156 80B2 Il posto connettore progettato non è occupato. 1) 80B3 Il tipo reale di unità non è uguale al tipo nominale di unità in SDB1 1) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" Codice di errore (W#16#...) Spiegazione Restrizione 80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di dati non sono stati ancora rielaborati dall'unità. 1) 80C2 L'unità elabora momentaneamente il numero massimo possibile di job per una CPU. 1) 80C3 Le apparecchiature necessarie (memoria ecc.) sono momentaneamente occupate. 1) Errore interno temporaneo. Impossibile eseguire il job. 1) 80C4 Ripetere il job. Se si verifica spesso questo errore verificare che nella struttura non vi siano fonti di disturbo. 80C5 Periferia decentrata non disponibile o disattivata. Periferia decentrata 1) 80C6 Il trasferimento del set di dati è stato interrotto a causa di una interruzione della classe di priorità (riavviamento oppure sfondo) Periferia decentrata 1) 80D0 Nel rispettivo SDP non è presente nessuna registrazione per l'unità. - Codice di errore (W#16#...) Spiegazione Restrizione 80D1 Il numero del set di dati non è progettato nel rispettivo SDB per l'unità (i numeri del set di dati w 241 vengono respinti da STEP 7.). - 80D2 L'unità non può essere parametrizzata in base all'identificazione dell'unità. - 80D3 Allo SDB non si può accedere, poiché non é presente. - 80D4 Errore di struttura SDB: il puntatore interno a SDB indica all'esterno di SDB solo con S7-300 80D5 Il set di dati è statico. solo con SFC 55 "WR_PARM" 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 1) Non avviene con la SFC 54 "RD_DPARM" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 157 SFC/SFB per il trasferimento di set di dati 7.7 Scrittura di set di dati con la SFC 58 "WR_REC" 7.7 Scrittura di set di dati con la SFC 58 "WR_REC" Descrizione Con la SFC 58 "WR_REC" (write record) si trasferisce il set di dati RECORD all'unità indirizzata. L'operazione di scrittura viene avviata occupando il parametro di ingresso REQ con 1 al richiamo della SFC 58. Se l'operazione di scrittura poteva essere eseguita immediatamente, la SFC fornisce il valore di ritorno 0 sul parametro di uscita BUSY. Se BUSY ha il VALORE 1, l'operazione di scrittura non è ancora terminata. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è consentito scrivere set di dati nelle unità degli ingressi e delle uscite con la SFC 58. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura. IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 2 a 240) RECORD INPUT ANY E, A, M, D, L Set di dati. È ammesso solo il tipo di dati BYTE. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito per le CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. 158 RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.7 Scrittura di set di dati con la SFC 58 "WR_REC" Parametro di ingresso RECORD I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il trasferimento del set di dati dura più a lungo di un richiamo, il contenuto del parametro RECORD non è più rilevante durante i successivi richiami della SFC (per lo stesso job). Informazioni di errore Vedere Lettura di set di dati con la SFC 59 "RD_REC" Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 159 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Descrizione Con la SFC 59 "RD_REC" (read record) si legge il set di dati con il numero RECNUM dall'unità indirizzata. L'operazione di lettura viene avviata occupando il parametro di ingresso REQ con 1 al richiamo della SFC 59. Se è stato possibile eseguire subito l'operazione di lettura, la SFC fornisce sul parametro di uscita BUSY il valore 0. Quando BUSY ha valore 1 l'operazione di lettura non è ancora terminata (vedi il capitolo 2.2). Il set di dati letto viene registrato nel campo di destinazione aperto dal RECORD dopo un trasferimento dati senza errori. Se il set di dati, il cui numero è maggiore di uno, viene letto da una FM o da un CP acquistati prima del febbraio 1997 (di seguito indicati come "unità meno recenti"), la SFC 59 si comporterà in modo differente rispetto a come si comporta in un'unità nuova. Questo caso particolare viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 precedenti con numero DS > 1". Avvertenza Se si legge un set di dati, il cui numero è maggiore di uno, da una FM o da un altro CP che sono stati acquistati prima del febbraio 1997, (di seguito definite "unità meno recenti"), la SFC 59 si comporta in modo diverso rispetto ad una nuova unità. Questo caso particolare viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1". Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è consentito leggere set di dati dalle unità degli ingressi e delle uscite con la SFC 59. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di lettura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. 160 LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Inoltre: lunghezza del set di dati realmente trasferiti in byte (valori possibili: da +1 a +240), se il campo di destinazione è maggiore del set di dati trasferiti e non si è presentato nessun errore durante il trasferimento. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di lettura non è ancora terminata. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. Durante l'elaborazione asincrona della SFC 59 si deve fare attenzione che i parametri attuali di RECORD abbiano la stessa informazione della lunghezza in ogni richiamo. È ammesso solo il tipo di dati BYTE. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito per le CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Parametro di uscita RET_VAL • Se durante l'elaborazione della funzione è avvenuto un errore, il valore di ritorno conterrà un codice di errore. • Se durante il trasferimento non è avvenuto alcun errore, RET_VAL conterrà: - 0, se l'intero campo di destinazione è stato riempito con dati provenienti dal set di dati selezionato (il set di dati può anche essere incompleto) - la lunghezza del set di dati realmente trasferiti in byte (valori possibili: da +1 a + 240), se il campo di destinazione è maggiore del set di dati trasferito. Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8745, ciò indica solo che durante l'operazione di scrittura sull'immagine di processo l'accesso ad almeno un byte del campo di destinazione era inibito. Il set di dati è stato letto regolarmente dall'unità e scritto nell'area di memoria I/O. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 161 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Scelta adatta di RECORD Avvertenza Se si vuole essere certi che venga sempre letto tutto il set di dati, scegliere un campo di destinazione con lunghezza di 241 byte. Se il trasferimento dei dati avviene in modo corretto in RET_VAL sarà presente la reale lunghezza del set di dati. Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1 Se si desidera leggere un set di dati con la SFC 59 "RD_REC" da una FM S7-300 o da un CP S7-300 non aggiornati, il cui numero è maggiore di uno, bisogna osservare quanto segue: • Se il campo di destinazione è maggiore della lunghezza reale del set di dati desiderato, non viene registrato alcun dato nel RECORD. RET_VAL viene indicato con W#16#80B1. • Se il campo di destinazione è minore della lunghezza reale del set di dati desiderato, la CPU legge tanti byte, a partire dall'inizio del set di dati, quanti sono indicati nell'indicazione della lunghezza di RECORD e li registra in RECORD. RET_VAL viene indicato con 0. • Se l'indicazione della lunghezza del RECORD è uguale alla lunghezza reale del set di dati desiderato, la CPU legge il set di dati desiderato e lo registra in RECORD. RET_VAL viene indicato con 0. Informazioni di errore Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) della tabella seguente si devono distinguere due casi: • Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx): con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno richiamando nuovamente la SFC (se necessario più volte). Esempio di errore temporaneo: le apparecchiature necessarie (memoria, ecc.) sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Bx): con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo richiamo della SFC è possibile solo quando l'errore è stato risolto. Esempio di errore permanente: l'indicazione della lunghezza in RECORD è errata (W#16#80B1). Avvertenza Se si trasmettono set di dati con la SFC 58 "WR_REC" a uno slave DPV1 o si leggono set di dati con la SFC 59 "RD_REC" da uno slave DPV1 e quest'ultimo funziona in modo DPV1, il master DP analizza l'informazione di errore ricevuta dallo slave nel modo seguente: Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave. Per informazioni sulle informazioni di errore provenienti dagli slave DPV1 consultare Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. 162 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Informazioni di errore per le SFC 58 "WR_REC" e SFC 59 "RD_REC" Codice di errore (W#16#...) Spiegazione Restrizione 0000 Nessun errore - 7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; BUSY ha il valore 0. - 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. Periferia decentrata 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. Periferia decentrata 8090 Indirizzo di base logico indicato non valido: non è presente nessuna assegnazione in SDB1/SDB2x, oppure non è un indirizzo di base. - 8092 Nel riferimento ANY è0 indicato un tipo diverso da BYTE. Solo con S7-400 8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400 con S7-400 e unità DP S7 con S7-300 e S7-400). - 80A0 Conferma negativa alla lettura dell'unità (unità sfilata durante la lettura o unità difettosa) solo con SFC59 "RD_REC" 80A1 Conferma negativa durante la scrittura all'unità (unità sfilata durante la scrittura o unità difettosa) solo con SFC58 "WR_REC" 80A2 • Errore di protocollo DP sul livello 2 Periferia decentrata • Nell'ET200S la lettura del set di dati in modalità PV0 non è possibille 80A3 Errore di protocollo DP con user interface/user Periferia decentrata 80A4 Errore di protocollo bus K sul livello 2 Errore tra CPU e collegamento DP esterno 80B0 • SFC per tipo unità non possibile - • L'unità non conosce il set di dati. • Numero set di dati 241 non è ammesso. • Con SFC58 "WR_REC" i set di dati 0 e 1 non sono ammessi. 80B1 L'indicazione della lunghezza in parametri RECORD è errata. Con SFC 58 "WR_REC": lunghezza errata Con SFC 59 "RD_REC" (possibile solo nell'utilizzo di FM S7-300 e CP S7-300 non aggiornati): Indicazione lunghezza DS Con SFC 13 "DPNRM_DG": Indicazione < lunghezza DS 80B2 Il posto connettore progettato non è occupato. - 80B3 Tipo reale unità diverso da tipo nominale unità nel SDB1 - 80B7 Lo slave DP o l'unità segnalano un campo non ammesso in un parametro o in un valore Solo con SFC 59 "RD_REC Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 163 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Codice di errore (W#16#...) Spiegazione Restrizione 80C0 Nell'SFC 58 "WR_REC": la scrittura dei dati è possibile soltanto nello Con SFC 58 "WR_REC" o stato di funzionamento STOP della CPU. Nota: la scrittura dei dati SFC 59 "RD_REC" o con il programma utente non è pertanto possibile. Quest'operazione SFC 13 "DPN_RM_DG" può essere eseguita soltanto Online tramite PG/PC. Nell'SFC 59 "RD_REC": la CPU gestisce il set di dati, tuttavia o questi ultimi non sono ancora disponibili, o la relativa lettura è possibile soltanto nello stato di funzionamento STOP della CPU. Nota: se la lettura dei dati è possibile soltanto nello stato di funzionamento STOP della CPU, la relativa analisi da parte del programma utente non è possibile. In questo caso la lettura dei dati può essere eseguita soltanto Online tramite PG/PC. Con SFC 13 "DPNRM_DG": non sono presenti dati di diagnostica 80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di dati non sono stati ancora rielaborati dall'unità. 80C2 L'unità elabora momentaneamente il numero massimo possibile di job per una CPU. - 80C3 Le apparecchiature necessarie (memoria ecc.) sono momentaneamente occupate. - 80C4 Errore interno temporaneo. Impossibile eseguire il job. - Ripetere il job. Se si verifica spesso questo errore verificare che nella struttura non vi siano fonti di disturbo. 164 80C5 Periferia decentrata non disponibile Periferia decentrata 80C6 Il trasferimento del set di dati è stato interrotto a causa di un'interruzione della classe di priorità (riavviamento oppure sfondo) Periferia decentrata 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC/SFB per il trasferimento di set di dati 7.9 Altre informazioni di errore delle SFC 55 fino a 59 7.9 Altre informazioni di errore delle SFC 55 fino a 59 Solo per S7-400 Nell'S7-400 le SFC 55 fino a 59 possono fornire anche l'informazione di errore W#16#80FX. Si è presentato quindi un errore che non può essere localizzato. In questo caso è necessario rivolgersi al servizio di manutenzione. 7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" Descrizione L'SFB 81 "RD_DPAR" ("read device parameter") consente di leggere, dai dati di sistema progettati con STEP 7, il set di dati con il numero INDEX del componente indirizzato. Si può trattare di un'unità inserita a livello centrale o di un componente impiegato a livello decentrato (PROFIBUS DP o PROFINET IO). Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito senza errori nell'area di destinazione RECORD. In questo caso al parametro di uscita LEN viene assegnata la lunghezza in byte dei dati letti. Un eventuale errore che si dovesse verificare nel corso del trasferimento del set di dati viene visualizzato con il parametro di uscita ERROR. In questo caso il parametro di uscita STATUS contiene l'informazione di errore. Funzionamento L'SFB 81 "RD_DPAR" è un SFB con funzionamento asincrono, vale a dire che l'elaborazione si estende su diversi richiami di SFB. Il trasferimento del set di dati si avvia richiamando l'SFB 81 con REQ = 1. Con il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS viene visualizzato lo stato dell'ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Il trasferimento del set di dati può considerarsi concluso dopo che il parametro di uscita BUSY ha assunto il valore FALSE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 165 SFC/SFB per il trasferimento di set di dati 7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità Indicare nel bit 15 se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati VALID OUTPUT BOOL E, A, M, D, L Il nuovo set di dati è stato ricevuto ed è valido BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'ordine non è ancora concluso ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore nel corso della lettura STATUS OUTPUT DWORD E, A, M, D, L • Identificazione del richiamo (byte 2 e 3) o codice di errore • Byte 1: B#16#00, in assenza di errori. In caso contrario identificazione della funzione in DPV1-PDU: in caso di errori nella lettura del set di dati: B#16#DE,i n caso di errori nella scrittura del set di dati B#16#DF. Nel caso in cui non venga utilizzato alcun elemento del protocollo DPV1: B#16#C0. • Byte 4: ampliamento dell'ID di errore specifico del costruttore LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di dati letto RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati letto Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito per le CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Informazioni di errore Vedere anche Parametrizzazione di unità con la SFC 57 "PARM_MOD". 166 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 8 SFB DPV1 secondo PNO AK 1131 8.1 Lettura di un set di dati con l'SFB 52 "RDREC" Avvertenza L'interfaccia dell'SFB 52 "RDREC" è identica a quella dell'FB "RDREC" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione L'SFB 52 "RDREC" (read record) consente la lettura del set di dati con il numero INDEX del componente indirizzato tramite ID. Si può trattare di un'unità inserita a livello centrale oppure di un componente della periferia decentrata (PROFIBUS DP oppure PROFINET IO). Con MLEN è possibile predefinire il numero massimo di byte da leggere. Per questo motivo è preferibile scegliere un'area di destinazione RECORD di almeno "MLEN" byte. Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito nell'area di destinazione RECORD con successo. In questo caso, il parametro di uscita LEN avrà la lunghezza dei dati letti in byte. Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è possibile leggere dalle unità degli ingressi e delle uscite set di dati con l'SFB 52. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 167 SFB DPV1 secondo PNO AK 1131 8.1 Lettura di un set di dati con l'SFB 52 "RDREC" Procedimento L'SFB 52 "RDREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 52 con REQ = 1. Nel parametro di uscita BUSY e nei due byte intermedi del parametro di uscita STATUS viene visualizzato lo stato dell'ordine. In questo caso, i due byte intermedi del parametro STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone). Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore FALSE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del trasferimento del set di dati. ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave DP/PROFINET IO (unità o modulo) Se si tratta di un'unità delle uscite occorre impostare il bit 15 (p. es. con l'indirizzo 5: ID:=DW#16#8005). Se l'unità è mista, indicare l'indirizzo minore dei due. INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati. MLEN INPUT INT E, A, M, D, L, cost. Lunghezza max dell'informazione del set di dati da leggere in byte VALID OUTPUT BOOL E, A, M, D, L Un nuovo set di dati è stato ricevuto ed è valido BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è ancora conclusa. ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la lettura si è verificato un errore. STATUS OUTPUT DWORD E, A, M, D, L Identificazione di errore o stato del blocco. LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di dati letta. RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati letto Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Avvertenza Impiegando l'SFB 52 per la lettura di un set di dati in PROFINET IO, i valori negativi nei parametri INDEX, MLEN e LEN vengono interpretati come numeri interi senza segno a 16 bit. Informazioni di errore Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM" 168 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.2 Scrittura di un set di dati con l'SFB 53 "WRREC" 8.2 Scrittura di un set di dati con l'SFB 53 "WRREC" Avvertenza L'interfaccia dell'SFB 53 "WRREC" è identica a quella dell'FB "WRREC" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione L'SFB 53 "WRREC" (write record) consente la trasmissione del set di dati RECORD al componente indirizzato tramite ID. Si può trattare di un'unità inserita a livello centrale oppure di un componente della periferia decentrata (PROFIBUS DP oppure PROFINET IO). Con LEN è possibile predefinire la lunghezza del set di dati da trasferire in byte. Per questo motivo è preferibile scegliere un'area sorgente RECORD di almeno "LEN" byte. Il valore TRUE del parametro di uscita DONE indica che il set di dati è stato trasferito con successo. Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è possibile scrivere nelle unità degli ingressi e delle uscite set di dati con l'SFB 53. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 169 SFB DPV1 secondo PNO AK 1131 8.2 Scrittura di un set di dati con l'SFB 53 "WRREC" Procedimento L'SFB 53 "WRREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 53 con REQ = 1. Nel parametro di uscita BUSY e nei due byte intermedi del parametro di uscita STATUS viene visualizzato lo stato dell'ordine. In questo caso, i due byte intermedi di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone). Assicurarsi di aver assegnato al parametro attuale RECORD lo stesso valore per tutti gli ordini appartenenti allo stesso ordine dell'SFB 53. Lo stesso vale per i parametri attuali di LEN. Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore FALSE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del trasferimento del set di dati. ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave DP/PROFINET IO (unità o modulo) Se si tratta di un'unità delle uscite occorre impostare il bit 15 (p. es. con l'indirizzo 5: ID:=DW#16#8005). Se l'unità è mista, occorre indicare l'indirizzo minore dei due. INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati LEN INPUT INT E, A, M, D, L, cost. Lunghezza max del set di dati da trasferire in byte DONE OUTPUT BOOL E, A, M, D, L Il set di dati è stato trasferito BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura non è ancora conclusa. ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la scrittura si è verificato un errore. STATUS OUTPUT DWORD E, A, M, D, L Identificazione di errore o stato del blocco Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM" RECORD IN_OUT ANY E, A, M, D, L Set di dati Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Avvertenza Impiegando l'SFB 53 per la scrittura di un set di dati in PROFINET IO, i valori negativi nei parametri INDEX e LEN vengono interpretati come numeri interi senza segno a 16 bit. Informazioni di errore Per l'interpretazione del parametro STATUS vedere Allarme ricevuto con l'SFB 54 "RALRM" 170 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Avvertenza L'interfaccia dell'SFB 54 "RALRM" è identica a quella dell'FB "RALRM" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione L'SFB "RALRM" riceve un allarme con la relativa informazione da un'unità di periferia (configurazione centrale) o da un componente di uno slave DP o di un PROFINET IO Device e mette questa informazione a disposizione dei suoi parametri di uscita. L'informazione nei parametri di uscita contiene sia le informazioni di avvio dell'OB richiamato che quelle della sorgente dell'allarme. Richiamare l'SFB 54 soltanto all'interno dell'OB di allarme avviato dal sistema operativo della CPU in base all'allarme della periferia da verificare. Avvertenza Richiamando l'SFB 54 "RALRM" in un OB il cui evento di avvio non è un allarme della periferia, l'SFB fornisce, nelle uscite, proporzionalmente meno informazioni. Assicurarsi che, con il richiamo dell'SFB 54 "RALRM", vengano utilizzati diversi DB di istanza in diversi OB. Se si analizzano i dati risultanti da un richiamo dell'SFB 54 al di fuori dell'OB di allarme corrispondente, è persino necessario utilizzare un DB di istanza per ciascun evento di avvio di un OB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 171 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Richiamo dell'SFB 54 L'SFB 54 "RALRM" può essere richiamato in tre diversi tipi di funzionamento (MODE), che sono elencati nella tabella seguente. MODE L'SFB 54 ... 0 ... indica il componente che ha attivato l'allarme nel parametro di uscita ID e scrive nel parametro di uscita NEW il valore TRUE. 1 ... scrive tutti i parametri di uscita a prescindere dal componente che ha attivato l'allarme. 2 ... controlla che il componente indicato nel parametro di ingresso F_ID non abbia attivato l'allarme. • In caso negativo, a NEW viene assegnato il valore FALSE • In caso positivo, a NEW viene assegnato il valore TRUE, mentre vengono scritti tutti gli altri parametri di uscita Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Tipo di funzionamento F_ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico iniziale del componente (unità o modulo) che dovrebbe ricevere gli allarmi MLEN INPUT INT E, A, M, D, L, cost. Lunghezza massima dell'informazione di allarme da ricevere in byte NEW OUTPUT BOOL E, A, M, D, L È stato ricevuto un nuovo allarme. STATUS OUTPUT DWORD E, A, M, D, L Codice di errore dell'SFB o del master DP ID OUTPUT DWORD E, A, M, D, L Indirizzo logico iniziale del componente (unità o modulo) che ha ricevuto un allarme Il bit 15 contiene l'identificazione E/A: 0 in caso di indirizzo di ingresso, 1 in caso di indirizzo di uscita. LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione di allarme ricevuta TINFO IN_OUT ANY E, A, M, D, L (task information) Area di destinazione per l'informazione di avvio dell'OB e informazione dell'amministrazione AINFO IN_OUT ANY E, A, M, D, L (alarm information) Area di destinazione per informazione dell'intestazione e informazione supplementare di allarme Per AINFO va prevista una lunghezza di almeno 'MLEN' byte. Attenzione Se l'area di destinazione TINFO o AINFO scelta è troppo piccola, l'SFB 54 non è in grado di registrare l'intera informazione. 172 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Struttura dei dati dell'area di destinazione TINFO Byte Significato 0 … 19 Informazione di avvio dell'OB nel quale attualmente è stato richiamato l'SFB 54 20 e 21 Indirizzo, descrizione dettagliata v. oltre 22 … 31 Informazione dell'amministrazione, descrizione dettagliata v. oltre Struttura dell'indirizzo (byte 20 e 21) L'indirizzo comprende: • Se la configurazione è centrale, il numero di telaio dell'unità (0-31). • Se la configurazione è decentrata con PROFIBUS DP • - L'ID del sistema master DP (1-32) - Il numero della stazione (0-127). Se la configurazione è decentrata con PROFINET IO - Le ultime due cifre dell'ID del sistema PROFINET IO (0-15); per completare l'ID del sistema PROFINET IO occorre aggiungere 100 (decimale) - Il numero della stazione (0-2047). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 173 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Struttura dell'informazione dell'amministrazione – byte da 20 a 25 N. byte TINFO Tipo di dati Significato 20 BYTE centrale: 0 decentrato: PROFIBUS DP: ID sistema master DP (valori possibili: 1 ... 32) PROFINET IO: v. sopra 21 BYTE centrale: Numero di telaio di montaggio (valori possibili: 0 ... 31) decentrato: Numero della stazione (valori possibili: 0 ... 127) PROFINET IO: v. sopra 22 23 BYTE BYTE centrale: • decentrato: • Bit 0 ... 3: Tipo di slave • Bit 4 ... 7: Tipo di profilo Riservato Bit 0 ... 3: Tipo di 0000: informazione di allarme Trasparente, per PROFINET IO è sempre così (l'allarme proviene da un'unità decentrata progettata) centrale: 0000: DP (struttura del set di dati 0) 0001: DPS7 (struttura del set di dati 0 oppure set di dati 1) 0010: DPS7 V1 (struttura del set di dati 0 oppure set di dati 1) 0011: DPV1 (struttura secondo PROFIBUS DP Standard) 0100 – 0111: riservato 1000: PROFINET IO (struttura secondo PROFINET IO Standard) da 1001: riservato 0 decentrato: • • 174 0: set di dati 0 oppure 1 Bit 4 ... 7: 0001: Sostituto (l'allarme proviene da uno slave non DPV1/da un dispositivo non IO Device o da un posto connettore non progettato) 0010: Creato (allarme generato nella CPU) da 0011: Riservato Versione 0000: della struttura da 0001: Iniziale Riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" N. byte TINFO Tipo di dati 24 BYTE Significato centrale: 0 decentrato: Flag dell'interfaccia master PROFIBUS DP/PROFINET IO Controller 25 BYTE centrale: • Bit 0 = 0: Allarme proveniente da un'interfaccia integrata (PROFINET IO o PROFIBUS DP) • Bit 0 = 1: Allarme proveniente da un'interfaccia esterna (PROFINET IO o PROFIBUS DP) • Bit 1 ... 7: Riservato • 0 decentrato: Flag dell'interfaccia slave PROFIBUS DP • Bit 0: EXT_DIAG_FLAG dal telegramma di diagnostica o 0 se questo bit non è disponibile nell'allarme. Il bit è 1 se lo slave DP è guasto. • Bit 1 ... 7: Riservato Flag dell'interfaccia PROFINET IO Controller • Bit 0: ARDiagnosisstate oppure 0 se nell'allarme non è disponibile alcuna informazione. • Bit 1 ... 7: Riservato Il bit è 1 se l'IO Device è guasto. Struttura dell'informazione dell'amministrazione - byte da 26 a 27 con PROFIBUS e nella configurazione centrale N. byte TINFO Tipo di dati Significato 26 e 27 WORD centrale: 0 WORD decentrato: Numero ID PROFIBUS come identificazione univoca dello slave PROFIBUS DP 28 e 29 WORD 0 (i byte 28 e 29 non sono necessari) 30 e 31 WORD 0 (i byte 30 e 31 non sono necessari) Qui si conclude l'informazione dell'amministrazione dell'area di destinazione TINFO con PROFIBUS e configurazione centrale. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 175 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Struttura dell'informazione dell'amministrazione - byte da 26 a 31 con PROFINET IO N. byte TINFO Tipo di dati Significato 26 e 27 WORD decentrato: Numero ID PROFINET IO Device come identificazione univoca del PROFINET IO Device 28 e 29 WORD decentrato: Identificativo produttore 30 e 31 WORD decentrato: Numero ID dell'istanza Struttura dei dati dell'area di destinazione AINFO con allarmi PROFIBUS DP o periferia centrale I dati relativi a PROFINET IO sono indicati oltre. Byte Significato 0 ... 3 Informazione dell'intestazione, per la descrizione dettagliata v. oltre 4 ... 199 Informazione supplementare dell'allarme: dati del rispettivo allarme: centrale: ARRAY[0] ... ARRAY[195] decentrato: ARRAY[0] ... ARRAY[59] Struttura dell'informazione dell'intestazione con allarmi PROFIBUS DP o periferia centrale Byte Tipo di dati 0 BYTE 1 2 176 BYTE BYTE Significato Lunghezza in byte dell'informazione di allarme ricevuta centrale: decentrato: 4 ... 224 centrale: Riservato decentrato: ID del tipo di allarme 4 ... 63 1: 2: 3: 4: 5: 6: 31 Allarme di diagnostica Interrupt di processo Allarme di estrazione Allarme di inserimento Allarme di stato Allarme di aggiornamento Guasto di un'apparecchiatura di ampliamento, di un sistema master DP o di una stazione DP 32 ... 126: Allarme produttore Posto connettore del componente causa dell'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Byte Tipo di dati Significato 3 BYTE centrale: Riservato decentrato: Specifier Bit 0 e 1: 0: nessuna ulteriore informazione; 1: evento entrante, posto connettore guasto 2: evento uscente, posto connettore non più guasto 3: evento uscente, posto connettore ancora guasto Bit 2: Add_Ack Bit 3 ... 7: Numero sequenziale Struttura dei dati dell'area di destinazione AINFO con allarmi PROFINET IO Byte Significato 0 ... 25 Informazione dell'intestazione, per la descrizione dettagliata v. oltre 18 ... 1431 Informazione supplementare dell'allarme: dati di diagnostica standard del rispettivo allarme: ARRAY[0] ... ARRAY[1405] Avvertenza: l'informazione supplementare dell'allarme può essere tralasciata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 177 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Struttura dell'informazione dell'intestazione di allarmi con PROFINET IO Byte Tipo di dati Significato 0e1 WORD • Bit da 0 a 7: tipo di blocco • Bit da 8 a 15: riservato Lunghezza del blocco 2e3 WORD • 4e5 WORD Versione: 6e7 178 WORD • Dai bit 0 a 7: low byte • Dai bit 8 a 15: high byte ID del tipo di allarme: • 1: allarme di diagnostica (entrante) • 2: interrupt di processo • 3: allarme di estrazione • 4: allarme di inserimento • 5: allarme di stato • 6: allarme di aggiornamento • 7: allarme di ridondanza • 8: comandato dal supervisore (Controlled_by_Supervisor) • 9: abilitato dal supervisore (Released_by_Supervisor) • 10: l'unità inserita non è quella progettata • 11: ripristino del sottomodulo • 12: allarme di diagnostica (uscente) • 13: messaggio di collegamento comunicazione diretta • 14: messaggio di modifica dei componenti vicini • 15: messaggio di sincronizzazione di clock (nel bus) • 16: messaggio di sincronizzazione di clock (nel dispositivo) • 17: messaggio dei componenti di rete • 18: messaggio di sincronizzazione dell'ora (nel bus) • 19 ... 31: riservato • 32 ... 127: allarme specifico del costruttore • 128 ... 65535: riservato 8 … 11 DWORD API (Application Process Identifier) 12 … 13 WORD N. del posto connettore dei componenti che hanno generato l'allarme (campo di valori da 0 ... 65535) 14 … 15 WORD N. del posto connettore nel sottomodulo dei componenti che hanno generato l'allarme (campo di valori da 0 ... 65535) 16 … 19 DWORD Identificazione del modulo; informazione univoca della sorgente dell'allarme 20 … 23 DWORD Identificazione del sottomodulo; informazione univoca della sorgente dell'allarme Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Byte Tipo di dati Significato 24 … 25 WORD Alarm Specifier: • Bit 0 ... 10: numero della sequenza (campo di valori da 0 ... 2047) • Bit 11: diagnostica di canale: 0: diagnostica di canale non disponibile 1: diagnostica di canale disponibile • Bit 12: stato della diagnostica specifica del costruttore: 0: informazione di stato specifica del costruttore non disponibile 1: informazione di stato specifica del costruttore disponibile • Bit 13: stato della diagnostica nel sottomodulo: 0: informazione di stato non disponibile, tutti gli errori sono stati eliminati 1: sono disponibili almeno un messaggio di diagnostica canale e/o un'informazione di stato. • Bit 14: riservato • Bit 15: Application Relationship Diagnosis State: - 0: nessuna unità progettata in questa AR emette un messaggio di diagnostica - 1: almeno un'unità progettata in questa AR emette un messaggio di diagnostica Struttura dell'informazione supplementare dell'allarme con PROFINET IO In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato e può essere costituita da più blocchi dati con un ID di formato identico o diverso. Sono possibili i seguenti ID del formato: da W#16#0000 a W#16#7FFF: per informazioni di diagnostica specifiche del costruttore. Byte Tipo di dati Significato 0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme: 2 ... n BYTE Consultare il manuale del costruttore. W#16#0000 ... W#16#7FFF: diagnostica del costruttore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 179 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" • W#16#8000 informazioni sulla diagnostica del canale La diagnostica di canale viene emessa in blocchi di rispettivamente 6 byte. L'informazione supplementare dell'allarme (senza ID del formato) viene emessa solo per canali che presentano anomalie o guasti. Byte Tipo di dati Significato 0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme W#16#8000: diagnostica di canale 2 ... 3 4 WORD BYTE Numero di canale del componente che ha attivato l'allarme (campo di valori 0 ... 65535): • W#16#0000 ... W#16#7FFF: numero di canale del sottomodulo /modulo • W#16#8000: rappresentativo per l'intero sottomodulo • W#16#8001 ... W#16#FFFF: riservato Bit 0 ... 2: Riservato Bit 3 ... 4: Tipo di errore Bit 5 ... 7: 5 180 BYTE • 0: riservato • 1: errore entrante • 2: errore uscente • 3: errore uscente, sono presenti altri errori Tipo di canale • 0: riservato • 1: canale di ingresso • 2: canale di uscita • 3: canale di ingresso/uscita Formato dei dati • B#16#00: formato dei dati libero • B#16#01: bit • B#16#02: 2 bit • B#16#03: 4 bit • B#16#04: byte • B#16#05: parola • B#16#06: doppia parola • B#16#07: 2 doppie parole • B#16#08 ... B#16#FF: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Byte Tipo di dati Significato 6 ... 7 WORD Tipo do errore: • W#16#0000: riservato • W#16#0001: cortocircuito • W#16#0002: sottotensione • W#16#0003: sovratensione • W#16#0004: sovraccarico • W#16#0005: sovratemperatura • W#16#0006: rottura cavo • W#16#0007: superamento verso l'alto valore limite superiore • W#16#0008: superamento verso il basso valore limite inferiore • W#16#0009: errore • W#16#000A ... W#16#000F: riservato • W#16#0010 ... W#16#001F: specifico del costruttore • W#16#0020 ... W#16#00FF: riservato • W#16#0100 ... w#16#7FFF: specifico del costruttore • W#16#8000: diagnostica dell'apparecchiatura presente • W#16#8001 ... W#16#FFFF: riservato Non tutti i canali supportano tutti i tipi di errore. Maggiori dettagli sono riportati nella descrizione die dati di diagnostica del rispettivo dispositivo Avvertenza La parte che si estende da "Numero di canale" a "Tipo di errore" può presentarsi da 0 a n volte. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 181 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" • W#16#8001: MULTIPLE (vengono trasmessi tipi diversi di informazioni di diagnostica) In questo caso l'informazione supplementare di allarme viene emessa in una struttura a blocchi di lunghezza variabile. Byte Tipo di dati 0 …1 WORD Significato ID del formato per la struttura dei dati dell'informazione supplementare di allarme W#16#8001: diagnostica del costruttore e /o del canale 2…3 WORD Tipo di blocco 4…5 WORD Lunghezza del blocco 6 BYTE Versione: high byte 7 BYTE Versione: low byte 8 … 11 DWORD API (soltanto se il low byte appartiene alla versione = 1) 12 … 13 WORD ID del posto connettore 14 … 15 WORD ID del posto connettore subordinato 16 … 17 WORD Numero di canale 18 … 19 WORD Proprietà del canale 20 … 21 WORD ID del formato: 22 … n BYTE • W#16#0000 ... W#16#7FFF: diagnostica del costruttore • W#16#8000: diagnostica di canale • W#16#8002: diagnostica di canale avanzata • W#16#8003: diagnostica di canale avanzata a livelli • W#16#8004 … W#16#80FF: riservato Dati in funzione dell'ID del formato Avvertenza La parte a partire da "Tipo di blocco" può presentarsi da 1 a n volte. • 182 W#16#8002: diagnostica di canale avanzata Byte Significato 0…1 ID del formato W#16#8002 2…3 Numero di canale 4…5 Proprietà del canale 6…7 Tipo di errore 8…9 Valore supplementare dell'errore 10 … 13 Informazione supplementare di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" • W#16#8003: diagnostica di canale avanzata strutturata per livelli Byte Significato 0…1 ID del formato W#16#8003 2…3 Numero di canale 4…5 Proprietà del canale 6…7 Tipo di errore 8…9 Valore supplementare dell'errore 10 … 13 Informazione supplementare di errore 14 … 17 Qualified Channel Qualifier • W#16#8100: informazione di manutenzione Byte Significato 0…1 ID del formato W#16#8100 2…3 Tipo di blocco 4…5 Lunghezza del blocco 6…7 Versione blocco 8…9 Riservato 10 … 13 Stato di manutenzione Avvertenza Per informazioni più dettagliate sulla configurazione dell'informazione di stato dell'allarme, consultare il manuale di programmazione SIMATIC PROFINET IO Migrazione da PROFIBUS DP a PROFINET IO e la Norma IEC 61158-6-10-1 aggiornata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 183 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Area di destinazione TINFO e AINFO A seconda del rispettivo OB nel quale si richiama l'SFB 54, le aree di destinazione TINFO e AINFO vengono scritte solo in parte. La tabella seguente contiene le informazioni che vengono registrate di volta in volta. Tipo di allarme OB Interrupt di processo 4x TINFO OB informazione di stato TINFO Informazione amministrazione AINFO Informazione intestazione AINFO informazione supplementare allarme Sì Sì Sì Centrale: No Decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device Allarme di stato 55 Sì Sì Sì Sì Sì Allarme di aggiornamento 56 Sì Sì Sì Sì Sì Allarme produttore 57 Sì Sì Sì Sì Sì Errore periferia ridondata 70 Sì Sì No No No Allarme di diagnostica 82 Sì Sì Sì Centrale: Set di dati 1 Decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device Allarme di estrazione / inserimento 83 Centrale: No Decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device Forma speciale di allarme di estrazione: 83 Sì Sì Sì Solo PROFINET IO 83 Sì Sì Sì Solo PROFINET IO Unità inserita non progettata 83 Sì Sì Sì Solo PROFINET IO Guasto telaio di montaggio / stazione 86 Sì Sì No No Sì No No No Sì Sì Sì Controllato dal Supervisor Forma speciale di allarme di inserimento: Abilitato dal Supervisor ... tutti gli altri OB 184 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Informazioni di errore Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come ARRAY[1...4] OF BYTE, l'informazione di errore avrà la seguente struttura: Elemento del campo Nome Significato STATUS[1] Function_Num • B#16#00, se non vi sono errori • Identificazione della funzione da PDU DPV1: in caso di lettura del set di dati B#16#DE, in caso di errori di scrittura del seti di dati B#16#DF. Se non viene utilizzato un elemento di protocollo: DPV1: B#16#C0. STATUS[2] Error_Decode Punto di rilevamento dell'errore STATUS[3] Error_Code_1 Identificazione dell'errore STATUS[4] Error_Code_2 Ampliamento dell'identificazione dell'errore specifico del produttore STATUS[2] può assumere i seguenti valori: Error_Decode (B#16#...) Sorgente Significato 00 - 7F CPU Nessun errore o nessun avviso 80 DPV1 Errore secondo la IEC 61158-6 81 - 8F CPU B#16#8x indica un errore nell'"x-esimo" parametro di richiamo dell'SFB. FE, FF Profili DP Errore specifico del profilo STATUS[3] può assumere i seguenti valori: Error_Decode (B#16#...) Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato 00 00 Nessun errore, nessun avviso 70 00 01 02 reserved, reject reserved, reject reserved, reject Primo richiamo; nessun trasferimento del set di dati attivo Primo richiamo; trasferimento del set di dati avviato Richiamo intermedio; trasferimento del set di dati già attivo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 185 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Error_Decode (B#16#...) 80 Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato 90 92 93 Indirizzo logico iniziale non valido Tipo di puntatore ANY non ammesso Il componente DP indirizzato tramite ID o F_ID non è stato configurato. Errore di lettura dell'informazione di allarme supplementare nel sistema H (in caso di lettura dell'informazione di allarme supplementare nella periferia centrale o decentrata tramite interfaccia DP esterna, questo errore viene emesso come "errore cumulativo"). Avvertenza: in caso di accoppiamento e aggiornamento può succedere che l'informazione supplementare di allarme non sia momentaneamente disponibile. In un sistema H è stata effettuata una commutazione riserva/master e la CPU che finora era master è entrata in STOP. Nello stesso momento era in fase di elaborazione un OB. L'SFB 54 non è in grado di fornire né l'informazione di start dell'OB, né l'informazione di amministrazione, né l'informazione dell'intestazione né l'informazione supplementare sull'allarme. L'informazione di start dell'OB si può leggere con l'SFC 6 "RD_SINFO". Inoltre, negli OB 4x, 55, 56, 57, 82 e 83 è possibile leggere in modo asincrono il telegramma di diagnostica attuale dello slave DP con l'aiuto dell'SFC 13 "DPNRM_DG" (informazione sull'indirizzo nell'informazione di start dell'OB). Conferma negativa della lettura dall'unità Conferma negativa della scrittura nell'unità Errore di protocollo DP sul livello 2 (p. es. guasto allo slave o al bus) • PROFIBUS DP: errore di protocollo DP con Direct-Data-Link-Mapper o User-Interface/User • PROFINET IO: errore CM generaler Comunicazione disturbata nel bus K Slave DP o unità occupati (errore temporaneo) Slave DP o unità segnalano versioni diverse Funzione non supportata dallo slave DP p dall'unità reserved, pass reserved, pass reserved, pass 95 96 186 A0 A1 A2 read error write error module failure A3 reserved, pass A4 A5 A7 A8 A9 AA - AF reserved, pass reserved, pass reserved, pass version conflict feature not supported user specific B0 invalid index B1 write length error B2 B3 B4 invalid slot type conflict invalid area Slave DP o unità segnalano un errore del produttore dell'applicazione. Consultare la documentazione del produttore dello slave DP o dell'unità. Set di dati sconosciuto all'unità numero del set di dati ≥256 non consentito La lunghezza indicata nel parametro RECORD non è corretta; SFB 54: errore di lunghezza in AINFO nelle SFB 52 e 53: errore di lunghezza nel parametro MLEN Il posto connettore progettato non è occupato. Tipo di unità effettivo diverso da quello di riferimento Slave DP o unità segnalano un accesso ad un'area non ammessa Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Error_Decode (B#16#...) Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato B5 B6 B7 state conflict access denied invalid range B8 B9 invalid parameter invalid type BA - BF user specific C0 read constrain conflict C1 write constrain conflict C2 resource busy C3 Resource unavailable Slave DP o unità non pronti Slave DP o unità rifiutano l'accesso Slave DP o unità segnalano un'area non ammessa di un parametro o un valore Slave DP o unità segnalano un parametro non ammesso Slave DP o unità segnalano un tipo non ammesso Nell'SFB 52: buffer troppo piccolo (la lettura di una parte delle informazioni non è possibile ) Nell'SFB 53: buffer troppo piccolo (la scrittura di una parte delle informazioni non è possibile) Slave DP o unità segnalano un errore del produttore dell'applicazione. Consultare la documentazione del produttore dello slave DP o dell'unità. Nell'SFB 53 "WRREC": la scrittura dei dati è possibile esclusivamente nello stato di funzionamento STOP della CPU. Avvertenza: la scrittura tramite il programma utente non è pertanto possibile. I dati possono essere inseriti soltanto Online dal PG/PC. Nell'SFB 52 "RDREC": l'unità gestisce il set di dati ma non esistono dati disponibili oppure essi possono essere letti soltanto nello stato di funzionamento STOP della CPU. Avvertenza: se la lettura dei dati può essere eseguita soltanto nello stato STOP della CPU, l'analisi tramite il programma utente non è possibile. In questo caso i dati possono essere letti soltanto Online dal PG/PC. I dati dell'ordine di scrittura precedente dell'unità per lo stesso set di dati non sono ancora stati elaborati dall'unità. L'unità elabora attualmente il numero massimo di ordine consentito per una CPU. Le risorse necessarie sono momentaneamente occupate. Errore temporaneo interno. Impossibile eseguire il task. Ripetere il task. Se l'errore si verifica spesso verificare che non ci siano sorgenti di disturbo nella propria struttura. Slave DP o unità non disponibili. Trasmissione del set di dati interrotta per interruzione classi di priorità Interruzione del task per nuovo avviamento (avviamento a caldo) o avviamento a freddo del master DP. Slave DP o unità segnalano un errore del produttore relativo alle risorse. Consultare la documentazione del produttore dello slave DP o dell'unità. Specifico dello slave DP. Vedere la descrizione dello slave DP. C4 C5 C6 C7 C8 - CF Dx user specific Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 187 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Error_Decode (B#16#...) Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato 8x (x = 1, ... 9, 00 - FF A, B, C, D, E, F) Errore nel y-esimo parametro di richiamo (y = 1, ...15) • Error_Code_1 = 00: modo di funzionamento non ammesso • Per tutti gli altri valori di Error_Code_1 vedere "Codici di errore generali” nell’Analisi degli errori con il parametro di uscita RET_VAL FE, FF Errore specifico del profilo 00 … FF STATUS[4] viene trasmesso in caso di errori DPV1 dal master DP alla CPU e all'SFB. Senza errori DPV1, il valore viene impostato a 0 con le eccezioni seguenti negli SFB 52 e 53: 188 • STATUS[4] contiene la lunghezza dell'area di destinazione di RECORD, con lunghezza LEN > lunghezza dell'area di destinazione di RECORD • STATUS[4]=LEN con lunghezza effettiva del set di dati < LEN < lunghezza dell'area di destinazione di RECORD. • STATUS[4]=0, se fosse necessario impostare STATUS[4] > 255. • In PROFINET IO al parametro STATUS[4] viene assegnato il valore 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Avvertenza L'interfaccia dell'SFB 75 "SALRM" è identica a quella dell'FB "SALRM" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione Con l'SFB 75 "SALRM" il programma utente dello slave intelligente invia al master DP un allarme proveniente da un posto connettore situato nell'area di trasferimento (posto connettore virtuale). Nel master DP viene avviato l'OB corrispondente. L'allarme può essere corredato di informazioni supplementari specifiche, leggibili nel master DP con l'SFB 54 "RALRM". L'SFB 75 è utilizzabile soltanto nel modo "compatibile con S7". • DP: il master riconosce lo I-slave mediante file GSD. • compatibile con S7: lo I-slave viene collegato ad un master mediante l'applicazione Configurazione HW di STEP 7. Metodo di lavoro L'SFB 75 "SALRM" è un SFB operante in modo asincrono, ciò significa che l'elaborazione comprende più richiami dell'SFB. La trasmissione dell'allarme viene avviata richiamando l'SFB 75 con REQ = 1. La procedura di trasmissione rimane attiva fino a quando l'elaborazione dell'allarme viene confermata o interrotta dal master DP. Il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS permettono di visualizzare lo stato dell'ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone). La trasmissione dell'allarme è conclusa quando il parametro di uscita BUSY assume il valore FALSE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 189 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Identificazione dell'ordine Se con l'SFB 75 viene attivato l'invio di un allarme al master DP e l'utente richiama nuovamente l'SFB prima della conclusione dell'ordine in corso, la reazione dell'SFB dipende dalla possibilità che il nuovo richiamo riguardi lo stesso ordine o meno. Se i parametri ID e ATYPE coincidono con un ordine non ancora concluso, il richiamo dell'SFB vale come richiamo successivo. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione della trasmissione dell'allarme ID INPUT DWORD E, A, M, D, L, cost. Qualunque indirizzo logico dell'area di passaggio al master DP (posti connettore virtuali) (dal lato dello slave DP) eccetto l'indirizzo di diagnostica della stazione e l'indirizzo logico del posto connettore 2. L'informazione rilevante si trova nel low word. L'high word va occupato con 0. Il bit 15 contiene l'identificazione E/A: 0 in caso di indirizzo di ingresso, 1 in caso di indirizzo di uscita. ATYPE INPUT INT E, A, M, D, L, cost. alarm type Identificazione del tipo di allarme. Valori possibili: ASPEC 190 INPUT INT E, A, M, D, L, cost. • 1: allarme di diagnostica • 2: interrupt di processo alarm specifier • 0: nessuna ulteriore informazione • 1: evento entrante, posto connettore guasto • 2: evento uscente, guasto eliminato • 3: evento uscente, posto connettore ancora guasto LEN INPUT INT E, A, M, D, L, cost. Lunghezza in byte dell'informazione di allarme supplementare da inviare. Valore massimo: 16. DONE OUTPUT BOOL E, A, M, D, L DONE=1: allarme trasmesso BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: trasmissione dell'allarme in corso ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore AINFO IN_OUT ANY E, A, M, D, L alarm information Area sorgente per le informazioni di allarme supplementari. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Parametro ATYPE La seguente tabella indica, per ogni valore di ATYPE consentito, l'OB richiamato nel relativo master DP ed il modo DP che permette il tipo di allarme. ATYPE Significato nella norma DPV1 OB attivato nel master DP S7 Modo DP DP Compatibile con S7 1 diagnosis alarm OB di allarme di diagnostica (OB 82) - Sì 2 process alarm OB di interrupt di processo (da OB 40 a OB 47) - Sì Avvertenza Oltre a quanto riportato nella tabella, la possibilità di utilizzare i diversi tipi di allarme dipende anche dal master DP. Interdipendenza tra tipo di allarme e stato di funzionamento del master S7 Se lo slave si trova nel modo "compatibile con S7" (funzionamento con un master S7), gli allarmi di diagnostica e gli interrupt di processo possono essere inviati soltanto se il master DP si trova nello stato di funzionamento (DP: Operate). Se il master DP è in STOP (DP: Clear), l'allarme viene trattenuto e l'SFB 75 fornisce l'informazione di errore W#16#80C8. È compito dell'utente fare in modo che l'invio dell'allarme venga recuperato in un secondo momento. Parametro ASPEC Questo parametro visualizza conformemente alla norma lo stato della diagnostica del posto connettore virtuale. Per questo motivo è consentito assegnare ad ASPEC un valore diverso da 0 soltanto se si invia un allarme di diagnostica. Poiché nelle informazioni di allarme supplementari S7 dell'allarme di diagnostica (set di dati 0) è presente un'informazione di evento entrante / uscente (vedere Dati di diagnostica byte 0 bit 0), nel byte 0 delle informazioni di allarme supplementari vanno assegnati al bit 0 (guasto all'unità) i seguenti valori: ASPEC Bit "Guasto all'unità" in AINFO 0 0 1 1 2 0 3 1 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 191 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Parametro LEN In LEN viene indicata la lunghezza in byte delle informazioni di allarme supplementari da inviare. L'area di valori consentita va da 0 a 16. La tabella seguente indica i valori di LEN consentiti per i diversi tipi di allarme nei modi operativi assunti dallo slave intelligente. Tipo di allarme DP Compatibile con S7 Allarme di diagnostica - Da 4 a 16 Interrupt di processo - 4 La tabella seguente descrive la reazione dell'SFB 75 quando si assegna a LEN un valore diverso dalla lunghezza di AINFO in BYTE. Valori di LEN Reazione dell'SFB 75 <= lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle informazioni di allarme supplementari trasferiti corrisponde a quello indicato in LEN. al di fuori dell'area di valori consentita, SFB 75 non invia alcun allarme. p. es. < 0 o > 16 Informazione di errore: W#16#80B1, STATUS[4]=B#16#FF > lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle informazioni di allarme supplementari trasferiti corrisponde a quello indicato in AINFO. Informazione di errore: W#16#00B1, STATUS[4]=lunghezza indicata in AINFO Parametro AINFO AINFO è l'area sorgente per le informazioni di allarme supplementari. Per quanto riguarda lo slave intelligente, a quest'area può essere assegnato qualsiasi valore; tuttavia, se si utilizza un master S7 le informazioni supplementari inviate devono corrispondere agli standard S7. Se si invia un allarme di diagnostica (ATYPE=1), occorre provvedere ad un'occupazione corretta del set di dati 0 ed eventualmente del set di dati 1. La tabella seguente riporta un esempio di occupazione conforme ad S7. Il bit "Guasto all'unità" (v. sopra) è già impostato; fatta eccezione per tale bit, l'esempio corrisponde all'occupazione di default (che si verifica dopo RETE ON, a seguito di un passaggio dello slave intelligente da STOP a RUN oppure dopo un ritorno di stazione): N. set di dati Occupazione 0 B#16#01, 0B, 00, 00 1 in modo "compatibile con S7": seti di dati 0 + 12 byte con 0 (vedere anche Panoramica della struttura dei dati di diagnostica). 192 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Effetti del richiamo dell'SFB 75 sulle informazioni di stato delle unità e sul LED di errore cumulativo (SF) Come accade per ogni CPU, anche lo slave intelligente memorizza le proprietà dei propri posti connettore nell'informazione sullo stato delle unità (vedere SZL-ID W#16#xy91 - Informazione sullo stato delle unità). Se si invia un allarme di diagnostica mediante SFB 75, il sistema operativo dello slave intelligente modifica le informazioni locali dello slave sullo stato delle unità e influisce sul LED SF in dipendenza del bit 0 nel byte 0 di AINFO (questo bit viene acquisito come "Unità guasta" nell'informazione di stato). Nello slave intelligente non viene tuttavia effettuata alcuna registrazione nel buffer di diagnostica e non viene avviato nessun OB di allarme di diagnostica. Coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente Nel seguito vengono illustrate diverse situazioni possibili e le loro conseguenze per l'informazione sullo stato delle unità. • Ritorno di stazione (conseguenza: attivazione dell'OB 86 nel master DP e nello slave intelligente). Sia nello I-slave che nel master S7 l'informazione sullo stato delle unità viene modificata (il bit "Unità guasta" viene resettato). Se dopo il ritorno della stazione l'utente riscontra delle anomalie nello I-slave, queste devono essere comunicate al master DP richiamando l'SFB 75. • Passaggio da STOP a RUN del master DP (conseguenza: attivazione dell'OB 82 nello slave intelligente). L'informazione sullo stato delle unità nello I-slave non viene modificata. Il master DP resetta il bit "Unità guasta" nella relativa informazione sullo stato delle unità. Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente nel modo "compatibile con S7" occorre intervenire sullo I-slave nel seguente modo: • - per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di diagnostica uscente mediante SFB 75 - per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica entrante mediante SFB 75. Passaggio delle slave intelligente da STOP a RUN (conseguenza: attivazione dell'OB 82 nel master DP). L'informazione sullo stato delle unità nel master DP non viene modificata, quella dello slave intelligente viene resettata (reset del bit "Unità guasta"). Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente occorre intervenire sullo I-slave nel seguente modo: - per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di diagnostica uscente mediante SFB 75 - per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica entrante mediante SFB 75. Avvertenza Poiché l'SFB 75 funziona in modo asincrono, i richiami dell'SFB 75 negli OB di avviamento non possono essere interrotti; essi devono essere portati a termine all'interno del programma ciclico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 193 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Avvertenza Le differenze tra l'informazione sullo stato delle unità nel master DP e quella nello slave intelligente descritte sopra possono verificarsi soltanto nei posti connettore per i quali sono stati inviati al master DP allarmi di diagnostica mediante SFB 75. Di conseguenza, i rimedi consigliati sono necessari soltanto per tali posti connettore. Informazioni di errore Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come ARRAY[1 ... 4] OF BYTE, le informazioni di errore hanno la seguente struttura: Elemento dell'array Significato STATUS[1] • B#16#00: nessun errore • B#16#C0: errore riconosciuto dallo slave intelligente STATUS[2], STATUS[3] corrisponde al parametro di uscita RET_VAL delle SFC STATUS[4] B#16#00 ad eccezione di alcuni conflitti di lunghezza tra LEN e AINFO. Le eccezioni sono riportate nella tabella successiva. La seguente tabella indica le informazioni di errore specifiche dell'SFB 75. 194 ERROR STATUS[2,3] (W#16# ...) Spiegazione 0 0000 L'ordine è stato eseguito senza errori. Se LEN < lunghezza di AINFO, vengono trasferiti soltanto LEN byte delle informazioni di allarme supplementari. 0 00B1 LEN > lunghezza di AINFO. L'ordine è stato eseguito. Le informazioni di allarme supplementari in AINFO sono state trasferite. STATUS[4] contiene la lunghezza di AINFO. 0 7000 Primo richiamo con REQ=0 (richiamo a vuoto). Non è stato inviato alcun allarme. BUSY ha il valore 0. 0 7001 Primo richiamo con REQ=1. L'ordine è stato avviato. BUSY ha il valore 1. 0 7002 Richiamo intermedio (REQ irrilevante). L'allarme inviato non è stato ancora confermato dal DP. BUSY ha il valore 1. 1 8090 L'indirizzo indicato in ID si trova al di fuori dell'area di indirizzi consentita o non è stato progettato. 1 8091 • L'allarme è stato inibito mediante la progettazione. • L'allarme non è supportato dal tipo di slave. 1 8092 Tipo di dati non ammesso in AINFO (sono consentiti i tipi BYTE e BLOCK_DB). 1 8093 ID appartiene ad un posto connettore virtuale che non può attivare allarmi. 1 80B0 ASPEC • non è adatto al bit 0 del byte 0 di AINFO • nel tipo di allarme utilizzato deve avere il valore 0 • si trova al di fuori dell'area di valori consentita. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" ERROR STATUS[2,3] (W#16# ...) Spiegazione 1 80B1 LEN si trova al di fuori dell'area di valori consentita. STATUS[4] contiene B#16#FF. 1 80B5 Richiamo dell'SFB 75 nel master DP non ammesso. 1 80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate. 1 80C5 La periferia decentrata non è momentaneamente disponibile (p. es. guasto alla stazione). 1 80C8 Nell'attuale stato di funzionamento del master DP questa funzione non è consentita (il master DP è un master S7 e si trova in stato di funzionamento STOP). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 195 SFB DPV1 secondo PNO AK 1131 8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC" 8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC" Descrizione Un I Device può ricevere un set di dati dal Controller di livello superiore. La ricezione si svolge nel programma utente con l'SFB 73 "RCVREC" (receive record). L'SFB 73 ha i seguenti modi di funzionamento: • controlla se nell'I Device è presente una richiesta di ricezione di un set di dati • mette il set di dati a disposizione nei parametri di uscita • invia una risposta al Controller di livello superiore. Il modo di funzionamento dell'SFB 73 si definisce con il parametro di ingresso MODE (vedere oltre). L'I Device deve trovarsi in stato di funzionamento RUN o AVVIAMENTO. Con MLEN è possibile definire il numero max. di byte da ricevere. L'area di destinazione RECORD perciò deve essere scelta con una lunghezza che sia almeno pari ai byte di MLEN. Dopo la ricezione di un set di dati (MODE=1 o MODE=2), il parametro di uscita NEW indica che il set di dati è stato salvato in RECORD. Assicurarsi perciò che la lunghezza di RECORD sia sufficiente. Il parametro di uscita LEN contiene la lunghezza effettiva del set di dati ricevuto in byte. Per la risposta positiva da inviare al Controller di livello superiore scrivere zero in CODE1 e CODE 2. Qualora il set di dati ricevuto dovesse essere respinto, indicare in CODE1 il codice di errore 1 e in CODE2 il codice di errore 2 per indicare la risposta negativa al Controller superiore. Avvertenza Se l'I Device ha ricevuto una richiesta di ricezione di un set di dati, l'inoltro di questa richiesta deve essere riconosciuto entro un determinato intervallo di tempo. Dopo il riconoscimento è necessario che al Controller superiore venga inviata una risposta entro lo stesso intervallo di tempo. In caso contrario nell'I Device si verifica un errore di timeout in seguito al quale il sistema operativo dell'I Device invia una risposta negativa al Controller di livello superiore. Il valore per l'intervallo di tempo è indicato nei dati tecnici della CPU. Dopo che si è verificato un errore il parametro di uscita STATUS contiene l'informazione di errore. 196 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC" Modo di funzionamento dell'SFB 73 Il modo di funzionamento dell'SFB 73 "RCVREC" si definisce con il parametro di ingresso MODE, descritto nella tabella seguente. MODE Significato 0 Viene verificata l'eventuale presenza di una richiesta di ricezione di un set di dati Se nell'I Device è presente un set di dati del Controller di livello superiore, l'SFB 73 scrive solo i parametri di uscita NEW, SLOT, INDEX e LEN. Se si richiama l'SFB 73 più volte consecutivamente con MODE=0, i parametri di uscita si riferiscono sempre solo alla stessa richiesta. 1 Ricezione di un set di dati per un qualunque subslot dell'I Device Se nell'I Device è presente un set di dati del Controller di livello superiore per un qualsiasi subslot dell'I Device, l'SFB 73 scrive i parametri di uscita e trasferisce il set di dati nel parametro RECORD. 2 Ricezione di un set di dati per un determinato subslot dell'I Device Se nell'I Device è presente un set di dati del Controller di livello superiore per un determinato subslot dell'I Device, l'SFB 73 scrive i parametri di uscita e trasferisce il set di dati nel parametro RECORD. 3 Invio di una risposta positiva al Controller di livello superiore L'SFB 73 controlla la richiesta di ricezione di un set di dati del Controller superiore, accetta il set di dati e invia una conferma positiva al Controller superiore. 4 Invio di una risposta negativa al Controller di livello superiore L'SFB 73 controlla la richiesta di ricezione di un set di dati del Controller superiore, respinge il set di dati e invia una conferma negativa al Controller superiore. La ragione del rifiuto va indicata nei parametri di ingresso CODE1 e CODE2. Avvertenza Dopo l'arrivo di un set di dati (NEW=1) è necessario richiamare ancora due volte l'SFB 73 per garantire un'elaborazione completa. Attenersi al seguente ordine: • primo richiamo con MODE=1 o MODE=2 • secondo richiamo con MODE=3 o MODE=4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 197 SFB DPV1 secondo PNO AK 1131 8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Modo di funzionamento F_ID INPUT DWORD E, A, M, D, L, cost. Subslot nell'area di trasferimento dell'I Device per il set di dati da ricevere (di rilievo solo per MODE=2) (high word va sempre impostato a zero) MLEN INPUT INT E, A, M, D, L, cost. Lunghezza max. del set di dati da ricevere in byte CODE1 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di errore 1 (con MODE=4) CODE2 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di errore 2 (con MODE=4) NEW OUTPUT BOOL E, A, M, D, L MODE=0: è stato ricevuto il nuovo set di dati MODE=1 o 2: il set di dati è stato trasferito in RECORD STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore SLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID SUBSLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID INDEX OUTPUT INT E, A, M, D, L, cost. Numero del set di dati ricevuto LEN OUTPUT INT E, A, M, D, L Lunghezza del set di dati ricevuto RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati ricevuto Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Informazioni di errore Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM" 198 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" 8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" Descrizione Un I Device può ricevere da parte del Controller di livello superiore una richiesta di messa a disposizione di un set di dati. La messa a disposizione si svolge nel programma utente con l'SFB 74 "PRVREC" (provide record). L'SFB 74 ha i seguenti modi di funzionamento: • controlla se nell'I Device è presente una richiesta di messa a disposizione di un set di dati • trasferisce il set di dati richiesto al Controller superiore • invia una risposta al Controller di livello superiore. Il modo di funzionamento dell'SFB 74 si definisce con il parametro di ingresso MODE (vedere oltre). L'I Device deve trovarsi in stato di funzionamento RUN o AVVIAMENTO. Con LEN è possibile definire il numero max. di byte che può avere il set di dati da inviare. L'area di destinazione RECORD perciò deve essere scelta con una lunghezza che sia almeno pari ai byte di LEN. Se è presente una richiesta di messa a disposizione di un set di dati (MODE=0), il parametro di uscita NEW viene impostato a TRUE. Se la richiesta di messa a disposizione del set di dati viene accettata, scrivere il set di dati richiesto in RECORD e zero sia in CODE1 che in CODE 2 per indicare la risposta positiva da inviare al Controller di livello superiore. Qualora la richiesta venisse respinta indicare in CODE1 il codice di errore 1 e in CODE2 il codice di errore 2 per indicare la risposta negativa al Controller superiore. Avvertenza Se l'I Device ha ricevuto una richiesta di messa a disposizione di un set di dati, l'inoltro di questa richiesta deve essere riconosciuto entro un determinato intervallo di tempo. Dopo il riconoscimento è necessario che al Controller superiore venga inviata una risposta entro lo stesso intervallo di tempo. In caso contrario nell'I Device si verifica un errore di timeout in seguito al quale il sistema operativo dell'I Device invia una risposta negativa al Controller di livello superiore. Il valore per l'intervallo di tempo è indicato nei dati tecnici della CPU. Dopo che si è verificato un errore il parametro di uscita STATUS contiene l'informazione di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 199 SFB DPV1 secondo PNO AK 1131 8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" Modo di funzionamento dell'SFB 74 Il modo di funzionamento dell'SFB 74 "PRVREC" si definisce con il parametro di ingresso MODE, descritto nella tabella seguente. MODE Significato 0 Viene verificata l'eventuale presenza di una richiesta di messa a disposizione di un set di dati Se nell'I Device è presente una richiesta di messa a disposizione di un set di dati del Controller di livello superiore, l'SFB 74 scrive solo i parametri di uscita NEW, SLOT, INDEX e RLEN. Se si richiama l'SFB 74 più volte consecutivamente con MODE=0, i parametri di uscita si riferiscono sempre solo alla stessa richiesta. 1 Ricezione di una richiesta di messa a disposizione di un set di dati per un qualunque subslot dell'I Device Se nell'I Device è presente una richiesta di questo tipo da parte del Controller di livello superiore per un qualsiasi subslot dell'I Device, l'SFB 74 scrive i parametri di uscita. 2 Ricezione di una richiesta di messa a disposizione di un set di dati per un determinato subslot dell'I Device Se nell'I Device è presente una richiesta di questo tipo da parte del Controller di livello superiore per un determinato subslot dell'I Device, l'SFB 74 scrive i parametri di uscita. 3 Messa a disposizione del set di dati e invio di una risposta positiva al Controller di livello superiore L'SFB 74 controlla la richiesta di messa a disposizione di un set di dati del Controller superiore, rende disponibile il set di dati richiesto in RECORD e invia una conferma positiva al Controller superiore. 4 Invio di una risposta negativa al Controller di livello superiore L'SFB 74 controlla la richiesta di messa a disposizione di un set di dati del Controller superiore, la respinge e invia una conferma negativa al Controller superiore. La ragione del rifiuto va indicata nei parametri di ingresso CODE1 e CODE2. Avvertenza Dopo l'arrivo di una richiesta (NEW=1) è necessario richiamare ancora due volte l'SFB 74 per garantire un'elaborazione completa. Attenersi al seguente ordine: 200 • primo richiamo con MODE=1 o MODE=2 • secondo richiamo con MODE=3 o MODE=4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFB DPV1 secondo PNO AK 1131 8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Modo di funzionamento F_ID INPUT DWORD E, A, M, D, L, cost. Subslot nell'area di trasferimento dell'I Device per il set di dati da inviare (di rilievo solo per MODE=2) (high word va sempre impostato a zero) CODE1 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di errore 1 (con MODE=4) CODE2 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di errore 1 (con MODE=4) LEN INPUT INT E, A, M, D, L, cost. Lunghezza max. del set di dati da inviare in byte NEW OUTPUT BOOL E, A, M, D, L Un nuovo set di dati è stato richiesto dal Controller superiore STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore SLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID SUBSLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID INDEX OUTPUT INT E, A, M, D, L, cost. Numero del set di dati da inviare RLEN OUTPUT INT E, A, M, D, L Lunghezza del set di dati da inviare RECORD IN_OUT ANY E, A, M, D, L Set di dati messo a disposizione Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. Informazioni di errore Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 201 SFB DPV1 secondo PNO AK 1131 8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" 202 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 9 SFC per la gestione di allarmi dall'orologio 9.1 Gestione di allarmi dall'orologio Definizione Un allarme dall'orologio è la causa per il richiamo comandato a tempo di un OB di allarme dall'orologio (OB 10 … OB 17). Presupposti per il richiamo Affinché un OB di allarme dall'orologio possa essere richiamato dal sistema operativo, devono essere soddisfatte le seguenti condizioni: • • L'OB di allarme dall'orologio deve essere parametrizzato (data e ora di avvio, periodicità di esecuzione) - con STEP 7 oppure - con la SFC 28 "SET_TINT" all'interno del programma utente. L'OB di allarme dall'orologio deve essere attivato - con STEP 7 oppure - con la SFC 30 "ACT_TINT" all'interno del programma utente. • L'OB di allarme dall'orologio non deve essere stato deselezionato in STEP 7. • L'OB di allarme dall'orologio deve essere presente nella CPU. • Se l'impostazione avviene tramite la SFC 30 "ACT_TINT", la data e ora d'inizio non possono essere scadute, in caso di unica esecuzione; in caso di esecuzione periodica l'OB di allarme dall'orologio viene invece richiamato alla scadenza del successivo periodo (istante iniziale + multipli interi del periodo). Suggerimento È possibile parametrizzare l'allarme dall'orologio con STEP 7 e poi attivarlo dal programma utente (SFC 30 "ACT_TINT"). Scopo delle SFC 28 ... 31 Le funzioni di sistema SFC 28 ... 31, descritte nei paragrafi seguenti, vengono impiegate per • impostare (SFC 28 "SET_TINT") • cancellare (SFC 29 "CAN_TINT") • attivare (SFC 30 "ACT_TINT") • interrogare (SFC 31 "QRY_TINT") allarmi dall'orologio. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 203 SFC per la gestione di allarmi dall'orologio 9.2 Caratteristiche delle SFC 28 ... 31 9.2 Caratteristiche delle SFC 28 ... 31 Che cosa succede se ... La tabella seguente schematizza gli effetti che determinate operazioni hanno sugli allarmi dall'orologio. Se ... Allora .... Un nuovo allarme dall'orologio viene impostato (richiamo della SFC 28 "SET_TINT") l'allarme dall'orologio attivo viene automaticamente cancellato L'allarme dall'orologio viene cancellato (richiamo della SFC 29 "CAN_TINT") la data e l'ora di inizio vengono cancellate. L'allarme dall'orologio deve allora venire nuovamente impostato prima di poter diventare attivo L'OB di allarme dall'orologio non è presente all'istante del richiamo viene generato automaticamente un errore di classe di priorità; cioè il sistema operativo richiama l'OB 85. Se l'OB 85 non è presente, la CPU si porta nello stato di funzionamento STOP L'orologio viene sincronizzato oppure corretto in avanti Se la data e l'ora di inizio vengono superate dallo spostamento in avanti dell'orologio: • Il sistema operativo richiama l'OB 801. • Subito dopo l'esecuzione dell'OB 80 vengono richiamati tutti gli OB di allarme dall'orologio saltati (una sola volta, indipendentemente dal numero dei periodi saltati), se non sono stati manipolati 2 nell'OB 80 . Se l'OB 80 non è presente, la CPU si porta nello stato di funzionamento STOP L'orologio viene sincronizzato oppure corretto all'indietro CPU S7-400 e CPU 318: gli OB di allarme dall'orologio eventualmente già richiamati nell'intervallo di tempo corretto all'indietro non vengono richiamati una seconda volta se questo intervallo di tempo trascorre nuovamente. CPU S7-300: vengono eseguiti tutti gli OB di allarme dall'orologio interessati. 1 2 Nell'informazione dell'evento di avvio di OB 80 è codificato quali OB di allarme dall'orologio non possono essere richiamati dallo spostamento in avanti dell'orologio. Il tempo nell'informazione dell'evento di avvio corrisponde al tempo spostato in avanti. Il tempo nell'informazione dell'evento di avvio degli OB da recuperare corrisponde al tempo di inizio del primo allarme dall'orologio saltato. Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, tutte le configurazioni di allarmi dall'orologio, assegnate da programma tramite SFC, vengono cancellate. Attivi diventano allora i parametri assegnati tramite STEP 7. 204 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi dall'orologio 9.2 Caratteristiche delle SFC 28 ... 31 Esecuzione dell'OB di allarme dall'orologio La tabella seguente riporta i diversi effetti del parametro "esecuzione". Questo parametro è da assegnare con STEP 7 oppure con la SFC 28 "SET_TINT" (parametro di ingresso PERIOD). Esecuzione dell'OB di allarme dall'orologio Reazione Nessuna L'OB di allarme dall'orologio non viene eseguito anche se esso è presente nella CPU. (configurabile solo con STEP 7) Variare la parametrizzazione, cioè impostare l'allarme dall'orologio (SFC 28; SET_TINT), è possibile da programma. una volta L'allarme dall'orologio è revocato dopo il richiamo di OB di allarme e può essere nuovamente impostato ed attivato. Periodica Se la data e l'ora di inizio sono già scadute all'istante di attivazione, allora l'OB di allarme dall'orologio interrompe l'esecuzione ciclica del programma al prossimo istante possibile "data e ora iniziali + multiplo intero del periodo assegnato" (ogni minuto, ogni ora, ogni giorno, ogni settimana, ogni mese, ogni anno) In casi molto rari l'OB di allarme può essere ancora in esecuzione all'istante di una chiamata successiva. Conseguenza: • Errore di tempo (il sistema operativo richiama OB 80; se OB 80 non è presente, la CPU si porta in STOP) • L'esecuzione di OB di allarme viene ripresa e terminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 205 SFC per la gestione di allarmi dall'orologio 9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" 9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" Descrizione Con la funzione di sistema SFC 28 "SET_TINT" (set time-of-day interrupt) è possibile assegnare data e ora di inizio dei blocchi organizzativi di servizio ad allarmi dall'orologio. Nell'ora di inizio vengono ignorati i secondi ed i millesimi di secondo indicati e vengono azzerati. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che viene richiamato all'istante SDT + multiplo di PERIOD (OB 10 ... OB 17) SDT INPUT DT D, L Data e ora di inizio. Nell'ora di inizio vengono ignorati i secondi e i millesimi di secondo indicati e vengono azzerati. Se si desidera predefinire l'avvio mensile di un OB di allarme dall'orologio, per la data di inizio sono ammessi soltanto i giorni 1, 2, ... 28. INPUT WORD E, A, M, D, L, cost. Periodo a partire dall'istante SDT: PERIOD W#16#0000 = una sola volta W#16#0201 = ogni minuto W#16#0401 = ogni ora W#16#1001 = ogni giorno W#16#1201 = ogni settimana W#16#1401 = ogni mese W#16#1801 = ogni anno W#16#2001 = a fine mese RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale di RET_VAL contiene un codice di errore. Informazioni di errore 206 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8091 Il parametro SDT è errato 8092 Il parametro PERIOD è errato 80A1 Il momento di avvio impostato si colloca nel passato (questo codice di errore si presenta soltanto quando PERIOD = W#16#0000 .) 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi dall'orologio 9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" 9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" Descrizione Con la funzione di sistema SFC 29 "CAN_TINT" (cancel time-of-day interrupt) è possibile revocare data e ora di inizio di un blocco organizzativo di servizio ad allarmi dall'orologio assegnato. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB la cui data e ora di inizio devono essere cancellate (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 207 SFC per la gestione di allarmi dall'orologio 9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT" 9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT" Descrizione Con la funzione di sistema SFC 30 "ACT_TINT" (activate time-of-day interrupt) è possibile attivare un blocco organizzativo di servizio ad allarmi dall'orologio. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che deve essere attivato (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore. Informazioni di errore 208 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio. 80A1 Il tempo attivato appartiene al passato; l'errore ha luogo solo in caso di esecuzione = una sola volta. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi dall'orologio 9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT" 9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT" Descrizione Con la funzione di sistema SFC 31 "QRY_TINT" (query time-of-day interrupt) è possibile verificare per mezzo del parametro di uscita STATUS lo stato di un blocco organizzativo di servizio ad allarmi dall'orologio. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB il cui stato deve essere interrogato (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il parametro di uscita RET_VAL contiene un codice di errore. STATUS OUTPUT WORD E, A, M, D, L Stato dell'allarme dall'orologio; vedi tabella seguente. Parametro di uscita STATUS Avvertenza Se RET_VAL contiene un valore diverso da zero, non è consentito analizzare STATUS. Bit Significato 0 • =0: la CPU è in RUN. • =1: la CPU è in avviamento. • =0: l'interrupt è abilitato. • =1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT". • =0: l'interrupt non è attivo o si è concluso. • =1: l'interrupt è attivo. 1 2 3 Sempre 0 4 • =0: non esiste un OB con il numero di OB_NR. • =1: è stato caricato un OB con il numero di OB_NR. Altri Sempre 0 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 209 SFC per la gestione di allarmi dall'orologio 9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT" Informazioni di errore 210 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 10 SFC per la gestione di allarmi di ritardo 10.1 Gestione di allarmi di ritardo Definizione Dopo aver richiamato la SFC 32 "SRT_DINT", il sistema operativo genera un allarme al termine del tempo di ritardo parametrizzato, cioè viene richiamato l'OB di allarme di ritardo parametrizzato. Questo allarme viene chiamato allarme di ritardo. Presupposti per il richiamo Affinché un allarme di ritardo possa essere richiamato dal sistema operativo, devono essere soddisfatte le seguenti condizioni: • l'OB di allarme di ritardo deve essere attivato mediante la SFC 32 "SRT_DINT". • l'OB di allarme di ritardo non deve essere deselezionato con STEP 7. • l'OB di allarme di ritardo deve essere presente nella CPU. Scopo delle SFC 32 ... 34 • Le funzioni di sistema SFC 32 ... SFC 34 descritte nei paragrafi seguenti, vengono utilizzate per • attivare (SFC 32 "SRT_DINT") • cancellare (SFC 33 "CAN_DINT") • interrogare (SFC 34 "QRY_DINT") allarmi di ritardo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 211 SFC per la gestione di allarmi di ritardo 10.1 Gestione di allarmi di ritardo Che cosa accade se ... La tabella seguente mostra gli effetti che determinate situazioni possono comportare. Se ... e ... allora ... Viene avviato un allarme di ritardo (richiamo della SFC 32 "SRT_DINT") l'allarme di ritardo è già stato avviato il tempo di ritardo viene riaggiornato; l'allarme di ritardo viene nuovamente avviato l'OB di allarme di ritardo non è presente all'istante del richiamo il sistema operativo genera un errore di classe di priorità (richiamo di OB 85; se OB 85 non è presente, la CPU si porta nello stato di funzionamento STOP). l'attivazione ha avuto luogo in un OB di avviamento e il tempo di ritardo è trascorso prima che la CPU si trovi in RUN, il richiamo dell'OB di allarme di ritardo viene ritardato fino a quando la CPU si trova in RUN. il tempo di ritardo è trascorso e un OB di allarme di ritardo, il sistema operativo genera un attivato precedentemente, è ancora errore di tempo (richiamo di OB 80; in esecuzione se OB 80 non è presente, la CPU si porta in STOP). Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, vengono cancellate tutte le impostazioni di allarmi di ritardo assegnate da programma tramite le SFC. Start nell'OB di avviamento Un allarme di ritardo può essere attivato nell'OB di avviamento. Per il richiamo dell'OB di allarme di ritardo devono essere soddisfatte due condizioni: • il tempo di ritardo è trascorso. • la CPU si trova nello stato di funzionamento RUN. Se il tempo di ritardo è scaduto e la CPU non è ancora nello stato RUN, il richiamo dell'OB di servizio all'allarme viene ritardato fino a che la CPU non sia in RUN. L'OB di allarme di ritardo viene comunque richiamato prima della prima istruzione di OB 1. 212 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi di ritardo 10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" 10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" Descrizione Con la funzione di sistema SFC 32 "SRT_DINT" (start time-delay interrupt) è possibile avviare un allarme di ritardo, il quale richiama, alla scadenza del tempo di ritardo parametrizzato (parametro DTIME), un OB di allarme di ritardo. Al parametro SIGN è possibile assegnare un'identificazione utente, in modo da identificare univocamente l'avvio dell'allarme di ritardo. I valori di DTIME e SIGN compaiono di nuovo nell'informazione di evento di avvio dell'OB indicato, se esso viene eseguito. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB che viene richiamato dopo un certo tempo di ritardo (OB 20 ... OB 23). DTIME INPUT TIME E, A, M, D, L, cost. Valore temporale del ritardo (da 1 a 60000 ms). Per impostare un tempo maggiore si può, ad esempio, inserire un contatore in un OB di allarme di ritardo. SIGN INPUT WORD E, A, M, D, L, cost. Identificazione che appare al richiamo dell'OB di allarme di ritardo nell'informazione di evento di avvio dell'OB. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore Precisione Il tempo tra il richiamo della SFC 32 "SRT_DINT" e l'avvio dell'OB di allarme di ritardo è di un millisecondo al massimo più piccolo del tempo parametrizzato, se nessun evento di interruzione ritarda il richiamo. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8091 Il parametro DTIME è errato 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 213 SFC per la gestione di allarmi di ritardo 10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT" 10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT" Descrizione Con la funzione di sistema SFC 34 "QRY_DINT" (query time-delay interrupt) è possibile verificare lo stato di un allarme di ritardo. Allarmi di ritardo vengono gestiti dai blocchi organizzativi di servizio ad allarmi di ritardo OB 20 ... 23. Parametri Dichiarazione Tipo Area di memoria OB_NR INPUT E, A, M, D, L, cost. INT Descrizione Numero di OB il cui stato viene interrogato (OB 20 ... OB 23). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore STATUS OUTPUT WORD E, A, M, D, L Stato dell'allarme di ritardo; vedi tabella seguente Parametro di uscita STATUS Avvertenza Se RET_VAL contiene un valore diverso da zero, non è consentito analizzare STATUS. Bit Significato 0 • =0: la CPU è in RUN. • =1: la CPU è in avviamento. • =0: l'interrupt è abilitato. • =1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT". • =0: l'interrupt non è attivo o si è concluso. • =1: l'interrupt è attivo. 1 2 3 Sempre 0 4 • =0: non esiste un OB con il numero di OB_NR. • =1: è stato caricato un OB con il numero di OB_NR. Altri 214 Sempre 0 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi di ritardo 10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT" Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 215 SFC per la gestione di allarmi di ritardo 10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" 10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" Descrizione Con la funzione di sistema SFC 33 "CAN_DINT" (cancel time delay interrupt) è possibile cancellare un allarme di ritardo già attivato (vedere capitolo Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT"). L'OB di allarme di ritardo non viene allora richiamato. Parametri Dichiarazione Tipo Area di memoria OB_NR INPUT E, A, M, D, L, cost. INT Descrizione Numero di OB che deve essere cancellato (OB 20 ... OB 23). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore Informazioni di errore 216 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 80A0 L'allarme di ritardo non è attivato. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 11 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Introduzione Eventi di errori di sincronismo sono eventi dovuti ad errori di programma e di accesso. Tali eventi di errore hanno luogo a causa della programmazione con campi o numeri di operandi errati o con indirizzi errati. Mascherare questi eventi di errore significa che: • eventi di errore mascherati non fanno scattare OB di errore e non comportano una programmata reazione di servizio. • la CPU memorizza in un registro di stato eventi gli errori mascherati verificatisi. Demascherare eventi di errore significa ripristinare un mascheramento precedentemente effettuato e cancellare il relativo bit nel registro di stato eventi della classe di priorità attuale. Il mascheramento viene cancellato • con un richiamo della SFC 37 "DMSK_FLT" • quando la classe di priorità attuale dell'OB è terminata (soltanto con l‘S7-400). • Il mascheramento viene effettuato mediante il richiamo dell'SFC 36 "MSK_FLT". Se si presenta un evento di errore dopo il suo demascheramento, il sistema operativo avvia il rispettivo OB di errore. Per la reazione all'errore di programmazione programmare l'OB 121 e per la reazione all'errore di accesso programmare l'OB 122. È possibile leggere gli eventi di errore mascherati e quegli che sono effettivamente avvenuti mediante la SFC 38 "READ_ERR". Avvertenza: indipendentemente dal mascheramento o demascheramento degli eventi di errore, nell'S7-300, fatta eccezione della CPU 318, essi vengono registrati nel buffer di diagnostica e il LED di raccolta errori della CPU lampeggia. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 217 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Gestire un errore in generale Se in un programma utente hanno luogo errori di programma o di accesso, è possibile reagire ad essi in diversi modi: • si può programmare un OB di servizio all'errore; il sistema operativo richiama questo OB se avviene l'evento di errore corrispondente. • si può disabilitare il richiamo dell'OB di errore per ogni singola classe di priorità. In questo caso la CPU non si porta in STOP quando nella classe di priorità ha luogo il relativo errore. Essa però registra l'errore avvenuto in un registro di stato eventi. Non è comunque possibile riconoscere in questa registrazione quando e quante volte l'errore in questione abbia avuto luogo. Evento di errore di sincronismo Errore mascherato? NO SÌ Richiamo di un OB di er rore. (la CPU si porta in STOP se l'OB di errore non è programmato). Il richiamo di un OB di er rore viene disabilitato. (la CPU non si porta in STOP nel caso che un er rore abbia luogo). In OB è programmata la reazione desiderata ad un certo errore. L'evento di errore viene registrato nel registro di stato eventi. Maschera per gli errori Gli eventi di errori di sincronismo sono associati ad una particolare stringa di bit, detta maschera. Questa maschera si ritrova nei parametri di ingresso e di uscita delle SFC 36, 37 e 38. In caso di eventi di errori di sincronismo si distingue tra errori di programma e di accesso, che sono mascherabili mediante due differenti tipi di maschere. Esse sono rappresentate nelle figure riportate di seguito. 218 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Maschera per gli errori di programma Nella figura seguente è rappresentata la stringa di bit della maschera per errori di programma. La maschera per errori di programma è contenuta nei parametri PRGFLT_... Vedere: Possibili cause di errori di programma, low word oppure Possibili cause di errori di programma, high word. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 219 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Bit non rilevanti Nella figura sopra il segno x significa per i .... • ... parametri di ingresso Per SFC 36, 37, 38 = "0" • ... parametri di uscita Per SFC 36, 37 = "1" per S7-300 = "0" per S7-400 = "0" Per SFC 38 Maschera degli errori di accesso per tutte le CPU Nella figura seguente è rappresentata la stringa di bit della maschera degli errori di accesso per tutte le CPU. La maschera degli errori di accesso è contenuta nei parametri ACCFLT_... La spiegazione degli errori di accesso è riportata nelle tabelle "Possibili cause di errore per tutte le CPU 31x eccetto la CPU 318" e "Possibili cause di errore per tutte le CPU 41x e CPU 318". 220 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Esempio La figura seguente mostra l'aspetto della parola meno significativa della maschera per errori di accesso con tutti gli errori possibili mascherati per tutte le CPU. • come parametri di ingresso per la SFC 36 • come parametri di uscita per la SFC 36. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 221 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Parola meno significativa degli errori di programma La tabella seguente contiene gli errori associati alla parola meno significativa della maschera per errori di programma. Ad ogni errore è associata la possibile causa. Errore ID di evento (W#16#...) L'errore ha luogo... Errore di conversione BCD 2521 ... se il valore da convertire non è un numero BCD (p. es. 5E8). Errore di lunghezza campo in lettura 2522 ... se un operando indirizzato non giace completamente all'interno o addirittura giace all'esterno del campo permesso. Esempio: deve essere letto MW 320, sebbene l'area merker sia solo di 256 byte. Errore di lunghezza campo in scrittura 2523 ... se un operando indirizzato non giace completamente all'interno o addirittura giace all'esterno del campo permesso. Esempio: deve essere letto MW 320, sebbene l'area merker sia solo di 256 byte.. Errore di campo in lettura 2524 ... se in un indirizzamento indiretto e concernente campi diversi viene assegnato un errato identificatore di campo per l'operando Esempio: giusto: LAR1 P#E 12.0 L W[AR1, P#0.0] sbagliato: LAR1 P#12.0 L W[AR1, P#0.0] In questa operazione viene segnalato l'errore di campo. Errore di campo in scrittura 2525 ... se in un indirizzamento indiretto e concernente campi diversi viene assegnato un errato identificatore di campo per l'operando Esempio: giusto: LAR1 P#E 12.0 T W[AR1, P#0.0] sbagliato: LAR1 P#12.0 T W[AR1, P#0.0] In questa operazione viene segnalato l'errore di campo. 222 Errore di numero di temporizzatore 2526 Errore di numero di contatore 2527 .... se si vuole accedere ad un temporizzatore non esistente. Esempio: SI T [MW 0] con MW 0 = 129; il temporizzatore 129 deve essere avviato, ma sono presenti solo 128 temporizzatori. .... se si vuole accedere ad un contatore non esistente. Esempio: ZV Z [MW 0] con MW 0 = 600; si vuole accedere al contatore 600, ma sono presenti solo 512 contatori (CPU 416-1). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Errore ID di evento (W#16#...) Errore di indirizzamento in 2528 lettura L'errore ha luogo... ... se si indirizza un byte, una parola o una doppia parola con un indirizzo di bit ≠ 0. Esempio: giusto: LAR1 P#M12.0 L B[AR1, P#0.0] sbagliato: LAR1 P#M12.4 L B[AR1, P#0.0] Errore di indirizzamento in 2529 scrittura ... se si indirizza un byte, una parola o una doppia parola con un indirizzo di bit ≠ 0. Esempio: giusto: LAR1 P#M12.0 T B[AR1, P#0.0] sbagliato: LAR1 P#M12.4 T B[AR1, P#0.0] Parola più significativa degli errori di programma La tabella seguente contiene gli errori associati alla parola più significativa della maschera per errori di programma. Ad ogni errore è associata la possibile causa. Errore ID di errore L'errore ha luogo... (W#16#...) Errore di scrittura blocco dati 2530 ... se il blocco dati nel quale si vuole scrivere è protetto in scrittura. Errore di scrittura blocco dati di istanza 2531 ... se il blocco dati di istanza nel quale si vuole scrivere è protetto in scrittura. Errore di numero di blocco 2532 DB ... se si vuole aprire un blocco dati, il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2533 DI ... se si vuole aprire un blocco dati di istanza, il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2534 FC ... se si vuole richiamare una funzione il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2535 FB ... se si vuole richiamare un blocco funzionale il cui numero è maggiore del numero massimo permesso. DB non è caricato ... se il blocco dati da aprire non è caricato. 253A FC non è caricata 253C ... se la funzione da richiamare non è caricata. SFC non presente 253D ... se la funzione da richiamare non è caricata. FB non caricato 253E ... se il blocco funzionale da richiamare non è caricato. SFB non presente 253F ... se il blocco funzionale da richiamare non è caricato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 223 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Errori di accesso La tabella seguente contiene per tutte le CPU gli errori assegnati alla maschera per gli errori di accesso. Ad ogni errore è associata la possibile causa Errore ID di evento (W#16#...) L'errore ha luogo ... Errore di accesso alla periferia in lettura 2942 ... se all'indirizzo nell'area di periferia non è associata alcuna unità E/A oppure ... se l'accesso a questa area di periferia non viene confermato entro il tempo configurato di sorveglianza unità (ritardo conferma indirizzo). Errore di accesso alla periferia in scrittura 2943 ... se all'indirizzo nell'area di periferia non è associata alcuna unità E/A oppure ... se l'accesso a questa area di periferia non viene confermato entro il tempo configurato di sorveglianza unità (ritardo conferma indirizzo). 224 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di eventi di errori di sincronismo 11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT" 11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT" Descrizione La SFC 36 "MSK_FLT" (mask synchronous faults) si usa per comandare la reazione della CPU ad eventi di errori di sincronismo. A questo scopo occorre mascherare il corrispondente evento di errore (mascheramento, vedere capitolo Mascheramento di eventi di errori di sincronismo). Con il richiamo della SFC 36 si mascherano gli eventi di errori di sincronismo nell'attuale classe di priorità. Se nei parametri di ingresso singoli bit delle maschere per errori di sincronismo vengono impostati su "1", gli altri bit, già impostati in precedenza, conservano il loro valore "1" (operazione logica di OR). Si ottengono quindi nuove maschere, leggibili mediante i parametri di uscita. Gli eventi di errori di sincronismo mascherati non richiamano alcun OB, ma vengono soltanto registrati in un registro di stato eventi. Tale registro è leggibile tramite la SFC 38 "READ_ERR". Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da mascherare ACCFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da mascherare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora mascherati ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora mascherati Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Nessuno degli errori era già mascherato. 0001 Almeno uno degli errori era già mascherato; gli altri errori vengono tuttavia mascherati. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 225 SFC per la gestione di eventi di errori di sincronismo 11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" 11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" Descrizione La SFC 37 "DMSK_FLT" (unmask synchronous faults) si usa per demascherare gli eventi di errore mascherati con la SFC 36 "MSK_FLT". Per eseguire questa operazione occorre impostare su "1" nei parametri di ingresso i corrispondenti bit delle maschere. Con il richiamo della SFC 37 si demascherano gli eventi di errori di sincronismo corrispondenti. Contemporaneamente vengono cancellate le registrazioni relative nel registro di stato eventi. Le nuove maschere sono poi leggibili tramite i parametri di uscita. Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da demascherare ACCFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da demascherare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora mascherati ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora mascherati Informazioni di errore 226 Codice di errore (W#16#...) Descrizione 0000 Tutti gli errori indicati sono stati demascherati. 0001 Almeno uno degli errori non era mascherato, gli altri errori vengono comunque demascherati. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di eventi di errori di sincronismo 11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" 11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" Descrizione Con la SFC 38 "READ_ERR" (read error registers) si legge il registro di stato eventi. Tale registro corrisponde, nella sua struttura, alle maschere per gli errori di programma e di accesso, programmabili con le SFC 36 e 37 come parametri di ingresso. Nei parametri di ingresso si indica quali eventi di errori di sincronismo del registro si vogliano consultare. Con il richiamo della SFC 38 si leggono le registrazioni desiderate del registro di stato eventi e le si cancellano contemporaneamente. Dal registro di stato eventi si ottiene l'informazione su quale degli eventi di errore mascherati si sono presentate almeno una volta nella lista attuale di priorità. Un bit impostato sta ad indicare che il rispettivo evento di errori di sincronismo si è presentato almeno una volta. Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di programma ACCFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di accesso RET_VAL OUTPUT INT E, A, M, D, L PRGFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di programma ACCFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di accesso Informazione di errore Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Tutti gli errori consultati vengono mascherati. 0001 Almeno uno degli errori consultati non è mascherato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 227 SFC per la gestione di eventi di errori di sincronismo 11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" 228 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 12 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo Scopo delle SFC 39 ... 42 Queste SFC vengono impiegate per • disabilitare richieste di allarmi o di eventi di errore di asincronismo nell'arco di tutti i successivi cicli di CPU con la SFC 39 "DIS_IRT" oppure per • ritardare classi di più elevata priorità fino al termine del ciclo con la SFC 41 "DIS_AIRT", oppure per • riabilitare richieste di allarmi o di eventi di errore di asincronismo con la SFC 40 "EN_IRT" e SFC 42 "EN_AIRT". L'elaborazione di allarmi e di eventi di errore di asincronismo è programmabile all'interno del programma utente. Per far questo occorre programmare i corrispondenti OB. Vantaggio della SFC 41 e SFC 42 La possibilità di disabilitare richieste di allarmi ed eventi di errore di asincronismo di più elevata priorità con la SFC 41 "DIS_AIRT" e di riabilitarle con la SFC 42 "EN_AIRT" comporta il vantaggio seguente: La CPU tiene il conto delle disabilitazioni di allarmi. Una disabilitazione di richieste di allarmi o di eventi di errore di asincronismo programmata non può essere revocata dal richiamo di eventuali funzioni standard, se queste a loro volta disabilitano e poi abilitano richieste di allarmi ed eventi di errore di asincronismo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 229 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo Classi di allarme Gli allarmi sono suddivisi in diverse classi. La tabella seguente contiene tutte le classi di allarme e i corrispondenti OB. Classi di allarme OB Allarmi dall'orologio OB 10 ... OB 17 Allarmi di ritardo OB 20 ... OB 23 Schedulazioni orologio OB 30 ... OB 38 Interrupt di processo OB 40 ... OB 47 Allarmi per DVP1 OB 55 … OB 57 Allarme di multicomputing OB 60 Allarmi d'errore di ridondanza OB 70, OB 72 Allarmi per errori di asincronismo OB 80 ... OB 87 Allarmi per errori di sincronismo OB 121, OB 122 (L'elaborazione di allarmi per errori di sincronismo viene mascherata o demascherata con le SFC 36, 37 e 38.) Eventi di errori di asincronismo La tabella seguente contiene tutti gli eventi di errore di asincronismo, ai quali è possibile reagire da programma con un corrispondente OB. 230 Eventi di errore di asincronismo OB Errore di tempo (p. es. superamento del max. tempo ciclo) OB 80 Guasto all'alimentazione (p.e. batteria difettosa) OB 81 Allarme di diagnostica (p.e. fusibile difettoso in una scheda di I/O) OB 82 Allarme di estrazione / inserimento OB 83 Evento di errore hardware della CPU (p. es. errore di interfaccia) OB 84 Errore di esecuzione del programma OB 85 Avaria dell'intero telaio di montaggio OB 86 Errore di comunicazione OB 87 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT" 12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT" Descrizione Con la SFC 39 "DIS_IRT" (disable interrupt) si disabilitano nuove richieste di allarmi ed eventi di errori di asincronismo. Disabilitare significa che, al verificarsi di un evento di interruzione, la CPU • né richiama un OB di allarme oppure un OB di errori di asincronismo, • né provoca la reazione stabilita in caso di OB di allarme oppure di OB di eventi di errori di asincronismo non programmati. La disabilitazione delle richieste di allarmi e di eventi di errori di asincronismo rimane valida su tutte le classi di priorità e durante più di un ciclo di programma. Tale disabilitazione può essere revocata solo con la SFC 40 "EN_IRT" o con un nuovo avviamento (avviamento a caldo) e con avviamento a freddo. Se il sistema operativo registra l'avvenuta richiesta di allarme o l'avvenuto evento di errori di asincronismo nel buffer di diagnostica dipende dalla scelta del parametro di ingresso MODE. Avvertenza Si osservi che con la programmazione della SFC 39 "DIS_IRT", vanno perduti tutti gli allarmi che potrebbero eventualmente verificarsi. Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT BYTE E, A, M, D, L, cost. Indica quali richieste di eventi di allarme e di errore di asincronismo vengono disabilitate. OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 231 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT" MODE MODE (B#16#...) Significato 00 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono disabilitate (non vengono disabilitati gli eventi di errori di sincronismo). Attribuire al parametro OB_NR il valore 0. Continuano ad essere eseguite registrazioni nel buffer di diagnostica. 01 Tutti i nuovi eventi di una data classe di priorità che si verificano vengono disabilitati. Le classi di allarme sono contrassegnate come segue: • allarmi orologio: 10 • allarmi di ritardo: 20 • allarmi di schedulazione orologio: 30 • interrupt di processo: 40 • allarmi per DPV1: 50 • allarmi di multicomputing: 60 • allarmi per errori di ridondanza: 70 • allarmi per errori di sincronismo: 80 02 Tutte le nuove richieste di un determinato allarme che si verificano vengono disabilitate. Si può contrassegnare un allarme mediante il numero di OB. Continuano ad essere eseguite registrazioni nel buffer di diagnostica. 80 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono disabilitate e non vengono più registrate nel buffer di diagnostica. Assegnare il valore 0 al parametro OB_NR. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica. 81 Tutti i nuovi eventi di una classe di allarme indicata vengono disabilitati e non vengono più registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica. 82 Tutti i nuovi eventi di un allarme indicato vengono disabilitati non vengono più registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica Informazioni di errore 232 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro di ingresso OB_NR contiene un valore non permesso. 8091 Il parametro di ingresso MODE contiene un valore non permesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’ SFC 40 "EN_IRT" 12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT" Descrizione Con la SFC 40 "EN_IRT" (enable interrupt) si riabilitano richieste di allarmi e di eventi di errori di asincronismo disabilitate. Abilitare significa che il sistema operativo della CPU, al verificarsi di un evento di interruzione • richiama un OB di allarme oppure un OB di errori di asincronismo oppure • provoca la reazione stabilita in caso di OB di allarme oppure di OB di errori di asincronismo non programmati. Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Indica quali richieste di allarme ed eventi di errore di asincronismo vengono abilitate (vedere uanto segue). BYTE OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. MODE MODE Significato 0 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono abilitate. 1 Tutte le nuove richieste di allarmi di una data classe di priorità che si verificano, vengono disabilitate. Le classi di allarme sono contrassegnate come segue: 2 • allarmi orologio: 10 • allarmi di ritardo: 20 • allarmi di schedulazione orologio: 30 • interrupt di processo: 40 • allarmi per DPV1: 50 • allarmi di multicomputing: 60 • allarmi per errori di ridondanza: 70 • allarmi per errori di sincronismo: 80 Tutte le nuove richieste di un determinato allarme che si verificano vengono abilitate. Si può contrassegnare l'allarme mediante il numero di OB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 233 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’ SFC 40 "EN_IRT" Informazioni di errore 234 Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro di ingresso OB_NR contiene un valore non permesso. 8091 Il parametro di ingresso MODE contiene un valore non permesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT" 12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT" Descrizione Con la SFC 41 "DIS_AIRT" (disable alarm interrupts) si ritarda l'esecuzione di OB di allarme e di OB di errori di asincronismo con una priorità più elevata di quella dell'OB in esecuzione. È possibile richiamare più volte la SFC 41 all'interno di un OB. Tali richiami della SFC 41 vengono contati dal sistema operativo. La disabilitazione dura finché tutte le esecuzioni di OB di allarme o di OB di errori di asincronismo, ritardate mediante la SFC 41, non vengono esplicitamente riabilitate con la SFC 42 "EN_AIRT" oppure finché l'elaborazione dell'OB attuale non è giunta al termine. Le richieste di allarmi o di eventi di errori di asincronismo pendenti vengono elaborate non appena viene revocata la disabilitazione tramite la SFC 42 "EN_AIRT" oppure quando l'elaborazione dell'OB attuale è giunta al termine. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Numero dei ritardi ( = numero die richiami della SFC 41) INT Valore di ritorno La tabella seguente contiene il valore di ritorno della SFC 41, fornito dal parametro RET_VAL. Valore di ritorno Descrizione n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0; vedi capitolo Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT") Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 235 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT" 12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT" Descrizione • Con la SFC 42 "EN_AIRT" (enable alarm interupts) si abilita nuovamente l'esecuzione di allarmi e di eventi di errori di asincronismo con più elevata priorità, precedentemente ritardata con la SFC 41 "DIS_AIRT". Affinché l'esecuzione possa essere riabilitata, è necessario revocare ogni singola disabilitazione con SFC 42. Esempio Se sono stati disabilitati per 5 volte allarmi mediante 5 richiami della SFC 41, per revocare queste disabilitazioni occorrono 5 richiami di SFC 42. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Numero dei ritardi ancora programmati dopo l'esecuzione della SFC 42 oppure messaggio di errore. INT Valore di ritorno e informazione di errore Il capitolo Analisi degli errori con il parametro di uscita RET_VAL illustra come interpretare le informazioni di errore del parametro RET_VAL. In esso si trovano anche le informazioni di errore generali delle SFC. La tabella seguente contiene tutte le informazioni di errore specifiche per la SFC 42 che possono essere fornite tramite il parametro RET_VAL. 236 Valore di ritorno e codice di errore Descrizione n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0). W#16#8080 Sebbene l'elaborazione dell'allarme fosse già stata abilitata, la funzione è stata comunque richiamata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 13 SFC per la diagnostica 13.1 Diagnostica di sistema Le CPU possiedono internamente dati sullo stato del controllore programmabile. Con "diagnostica di sistema" si intende la possibilità di leggere i dati principali. Alcuni dati possono essere fatti visualizzare sul PG con STEP 7. Per poter accedere ai dati per la diagnostica del sistema anche nel proprio programma, utilizzare le SFC "RD_SINFO" e "RDSYSST" 13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" Descrizione Con la SFC 6 "RD_SINFO" (read start information) si legge l'informazione di avvio • dell'OB richiamato per ultimo e che non è stato elaborato completamente e • dell'OB di avviamento avviato per ultimo Entrambe le informazioni di avvio non contengono la registrazione del tempo. Se il richiamo si verifica nell'OB 100 o 101 o 102, vengono fornite due informazioni di avvio identiche. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori TOP_SI OUTPUT STRUCT D, L Informazioni di avvio dell'OB attuale START_UP_SI OUTPUT STRUCT D, L Informazione di avvio dell'ultimo OB di avviamento Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 237 SFC per la diagnostica 13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" TOP_SI e START_UP_SI I parametri di uscita TOP_SI e START_UP_SI sono due strutture dalla forma identica. La loro forma è riprodotta nella tabella seguente. Elemento di struttura Tipo Descrizione EV_CLASS BYTE Bit da 0 a 3: identificazione dell'evento EV_NUM BYTE Numero dell'evento PRIORITY BYTE Numero del livello di esecuzione (significato di B#16#FE: OB non progettato o disabilitato oppure non avviabile nello stato di funzionamento attuale). NUM BYTE Numero OB TYP2_3 BYTE Identificazione dei dati 2_3: contrassegna l'informazione registrata in ZI2_3 TYP1 BYTE Identificazione dei dati 1: contrassegna l'informazione registrata in ZI1 ZI1 WORD Informazione supplementare 1 ZI2_3 DWORD Informazione supplementare 2_3 Bit da 4 a 7: classe dell'evento Avvertenza Dal punto di vista del contenuto degli elementi di struttura riportati nella tabella sopra corrispondono esattamente alle variabili temporanee di un OB. Tenere tuttavia presente che le variabili temporanee nei singoli OB possono avere altri nomi e altri tipi di dati. Tenere inoltre presente che l'interfaccia di richiamo degli OB contiene inoltre la data e l'ora in cui è stato richiamato l'OB. I bit da 4 a 7 dell'elemento di struttura EV_CLASS contengono la classe dell'evento. Qui sono possibili i seguenti valori: • 1: eventi di avvio degli OB standard • 2: eventi di avvio degli OB di errore di sincronismo • 3: eventi di avvio degli OB di errore di asincronismo L'elemento di struttura PRIORITY fornisce la classe di priorità appartenente all'OB attuale. Oltre a questi due elementi, anche NUM è importante. NUM contiene infatti il numero dell'OB attuale e dell'OB di avviamento avviato per ultimo. 238 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" Esempio Supponiamo che l'OB richiamato per ultimo, che non è stato ancora elaborato completamente, sia l'OB80 e che l'OB di avviamento avviato per ultimo sia l'OB100. La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro TOP_SI della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 80. TOP_SI Elemento di struttura EV_CLASS EV_NUM PRIORITY NUM TYP2_3 TYP1 ZI1 ZI2_3 OB 80 Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Variabile locale corrispondente OB80_EV_CLASS OB80_FLT_ID OB80_PRIORITY OB80_OB_NUMBR OB80_RESERVED_1 OB80_RESERVED_2 OB80_ERROR_INFO OB80_ERR_EV_CLASS OB80_ERR_EV_NUM OB80_OB_PRIORITY OB80_OB_NUM Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD BYTE BYTE BYTE BYTE La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro START_UP_SI della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 100. START_UP_SI Elemento di struttura EV_CLASS EV_NUM PRIORITY NUM TYP2_3 TYP1 ZI1 ZI2_3 OB 100 Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Variabile locale OB100_EV_CLASS OB100_STRTUP OB100_PRIORITY OB100_OB_NUMBR OB100_RESERVED_1 OB100_RESERVED_2 OB100_STOP OB100_STRT_INFO Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Informazioni di errore La SFC 6 (RD_SINFO) non fornisce informazioni sugli errori specifiche, ma solo generali. I codici generali di errore e la loro analisi sono descritti in modo dettagliato nel capitolo Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 239 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" Descrizione Con la SFC 51 "RDSYSST" (read system status) si può leggere una lista parziale SZL o un estratto della lista parziale SZL. La procedura di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di richiamo della SFC 51. Se è stato possibile eseguire subito la procedura di lettura, la SFC fornisce il valore 0 al parametro di uscita BUSY. Nel caso in cui BUSY abbia il valore 1, la procedura di lettura non è stata ancora portata a termine. Avvertenza Se viene richiamata la SFC 51 "RDSYSST" nell'OB di allarme di diagnostica mediante l'ID SZL W#16#00B1 o W#16#00B2 oppure W#16#00B3 e si accede all'unità che ha posto l'allarme di diagnostica, la procedura di lettura viene eseguita immediatamente. Con la SFC51 "RDSYSST" vengono trasmessi solo record di dati completi. Risorse del sistema Se vengono avviate varie procedure di lettura asincrone (i job con SZL_ID W#16#00B4 e W#16#4C91, W#16#4092 e W#16#4292 e W#16#4692 ed eventualmente W#16#00B1 e W#16#00B3) a breve distanza l'una dall'altra, il sistema operativo garantisce che queste vengano eseguite tutte senza influenzarsi l'una con l'altra. L'arrivo al limite delle risorse del sistema viene comunicato in RET_VAL. La temporanea situazione di errore può essere rimossa ripetendo il job. Il numero massimo di job attivi "simultaneamente" della SFC 51 dipende dal tipo di CPU. Informazioni a riguardo sono riportate in /70/ e /101/. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'elaborazione SZL_ID INPUT WORD E, A, M, D, L, cost. Identificatore della lista parziale SZL o dell'estratto della lista parziale). INDEX INPUT WORD E, A, M, D, L, cost. Tipo o numero di un oggetto in una lista parziale RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il parametro RET_VAL contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L TRUE: l'operazione di lettura non è ancora terminata. SZL_HEADER OUTPUT 240 STRUCT D, L Vedere sotto Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" Parametri Dichiarazione Tipo Area di memoria Descrizione DR OUTPUT E, A, M, L, D Campo di destinazione della lista parziale SZL trasferita oppure dell'estratto della lista parziale SZL trasferito: ANY • Nel caso sia stata letta solo l'informazione di intestazione di una lista parziale SZL non deve essere analizzato DR bensì solo SZL_HEADER. • Altrimenti il prodotto di LENTHDR e N_DR indica quanti byte sono stati registrati in DR. SZL_HEADER Il parametro SZL_HEADER è una struttura, definita nel modo seguente: SZL_HEADER: STRUCT LENTHDR: WORD N_DR: WORD END_STRUCT LENTHDR è la lunghezza in byte di un set di dati della lista parziale SZL oppure dell'estratto della lista parziale SZL. • Nel caso sia stata letta solo l'informazione di intestazione di una lista parziale SZL, N_DR contiene il numero dei rispettivi set di dati presenti. • Altrimenti N_DR contiene il numero dei set di dati trasmessi nel campo di destinazione. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 nessun errore 0081 Lunghezza del campo DR troppo piccola. (Nonostante ciò, vengono forniti tanti set di dati quanto possibile. L'intestazione SZL ne indica il numero.) 7000 Primo richiamo con REQ=0: trasferimento dati non attivo; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. 8081 Lunghezza del campo DR troppo piccola (non c'è abbastanza spazio per un set di dati) 8082 L'ID SZL è sbagliata nella CPU oppure la SFC è sconosciuta. 8083 INDEX errato o non ammesso 8085 Informazione momentaneamente non disponibile per cause interne di sistema (ad es. mancanza di risorse) 8086 Set di dati non leggibile a causa di un errore di sistema (bus, unità, sistema operativo). 8087 Set di dati non leggibile perché l'unità non è disponibile o non conferma. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 241 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" Codice di errore (W#16#...) Spiegazione 8088 Set di dati non leggibile perché l'identificazione unità attuale non corrisponde all'identificazione unità di riferimento. 8089 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica o il set di dati stesso. 80A2 Errore di protocollo DP (errore livello 2) (errore temporaneo) 80A3 Errore di protocollo DP in user interface/user (errore temporaneo) 80A4 Comunicazione nel bus K disturbata (errore emerso tra CPU e collegamento DP esterno) (errore temporaneo) 80C5 Periferia decentrata non disponibile (errore temporaneo) 80C6 Il trasferimento del set di dati è stato interrotto a causa di una interruzione della classe di priorità (riavviamento oppure sfondo) 80D2 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL SZL_IDs Avvertenza Le liste parziali leggibili con la SFC 51 "RDSYSST" • per S7-300 sono riportate in /72/ • per S7-400 sono indicate nella seguente tabella. SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 0111 Un set di dati di identificazione Identificazione unità Identificazione dell'unità 0001 Identificazione dell'hardware di base 0006 Identificazione del firmware di base 0007 Caratteristiche CPU 0012 Tutte le caratteristiche 0112 Caratteristiche di un gruppo 0F12 242 Irrilevante Unità di elaborazione in MC7 0000 Sistema di tempo 0100 Comportamento sistema 0200 Descrizione linguaggio MC7 0300 Disponibilità di SFC 87 e SFC 0400 Solo informazione intestazione della lista parziale SZL Irrilevante Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 0113 Un set di dati per l'area di memoria indicata Aree di memoria utente Memoria di lavoro 0001 Aree di sistema 0014 Set di dati di tutti i campi di sistema Irrilevante 0F14 Solo informazione intestazione della lista parziale SZL Irrilevante Tipi di blocchi 0015 Set di dati di tutti i tipi di blocchi Irrilevante 001C Identificazione di tutti i componenti 011C Identificazione di un componente Identificazione di un componente Irrilevante Nome del sistema di automazione 0001 Nome dell'unità 0002 Sigla dell'impianto dell'unità 0003 Registrazione del copyright 0004 Numero di serie dell'unità 0005 Nome del tipo di unità 0007 Numero di serie della Memory Card 0008 Produttore e profilo di un'unità CPU 0009 Identificazione OEM di un'unità 000A Sigla topologica di un'unità 000B 021C Identificazione di tutti i componenti di una CPU di un sistema H N. rack 031C Identificazione di un componente di tutte le CPU ridondate di un sistema H Indice 0F1C Solo informazione di intestazione della lista parziale SZL Irrilevante Stato degli allarmi 0222 Set di dati dell'allarme indicato Numero di OB Assegnazione di immagini di processo parziali a CPU 0025 Assegnazione di tutte le immagini di processo parziali agli OB Irrilevante 0125 Assegnazone di un’immagine di processo parziale al rispettivo OB N. immagine di processo parziale 0225 Assegnazione di un OB alla rispettiva immagine di processo parziale N. OB. 0F25 Solo informazione di intestazione della lista parziale SZL Irrilevante Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 243 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 0132 Dati di stato di una parte della comunicazione Dati sullo stato della comunicazione 0232 Diagnostica 0005 Caratteristiche orologio 0008 Dati di stato per una parte di comunicazione Livello di protezione della CPU e posizioni del selettore 0004 Informazioni cumulative sulla CPU H 0071 Informazioni sullo stato attuale del sistema H Irrilevante 0F71 Solo informazione intestazione della lista parziale SZL Irrilevante Stato dei LED dell'unità (leggibile non in tutte le CPU, vedere /102/). 0174 Stato di un LED Identificazione LED 0C75 Stato di comunicazione tra il sistema H ed uno slave DP attivato 0090 Informazioni su tutti i sistemi master DP noti alla CPU 0000 0190 Informazioni su un sistema master DP ID sistema master DP 0F90 Solo informazioni nell'intestazione della lista SZL 0000 Slave DP attivati nel sistema H Indirizzo di diagnostica dell’interfaccia slave DP Informazioni sistema master DP Informazioni sullo stato delle unità (vengono forniti al max. 27 set di dati) 244 0191 Informazione di stato di tutte le unità/sottomoduli inseriti Irrilevante 0191 Informazione di stato di tutte le unità non disattivate/telai con identificazione scorretta dell'unità Irrilevante 0291 Informazione di stato di tutte le unità guaste e non disattivate Irrilevante 0591 Informazione di stato unità di tutte di tutti i sottomoduli dell'unità host Irrilevante 0991 Informazione di stato unità di un sistema master DP ID sistema master DP 0C91 Informazione di stato di un'unità nella configurazione centrale, in una interfaccia DP integrata oppure in un'interfaccia PROFINET (integrata o esterna) Indirizzo di base logico 4C91 Informazione di stato unità di un'unità in una interfaccia DP esterna Indirizzo di base logico 0D91 Informazione di stato di tutte le unità nel telaio indicato/nella Telaio o ID sistema master DP e stazione indicata (DP o PROFINET) numero stazione oppure numero stazione e ultimi due posti dell'ID del sistema subordinato PNIO 0E91 Informazione di stato di tutte le unità assegnate Irrilevante 0F91 Soltanto le informazioni dell'intestazione della lista parziale Irrilevante Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 0092 Stato di riferimento dei telai nella struttura centrale / delle stazioni di un sistema master DP 0 / ID sistema master DP 4092 Stato di riferimento delle stazioni di un sistema master DP collegato tramite una interfaccia DP esterna ID sistema master DP 0192 Stato di attivazione delle stazioni di un sistema master DP collegato per mezzo di un’interfaccia DP-A integrata ID sistema master DP 0292 Stato attuale dei telai nella struttura centrale / delle stazioni di un sistema master DP 0 / ID sistema master DP 4292 Stato attuale delle stazioni di un sistema master DP collegato tramite interfaccia DP esterna ID sistema master DP 0392 Stato della batteria tampone di un rack/telaio di montaggio di una CPU, in caso di guasto di almeno una batteria 0 0492 Stato dell’intera batteria tampone di tutti i rack/telai di montaggio di una CPU 0 0592 Stato dell’alimentazione da 24 V-di tutti i rack/telai di montaggio di una CPU 0 0692 Stato di diagnostica delle apparecchiature di ampliamento in una configurazione centrale / delle stazioni di un sistema master DP collegato tramite un'interfaccia DP integrata. 0 / ID sistema master DP 4692 Stato di diagnostica delle stazioni di un sistema master DP collegato tramite un'interfaccia DP esterna ID sistema master DP 0094 Stato di riferimento dei telai nella struttura centrale / delle stazioni di un sistema IO-Controller 0194 Stato di attivazione delle stazioni di un sistema IO-Controller progettato e disattivato 0294 Stato attuale dei telai nella struttura centrale / delle stazioni di un sistema IO-Controller 0 / ID del sistema subordinato PNIO 0694 Stato della diagnostica delle apparecchiature di ampliamento nella struttura centrale / delle stazioni di un sistema IO-Controller 0 / ID del sistema subordinato PNIO 0794 Stato di manutenzione del rack centrale un sistema IO-Controller 0 / ID del sistema subordinato PNIO 0F94 Soltanto informazione di intestazione 0195 Maggiori informazioni su un sistema master DP ID sistema master DP 0F95 Solo informazioni nell'intestazione della lista SZL 0000 0696 Informazione di stato di tutti i sottomoduli di un'unità indicata (soltanto con PROFINET IO su un'interfaccia integrata) Indirizzo ID con ID di ingressi e uscite 0C96 Informazione di stato di un'unità /di un sottomodulo centrale o su un'interfaccia PROFIBUS DP integrata oppure su un'interfaccia PROFINET (integrata o esterna) Indirizzo iniziale con con ID di ingressi e uscite Informazione di stato di telai e stazioni Informazione di stato di telai e stazioni / delle stazioni di 0 / ID del sistema subordinato PNIO ID del sistema subordinato PNIO - Informazioni supplementari sul sistema master DP/PROFINET IO Baugruppenzustandsinformation PROFINET IO und PROFIBUS DP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 245 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 009C Informazioni su tutti i commutatori e sui relativi utensili in un ID del sistema PROFINET IO sistema PROFINET IO 019C Informazioni su tutti i commutatori in un sistema PROFINET ID del sistema PROFINET IO IO 029C Informazioni su un commutatore e sui relativi utensili Indirizzo logico del commutatore 039C Informazioni su un utensile e sui relativi IO Device Indirizzo logico di un qualsiasi IO Device dell'utensile 0F9C Solo informazione intestazione della lista parziale SZL Non rilevante Informazioni sui commutatori (PROFINET IO) Buffer di diagnostica (vengono forniti 21 set di dati al massimo) 00A0 Tutte le registrazioni fornibili nello stato di funzionamento attuale Irrilevante 01A0 Le registrazioni più recenti, il numero viene indicato tramite l'indice Numero 0FA0 Solo informazione intestazione della lista parziale SZL Irrilevante Dati di diagnostica su unità 246 00B1 I primi quattro byte di diagnostica di un'unità (DS0) Indirizzo di base logico 00B2 Tutti i dati di diagnostica di un'unità (≤ 220 byte, DS1) (non unità DP) Telaio, posto connettore 00B3 Tutti i dati di diagnostica di un'unità (≤ 220 byte, DS1) Indirizzo di base logico 00B4 Dati di diagnostica di uno slave DP Indirizzo di diagnostica progettato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" Descrizione Con la SFC 52 "WR_USMSG" (write user element in diagnosis buffer) si può scrivere un evento di diagnostica definito dall'utente nel buffer di diagnostica. In più è possibile trasmettere i relativi messaggi di diagnostica a tutti i nodi allacciati a questo scopo (tramite assegnazione del parametro di ingresso SEND = TRUE). In caso di errore, il parametro di uscita RET_VAL fornisce l'informazione di errore. Trasmissione messaggio utente Con la SFC 52 viene registrato un evento di diagnostica definito dall'utente nel buffer di diagnostica. In più è possibile trasmettere il relativo messaggio di diagnostica definito dall'utente anche a tutti i partecipanti allacciati a questo scopo (tramite assegnazione del parametro di ingresso SEND = TRUE). Il messaggio di diagnostica definito dall'utente viene dapprima scritta nel buffer di trasmissione e da lì automaticamente trasmesso al nodo allacciato. Si può controllare se la trasmissione del messaggio di diagnostica definito dall'utente è momentaneamente possibile. A tale scopo richiamare la SFC 51 "RDSYSST" con i parametri ID SZL = W#16#0132 e INDEX = W#16#0005. La quarta parola del set di dati fornito indica se la trasmissione è attualmente possibile (1) o meno (0). CPU Nodo p. es. PG, OP SEND= TRUE Buffer di trasmis sione 1 2 ... SFC 52 Trasmissione asincrona al pro gramma utente Buffer diagnostica ... Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 247 SFC per la diagnostica 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" Buffer di trasmissione pieno La registrazione del messaggio di diagnostica nel buffer di trasmissione può avere luogo solo se il buffer di trasmissione non è pieno. Quante registrazioni siano possibili nel buffer di trasmissione, dipende dal tipo della CPU. Se il buffer di trasmissione è pieno, • la registrazione dell'evento di diagnostica nel buffer di diagnostica avviene comunque • nel parametro RET_VAL viene indicato che il buffer di trasmissione è pieno (RET_VAL = W#16#8092). Il nodo non è allacciato Se deve essere trasmesso un messaggio di diagnostica definito dall'utente(SEND = TRUE), ma non è allacciato nessun nodo • la registrazione dell'evento di diagnostica definito dall'utente nel buffer di diagnostica avviene comunque • nel parametro RET_VAL viene indicato che attualmente non è allacciato nessun nodo (W#16#8091) o W#16/8091). Il valore W#16/8091 compare nelle versioni meno recenti della CPU. Struttura generale Un messaggio del buffer di diagnostica è strutturato internamente nel modo seguente: Byte Contenuto 1e2 ID di evento 3 Classe di priorità 4 Numero di OB 5e6 Riservatobt 7e8 Informazione supplementare 1 9, 10, 11 e 12 Informazione supplementare 2 dal 13 al 20 Registrazione del tempo ID di evento Ad ogni evento è associato un ID di evento. Informazione supplementare L'informazione supplementare contiene ulteriori informazioni relative all'evento. Tali informazioni possono avere contenuti differenti a seconda dell'evento. Se viene generato un evento di diagnostica, è l'utente stesso a poterne stabilire il contenuto. Quando si invia un messaggio di diagnostica definito dall'utente, le informazioni supplementari possono essere integrate come variabili nel testo di segnalazione (specifico dell'ID di evento). 248 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" Registrazione del tempo Questa registrazione del tempo è del tipo Date_and_Time. Parametri Dichiarazione Tipo Area di memoria Descrizione SEND INPUT BOOL E, A, M, D, L, cost. Abilitazione a trasmettere un messaggio di diagnostica definito dall'utente a tutti i nodi allacciati EVENTN INPUT WORD E, A, M, D, L, cost. ID di evento. Assegnano gli ID di evento. L'assegnazione non avviene attraverso il server di segnalazione INFO1 INPUT ANY E, A, M, D, L Informazione supplementare lunga 1 parola INFO2 INPUT ANY E, A, M, D, L Informazione supplementare lunga 2 parole RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore SEND Con SEND = TRUE il messaggio di diagnostica definito dall'utente viene trasmessa a tutti i nodi allacciati. La trasmissione avviene solo se è allacciato un nodo e se il buffer di trasmissione non è pieno. La trasmissione avviene in maniera asincrona rispetto all'esecuzione del programma utente. EVENTN Il parametro EVENTN contiene l'ID dell'evento dell'utente. È possibile scrivere ID di evento della forma W#16#8xyz, W#16#9xyz, W#16#Axyz, W#16#Bxyz. Gli ID della forma W#16#8xyz e W#16#9xyz fanno parte degli eventi predefiniti, gli ID della forma W#16#Axyz e W#16#Bxyz fanno parte degli eventi liberamente definibili. Un evento entrante viene identificato da x = 1, un evento uscente da x = 0. Per eventi della classe A e B vale: yz è il numero di messaggio in rappresentazione decimale assegnato durante la progettazione del messaggio corrispondente. INFO1 Il parametro INFO1 contiene una informazione lunga una parola. Per INFO1 sono permessi i seguenti tipi di dato: • WORD • INT • ARRAY [0...1] OF CHAR È possibile integrare il parametro INFO1 come variabile nel testo di segnalazione, aggiungendo così informazioni attuali al messaggio. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 249 SFC per la diagnostica 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" INFO2 Il parametro INFO2 contiene una informazione lunga due parole. Per INFO2 sono permessi i seguenti tipi di dato: • DWORD • DINT • REAL • TIME • ARRAY [0...3] OF CHAR È possibile integrare il parametro INFO2 come variabile nel testo di segnalazione, aggiungendo così informazioni attuali al messaggio. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 0091 Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica avvenuta) 8083 Tipo INFO1 non ammesso 8084 Tipo INFO2 non ammesso 8085 EVENTN non ammesso 8086 Lunghezza di INFO1 non ammessa 8087 Lunghezza di INFO2 non ammessa 8091 (Questo codice di errore compare solo nelle versioni meno recenti della CPU) Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica avvenuta) 250 8092 Trasmissione attualmente impossibile, il buffer di trasmissione è pieno (evento di diagnostica registrato nel buffer di diagnostica) 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Descrizione Con l'SFC 78 "OB_RT” è possibile rilevare il tempo di esecuzione dei singoli OB in momenti diversi. Avvertenza La SFC 78 fornisce i valori temporali registrati per ultimi degli OB desiderati indipendentemente dal fatto che siano caricati o meno. I dati della SFC 78 non vengono resettati in caso di cancellazione o di sovraccarico ma solamente con un nuovo avviamento (avviamento a caldo). Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione OB NR INPUT INT E, A, M, D, L OB di cui si devono richiedere i tempi elaborati rilevati per ultimi. I numeri OB validi sono quelli degli OB di allarme e di errori di sincronismo generati dalla rispettiva CPU. L'elaborazione degli errori di sincronismo rientra nel tempo di elaborazione del rispettivo OB che ha causato l’errore. L’indicazione degli OB 121 e 122 o degli OB non generati nella CPU produce un messaggio di errore. Se l‘OB=0 vengono trasmessi i dati dell‘OB contestualmente al quale è stata richiamata l‘SFC. Al richiamo dell‘SFC 78 negli OB 121 o 122 mediante OB_NR=0, vengono indicati i tempi dell’OB che ha causato l’allarme inclusi i tempi dell’OB 12x. RET OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. VAL In caso contrario RET_VAL contiene il numero dell‘OB, per il quale tali dati sono stati richiamati. PRIO OUTPUT INT E, A, M, D, L Il parametro PRIO fornisce la classe di priorità dell'OB interrogato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 251 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Parametri Dichiarazione Tipo Area di memoria Descrizione LAST OUTPUT DINT E, A, M, D, L Tempo di esecuzione dell'ultima elaborazione relativa all'OB indicato espresso in microsecondi. RT Se l’OB del quale si intende rilevare i tempi di esecuzione è in corso di elaborazione, tenere presente che : Al primo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, il tempo di esecuzione dell’ultima richiesta di OB completata è specificato in LAST_RT. Ad ogni successivo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, in LAST_RT viene specificato: • DW#16#FFFF FFFF se nell’OB desiderato ha già avuto luogo un richiamo della SFC 78 con OB NR=0. • Il tempo di esecuzione dell’ultima richiesta di OB completata se nell’OB desiderato non ha avuto luogo alcun richiamo della SFC 78 con OB NR=0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore non sono indicati in LAST_RT. La performance del sistema operativo relativa agli OB,(p.es. la creazione e l'approntamento dell'informazione di start dell'OB, l'aggiornamento dell'immagine di processo e di quella di porcesso parziale) è indicata nel parametro LAST_RT 252 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Parametri Dichiarazione Tipo Area di memoria Descrizione LAST_ET OUTPUT DINT E, A, M, D, L Tempo in microsecondi trascorso dall’ultima richiesta di OB e la fine dell’elaborazione dell’OB indicato in microsecondi, e precisamente l’ultima elaborazione completata dell’OB indicato. Al primo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, il tempo trascorso tra l’ultima richiesta di OB completamente elaborata e la fine dell’elaborazione dell’OB indicato è specificato in LAST_ET. Ad ogni successivo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, in LAST_ET viene specificato: • DW#16#FFFF FFFF se nell’OB desiderato ha già avuto luogo un richiamo della SFC 78 con OB NR=0. • Il tempo trascorso tra l’ultima richiesta di OB completamente elaborata e la fine dell’elaborazione dell’OB desiderato, se in quest’ultimo non ha avuto luogo alcun richiamo della SFC 78 con OB NR=0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in LAST_ET. CUR_T OUTPUT DINT E, A, M, D, L Tempo della richiesta OB per l’OB indicato e attualmente elaborato, come tempo relativo espresso in microsecondi. Se l'OB indicato non viene attualmente elaborato, il parametro CUR_T assume il valore 0. Avvertenza: il tempo di sistema è un contatore che conta da 0 a 2 147 483 647 microsecondi. In caso di overflow il contatore riparte nuovamente con 0. CUR_RT OUTPUT DINT E, A, M, D, L Tempo di esecuzione finora trascorso, espresso in microsecondi e relativo all’elaborazione attuale dell’OB indicato. CUR_RT è uguale a 0 se l‘OB non viene elaborato o non è ancora stato elaborato. Ad elaborazione conclusa, il tempo di esecuzione viene acquisito da LAST_RT e CUR_RT viene impostato su 0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore non sono indicati in CUR_RT. La performance del sistema operativo relativa agli OB, realizzata fino al momento del richiamo dell' SFC 78, è indicata nel parametro CUR_RT. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 253 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Parametri Dichiarazione Tipo Area di memoria Descrizione CUR_ET OUTPUT DINT E, A, M, D, L Tempo trascorso in microsecondi dal momento della richiesta dell'OB indicato e attualmente elaborato. CUR_ET è uguale a 0, se l'OB indicato non viene attualmente elaborato. Ad elaborazione conclusa, il tempo di esecuzione viene acquisito da LAST_ET e CUR_ET viene impostato su 0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in CUR_ET. NEXT_ET OUTPUT DINT E, A, M, D, L Se sono previste ulteriori elaborazioni dell’OB indicato prima che sia stata completata la richiesta corrente, in NEXT-ET viene indicato in microsecondi il tempo compreso tra il momento corrente ed il momento della successiva richiesta. NEXT_ET è uguale a 0, se non esiste, per l'OB interessato, nessun altro evento di avvio oltre a quello in attesa di elaborazione o attualmente elaborato. WinLC RTX e le CPU S7-400 non utilizzano questo parametro. In questi componenti, NEXT_ET ha valore DW#16#FFFFFFFF. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in NEXT_ET. I tempi comprendono anche i tempi di esecuzione delle elaborazioni degli allarmi per gli errori di sincronismo (OB 121, OB 122) eventualmente annidate. Avvertenza Se in OB_NR si specifica un numero di OB presente nella configurazione della CPU, ma il cui OB corrispondente non è ancora stato richiamato dal sistema operativo o non ancora caricato nella CPU, il numero di OB indicato è specificato in RET_VAL, la priorità progettata (se necessario di default) dell’OB indicato è specificata in PRIO I parametri runtime (CUR_RT, CUR_ET, LAST_RT, LAST_ET, NEXT_ET) restituisce il valore iniziale DW#16#FFFF FFFF. Nei seguenti modi di avvio o nella commutazione del modo di funzionamento, i parametri runtime vengono impostati sul rispettivo valore iniziale: 254 • CPU standard: nuovo avviamento, avviamento a freddo, riavviamento • H-CPU: nuovo avviamento, avviamento a freddo, commutazione dal funzionamento RUN singolo a quello RUN ridondato, commutazione dal funzionamento RUN ridondato a quello RUN singolo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Informazioni sugli errori Classe di evento Spiegazione Codice di errore Da 1 a 102 Numero dell'OB a cui vengono trasmesse delle informazioni. W#16#8080 Il parametro OB NR contiene un valore non ammesso. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 255 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Descrizione Con la SFC 87 "C_DIAG" è possibile determinare lo stato attuale di tutti i collegamenti S7 e di tutti i collegamenti S7 ad elevata disponibilità (o dei loro collegamenti parziali). Con una corretta analisi di questi dati di collegamento, è possibile riconoscere il guasto di collegamenti S7 e di collegamenti S7 ad elevata disponibilità, segnalandoli eventualmente a un sistema di servizio e supervisione. I collegamenti non controllati possono essere quelli che connettono un sistema di automazione con un altro oppure un sistema di automazione e un sistema di servizio e supervisione. Avvertenza La commutazione dello stato di funzionamento RUN -> STOP -> RUN di una CPU non si ripercuote sullo stato dei collegamenti progettati. Eccezione: quando una stazione H commuta dallo stato di sistema ridondato allo stato di sistema Stop, nei collegamenti ad alta disponibilità vengono interrotti i collegamenti parziali che terminano sulla CPU di riserva. In caso di caduta della tensione di rete, invece, tutti i collegamenti progettati vengono nuovamente creati con conseguente modifica dello stato del collegamento. Al primo richiamo dell'SFC 87 le informazioni sui collegamenti variano, durante o dopo l'avviamento, a seconda che l'ultimo stato della CPU fosse STOP oppure RETE OFF. Procedimento La SFC 87 "C_DIAG" è una SFC che lavora in maniera asincrona, vale a dire che l'elaborazione si può estendere a più richiami di SFC. L'utente avvia il job richiamando la SFC 87 con REQ=1. Quando è possibile avviare il job immediatamente, la SFC del parametro di uscita BUSY rimanda il valore 0. Se BUSY ha valore 1, il job è ancora in corso. Quando si richiama la SFC 87? Per evitare il disturbo di collegamenti S7 e di collegamenti S7 ad elevata disponibilità, richiamare la SFC 87 in un OB di allarme di clock, che venga avviato dal sistema operativo, p. es., ogni 10 secondi. Poiché normalmente è raro che lo stato di un collegamento cambi, con questo richiamo ciclico è preferibile copiare i dati del collegamento nel programma utente soltanto quando sono cambiati rispetto all'ultimo richiamo (richiamo con MODE=B#16#02, vedere oltre). 256 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Come si richiama la SFC 87? La SFC 87 "C_DIAG" ha 4 tipi di funzionamento, che vengono illustrati nella tabella seguente. MODE (B#16#...) La SFC copia i dati del collegamento nel programma utente 00 No Sì 01 Sì Sì 02 • Sì, se i dati del collegamento sono cambiati • No, se i dati del non collegamento sono cambiati 03 Sì La SFC trasmette l'informazione di conferma al sistema operativo SÌ No Con la trasmissione dell'informazione di conferma al sistema operativo, vengono confermate le modifiche dello stato dei dati del collegamento dall'ultimo richiamo della SFC 87 (con MODE=B#16#00, 01 o 02). Avvertenza Utilizzando la SFC 87 in un OB di allarme di clock nel tipo di funzionamento "Copia forzata" (MODE=B#16#02), occorre fare in modo che dopo l'avviamento a freddo della CPU nell'area di destinazione non vi siano valori iniziali. Ciò è possibile richiamando una volta nell'OB 102 la SFC 87 con il tipo di funzionamento "Copia non forzata con conferma " (MODE=B#16#01). Parametro Dichiarazione Tipo Area di memoria di dati REQ INPUT BOOL E, A, M, D, L, cost. Descrizione Parametro di comando request to activate REQ=1: avvio del job, se non ancora avvenuto Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 257 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Parametro Dichiarazione Tipo Area di memoria di dati Descrizione MODE INPUT BYTE Identificazione job E, A, M, D, L, cost. Valori possibili: • B#16#00: la SFC non copia i dati di collegamento ma trasmette al sistema operativo una semplice informazione di conferma • B#16#01: la SFC copia i dati di collegamento a prescindere dal loro stato di modifica nel programma utente e trasmette al sistema operativo un'informazione di conferma • B#16#02: se i dati di collegamento sono cambiati, la SFC li copia nel programma utente. Se non sono cambiati, non vengono copiati. La SFC trasmette in entrambi i casi un'informazione di conferma al sistema operativo • B#16#03: la SFC copia i dati di collegamento a prescindere dal loro stato di modifica nel programma utente ma non trasmette al sistema operativo un'informazione di conferma RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (codice di errore o stato del job) BUSY OUTPUT BOOL E, A, M, D, L BUSY =1: il job non è concluso N_CON OUTPUT INT E, A, M, D, L Indice dell'ultima struttura in CON_ARR, per cui .DIS_PCON o .DIS_CON hanno il valore TRUE. Nel programma utente si devono controllare solo i primi elementi N_CON di CON_ARR Avvertenza: la prima struttura nel campo CON_ARR ha l'indice 1 CON_ARR OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di collegamento letti È ammesso un solo tipo di dati BYTE. A ogni collegamento è assegnata una struttura. Selezionare un'area di destinazione sufficientemente ampia: essa deve contenere tutte le strutture, anche in caso venisse raggiunto il massimo numero di collegamenti supportato dalla CPU. 258 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Struttura dell'area di destinazione CON_ARR L'area di destinazione per i dati di collegamento letti è un array di strutture. A ogni collegamento è assegnata una struttura. L'array non deve essere occupato dall'inizio con registrazioni valide, e tra due registrazioni valide possono trovarsi anche registrazioni non valide. I collegamenti sono disposti in base ai riferimenti. Avvertenza Quando i dati del collegamento vengono copiati dal sistema operativo all'area di destinazione indicata dall'utente, la coerenza dei dati del collegamento è garantita. Configurazione di una struttura Parametro Tipo di dati Descrizione CON_ID WORD Riferimento assegnato dall'utente in NETPRO per questo collegamento W#16#FFFF: identificazione non valida, vale a dire che il collegamento non è progettato. Se sono impostati anche CON_ARR[i].DIS_PCON o CON_ARR[i].DIS_CON (vedere oltre), il collegamento è stato riprogettato o cancellato dall'ultimo richiamo della SFC 87. STAT_CON BYTE Stato attuale del collegamento S7 o del collegamento S7 ad elevata disponibilità Valori possibili: • B#16#00: collegamento S7 non creato • B#16#10: collegamento S7 ad elevata disponibilità non creato • B#16#01: collegamento S7 in fase di creazione • B#16#11: collegamento S7 ad elevata disponibilità in fase di creazione • B#16#02: collegamento S7 creato • B#16#12: collegamento S7 ad elevata disponibilità creato ma non ad elevata disponibilità • B#16#13: collegamento S7 ad elevata disponibilità creato e ad elevata disponibilità PROD_CON BYTE N. di collegamento parziale del collegamento produttivo STBY_CON BYTE N. di collegamento parziale del collegamento standby (B#16#FF: nessun collegamento standby) Valori possibili: 0, 1, 2, 3 Valori possibili: 0, 1, 2, 3 Avvertenza: solo un collegamento S7 ad elevata disponibilità può avere un collegamento standby Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 259 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Parametro Tipo di dati Descrizione DIS_PCON BOOL Le transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 di CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC impostano CON_ARR[i].DIS_PCON a 1. Tutte le altre modifiche di stato del collegamento i lasciano CON_ARR[i].DIS_PCON invariato. Avvertenza: DIS_CON BOOL • Con MODE=B#16#01 e 02, il bit corrispondente a DIS_PCON nel sistema operativo viene resettato in seguito alla copiatura dei dati di collegamento nella zona del traguardo. • Con MODE=B#16#03, il bit corrispondente a DIS_PCON nel sistema operativo rimane invariato. Qualsiasi modifica di CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC ad eccezione delle transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 imposta CON_ARR[i].DIS_CON su 1. Avvertenza: • Con MODE=B#16#01 e 02, il bit corrispondente a DIS_CON nel sistema operativo viene resettato in seguito alla copiatura dei dati di collegamento nella zona del traguardo. • Con MODE=B#16#03, il bit corrispondente a DIS_CON nel sistema operativo rimane invariato.. RES0 BYTE Riservato (B#16#00) RES1 BYTE Riservato (B#16#00) Informazioni sugli errori Codice di errore (W#16#...) Spiegazione 0000 • MODE=B#16#00, 01 o 02: nessuna modifica dello stato del collegamento (elemento della struttura STAT_CON) dall'ultimo richiamo. L'ordine è stato eseguito senza errori • MODE=B#16#03: copia riuscita senza errori • MODE=B#16#00, 01 o 02: modifica dello stato del collegamento (elemento della struttura STAT_CON) con almeno un collegamento dall'ultimo richiamo. Il job è stato eseguito senza errori • MODE=B#16#03: RET_VAL W#16#0001 impossibile: 0001 7000 260 Primo richiamo con REQ=0. Il job definito con MODE non viene elaborato. BUSY ha il valore 0 7001 Primo richiamo con REQ=1. Il job definito con MODE è stato avviato. BUSY ha il valore 1. 7002 Richiamo intermedio (non rilevante per REQ). Il job attivato è ancora in corso. BUSY ha il valore 1. 8080 Il parametro MODE ha un valore non valido 8081 Il parametro CON_ARR ha un tipo di dati non valido 8082 Il parametro CON_ARR ha una lunghezza insufficiente. La SFC non copia i dati nell'area di destinazione 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" Descrizione La SFC 103 "DP_TOPOL" permette di determinare la topologia di un sistema master DP selezionato. Richiamando la SFC 103 vengono indirizzati tutti i repeater di diagnostica del sistema master DP. Avvertenza La topologia può essere definita soltanto per un sistema master DP per volta. La definizione della topologia è indispensabile per visualizzare i dettagli della localizzazione in caso di guasti delle linee. Ripetere la definizione della topologia con la SFC 103 dopo la configurazione e in seguito a ogni modifica della configurazione fisica di un sistema master DP. Per modifica della configurazione fisica si intende: • Modifica della lunghezza dei conduttori • Inserimento o estrazione di nodi o componenti con funzioni di repeater • Modifica di indirizzi dei nodi Se un repeater di diagnostica segnala un errore, la SFC scrive le uscite DPR e DPRI per la durata di un ciclo SFC. Se viene segnalato un errore da più repeater di diagnostica del sistema master DP selezionato, la SFC scrive in DPR e DPRI le informazioni sul primo repeater di diagnostica che ha segnalato l’errore. L’informazione di diagnostica completa può essere letta con la SFC 13 "DPNRM_DG" o con STEP7. Se nessun repeater di diagnostica segnala un errore, le uscite DPR e DPRI hanno il valore ZERO. Se in seguito al verificarsi di un errore si intende avviare nuovamente la definizione della topologia, è necessario innanzitutto eseguire il resettaggio dell'SFC 103. Il resettaggio avviene richiamanfo l'SFC 103 mediante REQ=0 e R=1. Procedimento La SFC 103 "DP_TOPOL" è una SFC a funzionamento asincrono, vale a dire che l’elaborazione comprende più richiami di SFC. Per avviare la definizione della topologia di bus, richiamare SFC 103 con REQ=1. Per interrompere il processo richiamre la SFC 103 con R=1. Per mezzo dei parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job, vedi anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Avvertenza La definizione della topologia può richiedere diversi minuti. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 261 SFC per la diagnostica 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" Identificazione di un job Il parametro di ingresso DP_ID definisce un job in modo univoco. Se l’utente ha richiamato la SFC 103 "DP_TOPOL" e la richiama nuovamente prima di terminare la definizione della topologia, la SFC si comporta in un determinato modo se è stato richiamato lo stesso job: se il parametro DP_ID corrisponde a un job non ancora concluso, il richiamo della SFC viene interpretato come richiamo successivo, e in RET_VAL viene registrato il valore W#16#7002. Se invece si tratta di un altro job, la CPU lo respinge. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, Cost.. REQ=1: avvio della definizione della topologia R INPUT BOOL E, A, M, D, L, Cost. R=1: interruzione della definizione della topologia DP_ID INPUT INT E, A, M, D, L, Cost. ID del sistema master DP la cui topologia deve essere definita RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: la definizione della topologia non è ancora terminata DPR OUTPUT BYTE E, A, M, D, L Indirizzo PROFIBUS del repeater di diagnostica che segnala un errore DPRI OUTPUT BYTE E, A, M, D, L Segmento di misura del repeater di diagnostica che segnala un errore: • Bit 0 = 1: guasto temporaneo del segmento DP2 • Bit 1 = 1: guasto temporaneo del segmento DP2 • Bit 4 = 1: guasto temporaneo del segmento DP3 • Bit 5 = 1: guasto permanente del segmento DP3 Guasti permanenti: nella rete sono stati rilevati guasti permanenti che impediscono di definire correttamente la topologia. I dati esatti sulle cause dei guasti si possono leggere come informazioni di diagnostica con la SFC 13 "DPNRM_DG" o con STEP 7. Guasti temporanei: nella rete sono stati rilevati guasti temporanei che impediscono di definire correttamente la topologia. Probabilmente si tratta di un contatto difettoso o di diversi errori indefiniti. Non è possibile rilevare la causa precisa del guasto. 262 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per la diagnostica 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" Informazioni di errore Per quanto riguarda le informazioni di errore "vere e proprie" (codici di errore W#16#8xyz) della tabella che segue occorre fare una distinzione: • Errori temporanei (codici di errore da W#16#80A2 a 80A4, 80C3, 80C5): Questo tipo di errore può essere eliminato senza l'intervento dell'utente, vale a dire che è sufficiente richiamare nuovamente la SFC (eventualmente più volte). Esempio di errore temporaneo: le risorse richieste sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#8082, 80B0, 80B2): Questo tipo di errore non può essere eliminato senza l'intervento dell'utente. È opportuno richiamare nuovamente la SFC soltanto dopo aver eliminato l'errore. Esempio di errore permanente: il master DP / la CPU non supportano questo servizio (W#16#80B0). Codice di errore (W#16#...) Spiegazione 0000 Il job è stato eseguito senza errori. 7000 Primo richiamo con REQ=0. Non viene avviata alcuna definizione della topologia di bus. BUSY ha il valore 0. 7001 Primo richiamo con REQ=1. Il job è stato impostato per definire la topologia. BUSY ha il valore 1. 7002 Richiamo intermedio (REQ irrilevante): La definizione della topologia non è ancora terminata. BUSY ha il valore 1. 7010 L'utente ha cercato di interrompere la definizione della topologia ma non è in corso nessun job con il DP_ID indicato. BUSY ha il valore 0. 7011 Primo richiamo con R=1. L'interruzione della definizione della topologia è stata avviata. BUSY ha il valore 1. 7012 Richiamo intermedio: l'interruzione della definizione della topologia non è ancora conclusa. BUSY ha il valore 1. 7013 Ultimo richiamo: la definizione della topologia è stata interrotta. BUSY ha il valore 0. 8082 Non è stato progettato un sistema master DP con il DP_ID indicato. 80A2 Errore di definizione della topologia; informazioni più precise sono riportate nei parametri di uscita DPR e DPRI 80A3 Errore di definizione della topologia; il tempo di controllo è scaduto (timeout) 80A4 Comunicazione disturbata nel bus di comunicazione 80B0 Il master DP / la CPU non supportano questo servizio. 80B2 Errore di definizione della topologia: nel sistema master DP selezionato non è stato riconosciuto un repeater di diagnostica. 80C3 Le risorse richieste sono momentaneamente occupate. Cause possibili: l'utente ha avviato una seconda definizione della topologia (è consentita una sola definizione della topologia per volta) o nella CPU H è attualmente in corso un accoppiamento e aggiornamento. 80C5 Il sistema master DP non è attualmente disponibile. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 263 SFC per la diagnostica 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" 264 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 14 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI" Descrizione Con la SFC 26 "UPDAT_PI" (update process image) è possibile aggiornare l'immagine di processo dell'OB1 (= immagine di processo parziale 0) degli ingressi o un‘immagine di processo parziale degli ingressi definita con STEP 7. Nel caso che come procedura di segnalazione per l'aggiornamento dell'immagine di processo da parte del sistema sia stata progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia, con la SFC 26 viene sempre eseguito l'aggiornamento dell'immagine di processo parziale selezionata. Altrimenti questo aggiornamento con la SFC 26 viene eseguito solo se l'immagine di processo parziale selezionata non viene aggiornata da parte del sistema, vale a dire • se questa immagine di processo parziale non è stata assegnata ad alcun OB di allarme, oppure • se è stata selezionata l'immagine di processo parziale 0 e (per mezzo della progettazione) è stato disinserito l'aggiornamento dell'immagine di processo dell'OB1. Avvertenza Ogni indirizzo logico che è stato assegnato ad un'immagine di processo parziale degli ingressi non fa più parte dell'immagine di processo dell'OB1 degli ingressi. Un’immagine di processo parziale aggiornata con la SFC 26 non può essere aggiornata contemporaneamente con la SFC 126 "SYNC_PI”. L'aggiornamento da parte del sistema dell'immagine di processo dell'OB1 degli ingressi e delle immagini di processo parziali degli ingressi che sono stati assegnate ad un OB di allarme ha luogo indipendentemente dai richiami della SFC 26. Parametri Dichiarazione Tipo Area di memoria Descrizione PART INPUT E, A, M, D, L, cost. Numero dell'immagine di processo parziale da aggiornare degli ingressi. Max. campo di valori (dipendente dalla CPU): da 0 a 15 ( 0 significa immagine di processo dell'OB1, n con 1 ≤ n ≤ 15 significa immagine di processo parziale n) BYTE RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si è verificato un errore di accesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 265 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI" Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 Valore non ammesso per il parametro PART. 8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. 8092 L'immagine di processo parziale viene aggiornata dal sistema con un OB e non è stata allo scopo progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia. Non è stato ancora eseguito un aggiornamento con la SFC 26 "UPDAT PI". 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si utilizza l'SFC 26 "UPDAT_PI" per immagini di processo parziale degli slave normalizzati DP per cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 14 "DPRD_DAT". 266 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" 14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" Descrizione Con la SFC 27 "UPDAT_PO" (update process outputs) vengono trasmessi alle unità di uscita gli stati di segnale dell'immagine di processo dell'OB1 (=immagine di processo parziale 0) delle uscite oppure un immagine di processo parziale delle uscite definita con STEP 7. Se per l'immagine di processo parziale scelta è stata definita un'area di coerenza, i dati corrispondenti verranno trasmessi in modo coerente all'unità periferica opportuna. Avvertenza Ogni indirizzo logico che è stato assegnato con STEP 7 ad un'immagine di processo parziale delle uscite non fa più parte dell'intera immagine di processo dell'OB1 delle uscite. Le uscite aggiornate con la SFC 27 non possono essere aggiornate contemporaneamente con la SFC 127 "SYNC_PO”. La trasmissione alle unità di uscita, da parte del sistema, dell'immagine di processo dell'OB1 delle uscite e delle immagini di processo parziali delle uscite che sono state assegnate ad un OB di allarme ha luogo indipendentemente dai richiami della SFC 27. Parametri Dichiarazione Tipo Area di memoria Descrizione PART INPUT BYTE E, A, M, D, L, cost. Numero dell'immagine di processo parziale da trasmettere delle uscite. Max. campo di valori (dipendente dalla CPU): da 0 a 15 ( 0 significa immagine di processo dell'OB1, n con 1 ≤ n ≤ 15 significa immagine di processo parziale n) RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si è verificato un errore di accesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 267 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 Valore non ammesso per il parametro PART 8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si utilizza SFC 27 "UPDAT_PO" per immagini di processo parziale degli slave normalizzati DP per cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 15 "DPWR_DAT". 268 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" 14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" Descrizione Con l'SFC 126 "SYNC_PI" è possibile aggiornare l'immagine di processo parziale degli ingressi con sincronizzazione di clock. L'SFC consente quindi a un programma utente collegato a un clock DP o a un intervallo di trasmissione PN di aggiornare, in modo coerente e in sincronismo di clock, i dati acquisiti in ingresso all'interno di un'immagine di processo parziale degli ingressi. L'SFC 126 può essere interrotta ed è richiamabile unicamente negli OB 61, 62, 63 e 64. Avvertenza È consentito richiamare l'SFC 126 "SYNC_PI" negli OB 61 - 64 soltanto se la corrispondente immagine di processo parziale è stata assegnata al rispettivo OB in Configurazione HW. Un'immagine di processo parziale aggiornata con l'SFC 126 non può essere aggiornata contemporaneamente con l'SFC 26 "UPDAT_PI". Parametri Parametri Dichiarazione Tipo Campo di valori PART INPUT da 1 a 30 RET_VAL OUTPUT INT Informazioni sugli errori FLADDR OUTPUT WORD Indirizzo del primo byte che causa l'errore, nel caso si sia verificato un errore di accesso. BYTE Preconfigurazione Descrizione Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Numero dell'immagine di processo parziale degli ingressi che dev'essere aggiornata con sincronizzazione di clock. 269 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" Informazioni sugli errori Classe di evento Spiegazione Codice di errore W#16#0001 Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è stato suddiviso in due cicli DP o PN. Tuttavia i dati interni a uno slave o a un IO Device sono stati trasmessi coerentemente. W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo parziale degli ingressi non è consentito in questo OB. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#80A0 Durante l'aggiornamento è stato rilevato un errore di accesso. Gli ingressi interessati sono stati impostati a "0". W#16#80A1 Il momento dell'aggiornamento è posteriore all'intervallo di accesso consentito. L'immagine di processo parziale degli ingressi non è stata aggiornata. Il ciclo DP o PN è troppo breve per garantire un tempo sufficiente per l'elaborazione dell'SFC. Pertanto è necessario incrementare i tempi TDP (noto anche come T_DC), Ti e To in STEP 7. W#16#80A2 Errore di accesso con avviso sulla coerenza Durante l'aggiornamento dell'immagine di processo parziale degli ingressi è stato rilevato un errore di accesso con simultaneo avviso di constatata incoerenza. • I dati degli ingressi errati non sono stati letti dalla periferia. Nell'immagine di processo parziale questi ingressi vengono impostati a zero. • L'aggiornamento dei dati degli ingressi non coinvolti dall'errore di accesso è stato suddiviso in due cicli DP o PN. W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si impiega la SFC 126 "SYNC_PI" per parti dell'immagine di processo di slave DP normalizzati per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di errore della SFC 14 "DPRD_DAT". 270 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO" 14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO" Descrizione Con l'SFC 127 "SYNC_PO" è possibile aggiornare l'immagine di processo parziale delle uscite con sincronizzazione di clock. L'SFC consente quindi a un programma utente collegato a un clock DP o a un intervallo di trasmissione PN di trasmettere all'unità di periferia, in modo coerente e in sincronismo di clock, i dati di uscita calcolati di un'immagine di processo parziale delle uscite. L'SFC 127 può essere interrotta ed è richiamabile solo negli OB 61, 62, 63 e 64. Avvertenza È consentito richiamare l'SFC 127 "SYNC_PO" negli OB 61 - 64 soltanto se la corrispondente immagine di processo parziale è stata assegnata al rispettivo OB in Configurazione HW. Un'immagine di processo parziale aggiornata con l'SFC 127 non può essere aggiornata contemporaneamente con l'SFC 27 "UPDAT_PO". Parametri Parametri Dichiarazione Tipo Campo di valori Preconfigurazione PART INPUT BYTE da 1 a 30 RET_VAL OUTPUT INT Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. FLADDR OUTPUT WORD Indirizzo del primo byte che causa l'errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Descrizione Numero dell'immagine di processo parziale delle uscite che dev'essere aggiornata con sincronizzazione di clock. 271 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO" Informazioni sugli errori Classe di evento Spiegazione Codice di errore W#16#0001 Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è stato suddiviso in due cicli DP o PN. Tuttavia i dati interni a uno slave o a un IO Device sono stati trasmessi coerentemente. W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo parziale delle uscite non è consentito in questo OB. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#80A0 Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un errore di accesso. Le uscite errate non sono state inoltrate alla periferia. Nell'immagine di processo parziale queste uscite rimangono invariate. W#16#80A1 Errore di accesso con avviso sulla coerenza Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un errore di accesso con simultaneo avviso di constatata incoerenza. • I dati delle uscite errate non sono stati inoltrati alla periferia. Nell'immagine di processo parziale queste uscite rimangono invariate. • L'aggiornamento dei dati delle uscite non coinvolte dall'errore di accesso è stato suddiviso in due cicli DP o PN. W#16#80A2 Il momento dell'aggiornamento è posteriore all'intervallo di accesso. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si impiega la SFC 127 "SYNC_PO" per parti dell'immagine di processo di slave DP normalizzati per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di errore della SFC 15 "DPWR_DAT". 272 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" 14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" Descrizione Un richiamo della SFC 79 "SET" (set range of outputs) ha l'effetto seguente: • il campo di bit selezionato nell'area di periferia tramite i parametri N e SA viene impostato • anche i bit corrispondenti nell'immagine di processo delle uscite vengono impostati indipendentemente se si trovano in un'immagine di processo parziale delle uscite. Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di processo. In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 79 tenta altrimenti di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore. Avvertenza Durante l'esecuzione della SFC 79, byte interi vengono sempre scritti nell'area di periferia. Se il campo di bit selezionato tramite i parametri N e SA non inizia o termina su un limite byte, un richiamo della SFC 79 ha l'effetto seguente: • I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o alla disattivazione di sistemi di raffreddamento • Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra. • Se si parametrizza N con "0", un richiamo della SFC 79 non ha alcun effetto. Se non è impostato il relè master control, il richiamo della SFC 79 non ha alcun effetto. Parametri Dichiarazione Tipo Area di memoria Descrizione N INPUT RET_VAL OUTPUT INT E, A, M, D, L, cost. Numero dei bit da impostare INT E, A, M, D, L Informazioni sugli errori SA OUTPUT POINTER P Puntatore sul primo bit da impostare Informazioni di errore Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi degli errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni di errore generali delle SFC. La SFC 79 non fornisce informazioni sugli errori specifiche per il parametro RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 273 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET" 14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET" Descrizione Un richiamo della SFC 80 "RSET" (reset range of outputs) ha l'effetto seguente: • il campo di bit selezionato nell'area della periferia tramite i parametri N e SA viene resettato • anche i bit corrispondenti nell'immagine di processo delle uscite vengono resettati indipendentemente se si trovano in un'immagine di processo parziale delle uscite. Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di processo. In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 80 tenta altrimenti di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore. Avvertenza Con l'esecuzione della SFC 80, vengono sempre scritti interi byte nell'area della periferia. Se il campo di bit selezionato tramite i parametri N e SA inizia o termina su un limite byte, un richiamo della SFC 80 ha l'effetto seguente: • I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o la disattivazione di sistemi di raffreddamento. • Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra. • Se si parametrizza N con "0", un richiamo della SFC 80 non ha alcun effetto. Se il relè master control non è impostato, un richiamo della SFC 80 non ha alcun effetto. Parametri Dichiarazione Tipo Area di memoria Descrizione N INPUT RET_VAL OUTPUT INT E, A, M, D, L, cost. Numero dei bit da reimpostare INT E, A, M, D, L Informazioni sugli errori SA OUTPUT POINTER P Puntatore sul primo bit da reimpostare Informazioni di errore Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi degli errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni di errore generali delle SFC. La SFC 80 non fornisce informazioni sugli errori specifiche per il parametro RET_VAL. 274 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" Descrizione L'SFB 32 "DRUM" realizza un dispositivo di avanzamento a passi con al massimo 16 passi. Il numero del primo passo viene assegnato con il parametro DSP e il numero dell'ultimo passo con il parametro LST_STEP. In ogni passo vengono descritti tutti i 16 bit di uscita, da OUT0 a OUT15 e il parametro di uscita OUT_WORD (in cui sono riuniti i bit di uscita). A un bit di uscita viene assegnato il bit relativo del campo OUT_VAL oppure lo stesso bit d'uscita del passo precedente. Il valore assegnato dipende da come vengono occupati i bit di maschera nel parametro S_MASK (vedere tabella seguente). Avvertenza La preimpostazione dei bit della maschera è 0. Per modificare l'impostazione attuale di uno o più bit della maschera, procedere alla modifica nel DB di istanza. L'SFB 32 "DRUM" si inserisce nel passo successivo se all'ingresso JOG di fronte al richiamo dell'SFB precedente è emerso un fronte di salita. Se l'SFB si trova già nell'ultimo passo, le variabili Q e EOD vengono poste in JOG con fronte di salita, DDC riceve valore 0 e l'SFB rimane nell'ultimo passo fino a che l'ingresso RESET non viene occupato da 1. Inoltre è possibile anche un avanzamento in funzione del tempo nel successivo passo. Per fare ciò è necessario che il parametro DRUM_EN sia occupato da 1. Il passaggio nel passo successivo avviene • se è impostato il bit di evento EVENTi relativo al passo attuale e • se è trascorso il tempo assegnato per il passo attuale. Questo tempo risulta dal prodotto della base tempo DTBP e del fattore tempo valido per il passo attuale (dal campo S_PRESET) Avvertenza Il tempo di esecuzione DCC rimasto ancora nel passo attuale viene ridotto solo se il relativo bit d'evento EVENTi è impostato. Se richiamando l'SFB all'ingresso RESET è presente 1, il dispositivo di avanzamento a passi va nel passo il cui numero è stato attribuito all'ingresso DSP. Avvertenza Se è stato selezionato DRUM_EN a 1 si ha il particolare caso di • avanzamento dei passi su interrupt periodico selezionando EVENTi = 1 per DSP i LST_STEP. • avanzamento dei passi su interrupt di evento tramite i bit di evento EVENTi selezionando DTBP = 0. È inoltre possibile fare avanzare in qualsiasi momento il dispositivo di avanzamento a passi (anche con DRUM EN=1) tramite l'ingresso JOG. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 275 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" Al primo richiamo del blocco è necessario occupare l'ingresso RESET con 1. Se il dispositivo di avanzamento a passi si trova nell'ultimo passo (DSC ha il valore di LST_STEP) e se il tempo di elaborazione assegnato per questo passo è trascorso, le uscite Q e EOD vengono impostate e l'SFB rimane nell'ultimo passo finché non si occupa l'ingresso RESET con 1. Un temporizzatore DRUM funziona solo negli stati di esercizio AVVIAMENTO e RUN. Il sistema operativo resetta l'SFB 32 "DRUM" all'avviamento a freddo, ma non al nuovo avviamento (avviamento a caldo). Se l'SFB 32 "DRUM" deve essere inizializzato dopo il nuovo avviamento (avviamento a caldo), lo si deve richiamare nell'OB 100 con RESET = 1. 276 Parametri Dichiarazione Tipo Area di memoria Descrizione RESET INPUT BOOL E, A, M, D, L, cost. Il livello 1 causa il resettaggio del dispositivo di avanzamento a passi. Al primo richiamo del blocco è necessario occupare RESET con 1. JOG INPUT BOOL E, A, M, D, L, cost. Un fronte di salita (davanti all'ultimo richiamo di SFB) causa l'avanzamento nel passo successivo, se per caso il dispositivo di avanzamento a passi non si trova ancora nell'ultimo passo. L'avanzamento avviene indipendentemente dal valore attribuito a DRUM_EN. DRUM_EN INPUT BOOL E, A, M, D, L, cost. Parametro di comando che stabilisce se è possibile un avanzamento in funzione del tempo nel passo successivo (1: avanzamento in funzione del tempo possibile). LST_STEP INPUT BYTE E, A, M, D, L, cost. Numero dell'ultimo passo valori possibili: da 1 a 16 EVENTi 1≤ i ≤16 INPUT BOOL E, A, M, D, L, cost. Bit d'evento n. i (appartiene al passo i) OUTj 0≤ j≤15 OUTPUT BOOL E, A, M, D, L Bit d'uscita n. j (identico al bit n. j di OUT_WORD) Q OUTPUT BOOL E, A, M, D, L Parametro di stato che indica se il tempo assegnato per l'elaborazione dell'ultimo passo è trascorso. OUT_WORD OUTPUT WORD E, A, M, D, L, P Bit di uscita riuniti in una variabile ERR_CODE OUTPUT WORD E, A, M, D, L, P Se durante l'elaborazione dell'SFB si presenta un errore, ERR_CODE contiene l'informazione di errore. JOG_HIS VAR BOOL E, A, M, D, L, cost. (non rilevante per l'utente: parametro d'ingresso JOG del richiamo SFB precedente). EOD VAR BOOL E, A, M, D, L, cost. Identico al parametro di uscita Q DSP VAR BYTE E, A, M, D, L, P, cost. Numero del primo passo valori possibili: da 1 a 16 DSC VAR BYTE E, A, M, D, L, P, cost. Numero del passo attuale Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" Parametri Dichiarazione Tipo Area di memoria DCC VAR DWORD E, A, M, D, L, P, cost. Tempo di elaborazione rimasto ancora nel passo attuale in ms (rilevante solo se DRUM_EN = 1 e relativo bit d'evento = 1). DTBP VAR WORD Base tempo in ms valida per tutti i passi PREV_TIME VAR DWORD E, A, M, D, L, cost. (Non rilevante per l'utente: tempo sistema del richiamo SFB precedente) S_PRESET VAR ARRAY of WORD E, A, M, D, L, cost. Campo unidimensionale con fattori tempo per ogni passo. Scelta sensata degli indizi: [da 1 a 16]. In questo caso S_PRESET [x] contiene il fattore tempo del passo x. OUT_VAL VAR ARRAY E, A, M, D, L, cost. of BOOL Campo bidimensionale con i valori da emettere in ogni passo, se non li si ha cancellati tramite S_MASK. Scelta sensata degli indizi: [da 1 a 16, da 0 a 15]. In questo caso OUT_VAL [x,y] contiene il valore che viene assegnato al bit d'uscita OUTy nel passo x. S_MASK VAR ARRAY E, A, M, D, L, cost. of BOOL Campo bidimensionale con i bit di maschera per ogni passo. Scelta sensata degli indizi: [da 1 a 16, da 0 a 15]. In questo caso S_MASK [x,y] contiene il bit di maschera per il valore y-esimo da emettere nel passo x. Significato dei bit di maschera: E, A, M, D, L, P, cost. Descrizione • 0: il valore relativo del passo precedente viene attribuito al bit d'uscita relativo • 1: il valore relativo da OUT_VAL viene attribuito al relativo bit d'uscita. Informazioni di errore Se dovesse verificare una delle condizioni indicate nella seguente tabella, l'SFC 32 "DRUM" rimane nello stato attuale e l'uscita ERR_CODE viene impostata in base a ciò. Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Valore non ammesso per LST_STEP 8082 Valore non ammesso per DSC 8083 Valore non ammesso per DSP 8084 Il prodotto DCC = DTBP * S_PRESET [DSC] supera il valore 2**31-1 (circa 24,86 giorni) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 277 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" 278 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 15 Funzioni di sistema per l'indirizzamento di unità 15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC" Descrizione Conoscendo il posto connettore di un canale di un'unità di ingresso/uscita e l'offset dell'area di indirizzamento dati utili, è possibile con la SFC 5 "GADR_LGC" (convert geographical address to logical address) rilevare l'indirizzo di base logico corrispondente di un'unità, ovvero l'indirizzo E o A più piccolo. Impiegando l'SFC 5 su moduli power o su moduli con indirizzi compressi (ET 200S), viene fornito l'indirizzo di diagnostica. Parametri Dichiarazione Tipo Area di memoria SUBNETID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area: RACK INPUT WORD Descrizione • 0, se il posto connettore si trova in uno dei telai di montaggio 0 (apparecchiatura centrale) o da 1 a 21 (apparecchiatura di ampliamento) • ID sistema master DP del sistema periferico decentrale, se il posto connettore si trova in un dispositivo di periferia decentrata. E, A, M, D, L, cost. • • Numero del telaio di montaggio se l'identificazione dell'area è 0 Numero di stazione del dispositivo di periferia decentrata se l'identificazione dell'area > 0 SLOT INPUT WORD E, A, M, D, L, cost. N. del posto connettore SUBSLOT INPUT BYTE E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è possibile collocare alcun sotto-modulo, indicare 0) SUBADDR INPUT WORD E, A, M, D, L, cost. Offset nell'area di indirizzamento dati utili dell'unità RET_VAL OUTPUT INT E, A, M, D, L IOID OUTPUT BYTE E, A, M, D, L Informazioni sugli errori Identificazione dell'area: B#16#54: Ingresso periferia (PE) B#16#55: Uscita periferia (PA) In caso di unità miste la SFC fornisce l'identificazione dell'area dell'indirizzo più basso. In caso di indirizzi uguali la SFC fornisce l‘identificazione B#16#54. LADDR OUTPUT WORD E, A, M, D, L Indirizzo di base logico dell‘unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 279 Funzioni di sistema per l'indirizzamento di unità 15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC" Informazioni di errore Codice di errore Spiegazione (W#16#...) 280 0000 Nessun errore. 8093 Valore non consentito nel parametro SUBNETID (non è ammesso l'uso dell'SFC 5 per PROFINET IO). 8094 Nessuna sotto-rete è stata configurata con la SUBNETID indicata. 8095 Valore non ammesso nel parametro RACK 8096 Valore non ammesso nel parametro SLOT 8097 Valore non ammesso nel parametro SUBSLOT 8098 Valore non ammesso nel parametro SUBADDR 8099 Il posto connettore non è stato progettato 809A Il sotto-indirizzo per il posto connettore selezionato non è progettato (possibile soltanto nella periferia a livello centrale per la CPU e l'IM). 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di sistema per l'indirizzamento di unità 15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR" 15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR" Descrizione Con la SFC 49 "LGC_GADR" (convert logical address to geographical address) è possibile rilevare il posto connettore dell'unità appartenente ad un indirizzo logico e l'offset nell'area di indirizzamento dati utili dell'unità. Avvertenza L'applicazione della SFC 49 "LGC_GADR" a un modulo con indirizzi compressi (ET 200S) non è ammessa. Parametri Dichiarazione Tipo Area di memoria IOID INPUT E, A, M, D, L, cost. BYTE Descrizione Identificazione dell'area di indirizzamento: • B#16#00: il bit 15 di LADDR indica se l'indirizzo è un ingresso (bit15=0) o un'uscita (bit15=1). • B#16#54 = ingresso di periferia (PE) • B#16#55 = uscita di periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione dell'area dell'indirizzo minore. Se gli indirizzi sono uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico Con un'unità mista si deve indicare il minore dei due indirizzi. RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori AREA OUTPUT BYTE E, A, M, D, L Identificazione dell'area: indica come interpretare i parametri di uscita rimanenti. RACK OUTPUT WORD E, A, M, D, L N. del telaio di montaggio SLOT OUTPUT WORD E, A, M, D, L N. del posto connettore SUBADDR OUTPUT WORD E, A, M, D, L Offset nell'area di indirizzamento dati utili dell'unità corrispondente. Avvertenza Se si impiega un sistema di automazione S7-400H in funzionamento ridondato e, richiamando la SFC 49, si indica nel parametro LADDR l'indirizzo logico di un'unità di uno slave DP collegato, nell'high byte del parametro RACK viene emessa l'ID del sistema master DP del canale attivo. Se non esiste un canale attivo, viene emessa l'ID del sistema master DP corrispondente della CPU master. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 281 Funzioni di sistema per l'indirizzamento di unità 15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR" Parametri di uscita AREA Il parametro di uscita AREA indica come interpretare i parametri di uscita RACK, SLOT e SUBADDR. La tabella seguente spiega questo rapporto di dipendenza. Valore di AREA Sistema 0 S7-400 Significato di RACK, SLOT e SUBADDR RACK : N. del telaio di montaggio SLOT : N. del posto connettore SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base 1 S7-300 RACK : N. del telaio di montaggio SLOT : N. del posto connettore SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base 2 DP RACK (low byte): numero di stazione RACK (high byte): ID del sistema master DP SLOT: numero di slot nella stazione SUBADDR: offset nell'area indirizzamento dati utili indirizzo logico dell'unità corrispondente 3 Area S5-P RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 4 Area S5-Q RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 5 Area S5-IM3 RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 6 Area S5-IM4 RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x Informazioni di errore Codice di errore Spiegazione (W#16#...) 282 0000 Nessun errore. 8090 L'indirizzo logico indicato non è valido o valore non ammissibile con parametro IOID 8093 Per le unità selezionate tramite IOID e LADDR questa SFC non è consentita. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di sistema per l'indirizzamento di unità 15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR" 15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR" Descrizione Partendo da un indirizzo logico di un'unità, di un sotomodulo centrale o di un sottomodulo PNIO è possibile, con l'SFC 50 "RD_LGADR" (read module logical addresses), determinare tutti gli indirizzi logici convenzionati di questa unità o di questo sottomodulo. Gli indirizzi devono essere stati assegnati alle unità o ai sottomoduli in precedenza con STEP 7. L'SFC 50 registra gli indirizzi logici rilevati nel campo PEADDR o nel campo PAADDR in ordine crescente. Parametri Dichiarazione Tipo Area di memoria Descrizione IOID INPUT E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: BYTE • B#16#00: il bit 15 di LADDR indica se l'indirizzo è un ingresso (bit15=0) o un'uscita (bit15=1). • B#16#54 = ingresso di periferia (PE) • B#16#55 = uscita di periferia (PA) LADDR INPUT WORD E, A, M, D, L, cost. Un indirizzo logico RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori PEADDR OUTPUT ANY E, A, M, D, L Campo per gli indirizzi PE, gli elementi di campo devono essere del tipo WORD. PECOUNT OUTPUT INT E, A, M, D, L Numero degli indirizzi PE forniti PAADDR ANY E, A, M, D, L Campo per gli indirizzi PA, gli elementi di campo devono essere del tipo WORD. INT E, A, M, D, L Numero degli indirizzi PA forniti OUTPUT PACOUNT OUTPUT Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 L'indirizzo logico indicato non è valido 80A0 Errore nel parametro di uscita PEADDR: il tipo dei dati degli elementi di campo non è WORD. (Questo codice di errore esiste solo in S7-400 e nella CPU 318.) 80A1 Errore nel parametro di uscita PAADDR: il tipo dei dati degli elementi di campo non è WORD. (Questo codice di errore esiste solo in S7-400 e nella CPU 318.) 80A2 Errore nel parametro di uscita PEADDR: il campo indicato non ha potuto accogliere tutti gli indirizzi logici. 80A3 Errore nel parametro di uscita PAADDR: il campo indicato non ha potuto accogliere tutti gli indirizzi logici. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 283 Funzioni di sistema per l'indirizzamento di unità 15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" 15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" Descrizione Dal canale di un'unità degli ingressi e delle uscite si ricava il rispettivo posto connettore dell'unità. La SFC 70 "GEO_LOG" ("convert geographical address to logical address") consente di determinare da tali dati il corrispondente indirizzo iniziale dell'unità, vale a dire l'indirizzo E o A più basso. Impiegando l'SFC 70 su moduli power oppure su moduli con indirizzi compressi (ET 200S), viene restituito l'indirizzo di diagnostica. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MASTER INPUT INT E, A, M, D, L, cost. Identificatore area: STATION INPUT INT E, A, M, D, L, cost. • 0 se il posto connettore si trova nella configurazione centrale: telai di montaggio 0-3 (S7-300) oppure 0-21 (S7-400) • 1 ... 32: ID del sistema master DP della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo di PROFIBUS • 100 … 115: ID del sistema PROFINET IO della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo di PROFINET Numero del telaio di montaggio se l'identificatore area è = 0 Numero della stazione dell'apparecchiatura da campo se l'identificatore area è > 0 284 SLOT INPUT INT E, A, M, D, L, cost. Numero del posto connettore SUBSLOT INPUT INT E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è possibile inserire sotto-moduli, qui va indicato 0) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore LADDR OUTPUT WORD E, A, M, D, L Indirizzo iniziale dell'unità il bit 15 di LADDR indica se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di sistema per l'indirizzamento di unità 15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori 8094 Non è stata configurata una sottorete con la SUBNETID indicata 8095 Valore non consentito per il parametro STATION 8096 Valore non consentito per il parametro SLOT 8097 Valore non consentito per il parametro SUBSLOT 8099 Il posto connettore non è stato progettato 809A L'indirizzo del sotto-modulo per il posto connettore selezionato non è stato progettato 8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 285 Funzioni di sistema per l'indirizzamento di unità 15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" 15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" Descrizione La SFC 71 "LOG_GEO" ("convert logical address to geographical address") consente di determinare il posto connettore dell'unità corrispondente a un indirizzo logico e l'offset nell'area di indirizzi dei dati utili dell'unità. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità Indicare nel bit 15 se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore AREA OUTPUT INT E, A, M, D, L Identificatore area: indica in che modo vanno interpretati i restanti parametri di uscita. MASTER OUTPUT INT E, A, M, D, L, cost. Identificatore area: STATION OUTPUT INT E, A, M, D, L • 0 se il posto connettore si trova nella configurazione centrale: telai di montaggio 0-3 (S7-300) oppure 0-21 (S7-400) • 1 ... 32: ID del sistema master DP della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo di PROFIBUS • 100 … 115: ID del sistema PROFINET IO della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo di PROFINET Numero del telaio di montaggio se l'identificatore area è = 0 Numero della stazione dell'apparecchiatura da campo se l'identificatore area è > 0 286 SLOT OUTPUT INT E, A, M, D, L Numero del posto connettore SUBSLOT OUTPUT INT E, A, M, D, L Numero del sotto-modulo OFFSET OUTPUT INT E, A, M, D, L Offset nell'area di indirizzi dei dati utili dell'unità corrispondente Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Funzioni di sistema per l'indirizzamento di unità 15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" Parametro di uscita AREA Valore di AREA Sistema Significato di RACK, SLOT e SUBADDR 0 S7-400 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore SUBSLOT: 0 OFFSET: differenza tra indirizzo logico e indirizzo logico di base 1 S7-300 MASTER: 0 STATION: numero del telaio di montaggio SLOT: Numero del posto connettore SUBSLOT: 0 OFFSET: Differenza tra indirizzo logico e indirizzo logico di base 2 PROFIBUS DP MASTER: ID sistema master DP STATION: numero della stazione SLOT: numero del posto connettore nella stazione SUBSLOT: 0 OFFSET: offset nell'area di indirizzi dei dati utili dell'unità corrispondente PROFINET IO MASTER: ID sistema PROFINET IO STATION: numero della stazione SLOT: numero del posto connettore nella stazione SUBSLOT: numero del sotto-modulo OFFSET: offset nell'area di indirizzi dei dati utili dell'unità corrispondente 3 Area S5 P MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" 4 Area S5 Q MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" 5 Area S5 IM3 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento OFFSET: indirizzo nell'area S5 "x" 6 Area S5 IM4 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 287 Funzioni di sistema per l'indirizzamento di unità 15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" Informazioni di errore 288 Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori 8090 L'indirizzo logico indicato non è valido 8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 16 SFC per periferia decentrata o per PROFINET IO 16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" Campo di validità L'SFC descritta in questo capitolo può essere utilizzata solo se si usa una CPU 315-2DP come slave intelligente. Descrizione Con l'SFC 7 "DP_PRAL" viene attivato, dal programma utente di uno slave intelligente, un interrupt di processo nel relativo master DP. Questo fa in modo che venga avviato l'OB 40 nel master DP. Con il parametro di ingresso AL_INFO è possibile contrassegnare la causa dell'interrupt di processo desiderato. Questa identificazione di interrupt viene trasferita al master DP e può essere analizzata nell'OB 40 (variabile OB40_POINT_ADDR). L'interrupt di processo richiesto viene definito in modo univoco tramite i parametri di ingresso IOID e LADDR. Per ogni area di indirizzamento progettata nella memoria di trasferimento è possibile attivare un interrupt di processo esattamente nel momento desiderato. Metodo di lavoro L'SFC 7 "DP_PRAL" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami dell'SFC. La richiesta di interrupt di processo viene avviata richiamando l'SFC 7 con REQ=1. Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone. L'ordine è terminato quando si è conclusa l'elaborazione dell'OB 40 nel master DP. Avvertenza Se lo slave DP viene utilizzato come uno slave standard, l'ordine è concluso non appena il telegramma di diagnostica è stato ritirato dal master DP. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 289 SFC per periferia decentrata o per PROFINET IO 16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" Identificazione di un ordine I parametri di ingresso IOID e LADDR definiscono un ordine in modo univoco. Se l'SFC 7 "DP_PRAL" è stata richiamata su uno slave DP e la si richiama nuovamente prima che il master DP abbia confermato l'interrupt di processo richiesto, il successivo comportamento dell'SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine: se i parametri IOID e LADDR concordano con un ordine non ancora concluso, il richiamo SFC viene interpretato come richiamo conseguente, indipendentemente dal valore del parametro AL_INFO, e in RET_VAL viene registrato il valore W#16#7002. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: attivazione interrupt di processo sul relativo master DP IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento nella memoria di trasferimento (dal punto di vista dello slave DP): • B#16#00: il bit 15 di LADDR indica la presenza di un indirizzo di ingresso (bit 15=0) o di uscita (bit 15=1). • B#16#54 = ingresso di periferia (PE) • B#16#55 = uscita di periferia (PA) Se si tratta di un'unità mista occorre specificare l'identificatore di area dell'indirizzo più basso. Se gli indirizzi sono uguali occorre indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento (dal punto di vista dello slave DP). Se si tratta di un'area appartenente ad un'unità mista si deve indicare il minore dei due indirizzi. AL_INFO INPUT DWORD E, A, M, D, L, cost. Identificazione di interrupt Questa identificazione viene fornita all'OB 40 che deve essere avviato sul relativo master DP (variabile OB40_POINT_ADDR). Se lo slave intelligente viene operato su un master non S7 il telegramma di diagnostica deve essere analizzato nel master (vedere /70/). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'interrupt di processo attivato non è stato ancora confermato dal master DP. 290 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Il L'ordine è stato eseguito senza errori 7000 Primo richiamo con REQ=0. Nessuna richiesta di interrupt di processo attiva; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. È stato richiesto un interrupt di processo al master DP; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): l'interrupt di processo attivato non è stato ancora confermato dal master DP; BUSY ha valore 1. 8090 Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento errato. 8091 Interrupt inibito tramite la progettazione. 8093 Tramite la coppia di parametri IOID e LADDR viene indirizzata un'unità dalla quale non è possibile una richiesta di interrupt di processo. 80B5 Richiamo nel master DP non ammesso 80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate. 80C5 La periferia decentrata non è attualmente disponibile (p. es. guasto della stazione). 80C8 Lo stato di funzionamento attuale del master DP non consente di eseguire questa funzione. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 291 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Descrizione Con l'SFC 11 "DPSYC_FR" è possibile sincronizzare uno o più gruppi di slave DP. A tale scopo occorre inviare una delle seguenti istruzioni di comando, o una combinazione di esse, ai gruppi interessati: • SYNC (emissione e congelamento simultanei degli stati delle uscite con gli slave DP) • UNSYNC (annulla nuovamente l'istruzione di comando SYNC) • FREEZE (congelamento degli stati degli ingressi con gli slave DP) • UNFREEZE (annulla nuovamente l'istruzione di comando FREEZE) Avvertenza Osservare che i comandi di controllo SYNC e FREEZE restano attivi anche in seguito a un nuovo avviamento o a un avviamento a freddo. Osservare inoltre che è consentito attivare un solo ordine SYNC/UNSYNC o un solo ordine FREEZE/UNFREEZE alla volta. Presupposti Prima di inviare le istruzioni di comando sopra indicate, gli slave DP devono essere stati suddivisi in gruppi con STEP 7 (vedere /231/). Occorre sapere a quale gruppo e con quale numero è stato assegnato un determinato slave DP e quali caratteristiche hanno i singoli gruppi in merito al comportamento SYNC/FREEZE. Metodo di lavoro L'SFC 11 "DPSYC_FR" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami dell'SFC. L'ordine viene avviato richiamando l'SFC 11 con REQ=1. Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il paragrafo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone. Identificazione di un ordine Se è stato attivato un ordine SYNC/FREEZE e viene nuovamente richiamata l'SFC 11 prima che questo ordine sia stato concluso, il successivo comportamento dell'SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se i parametri di ingresso LADDR, GROUP e MODE concordano, il richiamo SFC viene interpretato come richiamo conseguente. 292 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Descrizione delle uscite delle unità DP La descrizione delle uscite di unità DP viene attivata da • Comandi di trasferimento • Scrittura dell'immagine di processo delle uscite nelle unità (da parte del sistema operativo alla fine dell'OB1 oppure richiamando l'SFC 27 "UPDAT_PO"), • Richiamo dell'SFC 15 "DPWR_DAT". Normalmente il master DP trasferisce i dati di uscita alle uscite dello slave DP in modo ciclico (nel ciclo del bus PROFIBUS DP). Quando si desidera inviare simultaneamente alle uscite del processo determinati dati di uscita che possono essere ripartiti tra diversi slave, è possibile inviare l'istruzione di comando SYNC al rispettivo master DP con l'ausilio di SFC 11 "DPSYC_FR": Funzione di SYNC Con l'istruzione di comando SYNC gli slave DP dei gruppi indicati vengono commutati nel modo Sync, ciò significa che il master DP ordina agli slave DP interessati di congelare le uscite sugli ultimi valori ricevuti. Nei telegrammi di uscita successivi gli slave DP memorizzano i dati di uscita in un buffer interno; lo stato delle uscite rimane invariato. Dopo ogni istruzione di comando SYNC gli slave DP dei gruppi selezionati inviano i dati di uscita del loro buffer interno alle uscite del processo. Le uscite vengono di nuovo aggiornate ciclicamente solo quando viene data l'istruzione di comando UNSYNC con l'ausilio dell'SFC 11 "DPSYC_FR". Avvertenza Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data comunicazione tramite il valore di ritorno dell'SFC. Lettura degli ingressi di unità DP I dati di ingresso delle unità DP vengono letti • con comandi di caricamento • durante l'aggiornamento dell'immagine di processo degli ingressi (da parte del sistema operativo all'inizio dell'OB1 oppure richiamando l'SFC 26 "UPDAT_PI"), richiamando l'SFC 14 "DPRD_DAT". Normalmente il master DP riceve questi dati di ingresso ciclicamente (nel ciclo del bus PROFIBUS DP) e dai suoi slave DP e li mette a disposizione della CPU. Se si desidera importare dal processo in modo perfettamente simultaneo determinati dati di ingresso che possono essere ripartiti tra diversi slave, inviare l'istruzione di comando FREEZE al rispettivo master DP con la funzione SFC 11 "DPSYC_FR". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 293 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Funzione di FREEZE Con l'istruzione di comando FREEZE gli slave DP interessati vengono commutati nel modo Freeze, ciò significa che il master DP ordina agli slave DP interessati di congelare lo stato attuale degli ingressi. Gli slave DP trasferiscono poi questo stato momentaneo al master DP nell'ambito del trasferimento ciclico. Dopo ogni istruzione di comando FREEZE gli slave DP congelano di nuovo lo stato degli ingressi. Il master DP riceve allora lo stato attuale degli ingressi nuovamente in modo ciclico solo quando viene data l'istruzione di comando UNFREEZE con l'ausilio dell'SFC 11 "DPSYC_FR". Avvertenza Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data comunicazione tramite il valore di ritorno dell'SFC. Coerenza dei dati A causa del metodo di lavoro asincrono e la probabilità di interruzione della funzione dovuta a classi di priorità superiore, nell'utilizzare l'SFC 11 "DPSYC_FR" si dovrebbe fare attenzione che le immagini di processo siano coerenti con gli ingressi e le uscite effettive della periferia. Ciò avviene quando viene osservata una delle regole di coerenza seguenti: • Definire le immagini di processo parziali adatte per le "uscite SYNC" e gli "ingressi FREEZE" (solo possibile con S7-400). Richiamare l'SFC 27 "UPDAT_PO" immediatamente prima del rispettivo primo richiamo di un ordine SYNC. Richiamare l'SFC 26 "UPDAT_PI" subito dopo il rispettivo ultimo richiamo di un ordine FREEZE. • Oppure: per le uscite che sono interessate da un ordine SYNC e gli ingressi interessati da un ordine FREEZE utilizzare solo accessi diretti alla periferia. Quando un ordine SYNC è in corso di svolgimento, non devono essere scritte le uscite interessate e quando un ordine FREEZE è in corso di svolgimento non devono essere importati gli ingressi interessati. Utilizzo dell'SFC 15 e SFC 14 Nel caso venga utilizzata l'SFC 15 "DPWR_DAT", questa SFC deve essere stata terminata prima di inviare un ordine SYNC per le rispettive uscite. Nel caso venga utilizzata l'SFC 14 "DPRD_DAT", questa SFC deve essere stata terminata prima di inviare un ordine FREEZE per i rispettivi ingressi. 294 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Avviamento e SFC 11 "DPSYC_FR" È esclusivo compito dell'utente dare le istruzioni di comando SYNC e FREEZE negli OB di avviamento. Se le uscite di uno o più gruppi devono funzionare in modo Sync già all'avviamento del programma utente, durante l'avviamento queste uscite devono essere inizializzate e l'SFC 11 "DPSYC_FR" deve essere elaborata completamente con l'istruzione di comando SYNC. Se gli ingressi di uno o più gruppi devono funzionare in modo FREEZE già all'avviamento del programma utente, durante l'avviamento l'SFC 11 "DPSYC_FR" deve essere elaborata completamente per questi ingressi con l'istruzione di comando FREEZE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando attivato al raggiungimento del limite REQ1 attivazione dell'ordine SYNC/FREEZE LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico del master DP GROUP INPUT BYTE E, A, M, D, L, cost. Selezione gruppi Bit 0 = 1: selezionato gruppo 1 Bit 1 = 1: selezionato gruppo 2 : Bit 7 = 1: selezionato gruppo 8 Possono essere selezionati più gruppi per ordine Il valore B#16#0 non è ammesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 295 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Identificativo dell'ordine (codifica secondo EN 50170, volume 2, PROFIBUS) BYTE Bit 0: riservato (valore 0) Bit 1: riservato (valore 0) Bit 2: - 1: UNFREEZE viene eseguito - 0: senza significato Bit 3: - 1: FREEZE viene eseguito - 0: senza significato Bit 4: - 1: UNSYNC viene eseguito - senza significato Bit 5: - 1: SYNC viene eseguito - 0 : senza significato Bit 6: riservato (valore 0) Bit 7: riservato (valore 0) Possibili valori: • • RET_VAL OUTPUT INT E, A, M, D, L Con esattamente un identificativo per ordine: - B#16#04 (UNFREEZE), - B#16#08 (FREEZE), - B#16#10 (UNSYNC), - B#16#20 (SYNC) Con più identificativo per ordine: - B#16#14 (UNSYNC, UNFREEZE), - B#16#18 (UNSYNC, FREEZE), - B#16#24 (SYNC, UNFREEZE), - B#16#28 (SYNC, FREEZE) Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. RET_VAL è valido solo per un ciclo, ovvero dal primo comando che segue il richiamo dell'SFC fino al richiamo SFC successivo. Ne consegue che RET_VAL deve essere analizzato dopo ogni elaborazione del blocco. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'ordine SYNC/FREEZE non è stato ancora terminato. 296 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Codice di errore (W#16#...) Spiegazione 0000 L'ordine è stato eseguito senza errori 7000 Primo richiamo con REQ=0. L'ordine definito da LADDR, GROUP e MODE non è attivo; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. L'ordine definito da LADDR, GROUP e MODE è stato attivato; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): l'ordine SYNC/FREEZE attivato non è ancora in corso; BUSY ha valore 1. 8090 L'unità selezionata tramite LADDR non è un master DP. 8093 Questa SFC non è ammessa per l'unità selezionata tramite LADDR (progettazione o versione del master DP). 8094 Parametro GROUP errato 8095 Parametro MODE errato. 80B0 Il gruppo selezionato tramite GROUP non è stato progettato. 80B1 Il gruppo selezionato tramite GROUP non è stato assegnato a questa CPU. 80B2 L'ordine SYNC specificato tramite MODE non è ammesso sul gruppo selezionato tramite GROUP. 80B3 L'ordine FREEZE specificato tramite MODE non è ammesso sul gruppo selezionato tramite GROUP. 80C2 Mancanza temporanea di risorse del master DP: il master DP elabora momentaneamente il massimo possibile di ordini per una CPU. 80C3 Questo ordine SYNC/UNSYNC non può essere momentaneamente attivato, in quanto in uno stesso momento può essere attivato solo un ordine SYNC-/UNSYNC. Controllare il programma utente. 80C4 Questo ordine FREEZE/UNFREEZE non può essere momentaneamente attivato, in quanto in uno stesso momento può essere attivato solo un ordine FREEZE/UNFREEZE. Controllare il programma utente. 80C5 Cortocircuito direttamente nell'interfaccia DP 80C6 Interruzione dell'ordine perché la CPU ha bloccato l'accesso alla periferia 80C7 Interruzione dell'ordine a causa del nuovo avviamento (avviamento a caldo) o avviamento a freddo del master DP. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 297 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Descrizione L'SFC 12 "D_ACT_DP" consente la disattivazione e la riattivazione mirate di slave DP/PROFINET IO Device progettati. È inoltre possibile determinare, per ciascun slave DP o PROFINET IO Device utilizzati, se questi componenti sono attualmente attivati o disattivati. Disattivando un router di tipo IE/PB Link PN IO con l'ausilio dell'SFC 12, si avrà la disattivazione di tutti gli slave PROFIBUS DP ad esso collegati. Il mancato funzionamento viene segnalato. L'SFC 12 non è applicabile su apparecchiature da campo PROFIBUS PA che sono collegate ad un sistema master DP tramite DP/PA Link. Avvertenza Finché sono attivi uno o più ordini SFC 12 non è possibile caricare dal PG alla CPU configurazioni modificate (in ambito CiR). Durante il caricamento dal PG alla CPU di una configurazione modificata in ambito CiR, la CPU rifiuta l'attivazione di un ordine SFC 12. L'elaborazione di un ordine di attivazione o di disattivazione richiede l'esecuzione di diversi cicli nel punto di controllo del ciclo. In un loop programmato non è pertanto possibile attendere la fine di un ordine di questo tipo. Scopo Se in una CPU vengono configurati slave DP/ PROFINET IO Device che non esistono realmente oppure che al momento non sono necessari, la CPU accede regolarmente a questi slave DP/ PROFINET IO Device. Dopo la loro disattivazione non vi sono più altri accessi della CPU. In PROFIBUS DP si ottiene così il ciclo di bus DP più veloce possibile e non compaiono più i relativi eventi di errore. Esempi applicativi Nella costruzione di macchine in serie il costruttore prevede una varietà di opzioni. Ogni macchina fornita comprende tuttavia solo una combinazione particolare di determinate opzioni. Tutte le opzioni possibili della macchina sono progettate dal costruttore come slave DP/ PROFINET IO Device al fine di creare e tenere aggiornato un programma utente comprendente tutte le opzioni possibili. Con l'SFC 12 è possibile disattivare all'avviamento della macchina tutti gli slave DP / PROFINET IO Device non disponibili. Una situazione analoga esiste per le macchine utensili che comprendono molti utensili ma che ne utilizzano solo pochi in un determinato momento. Qui gli utensili vengono realizzati come slave DP/ PROFINET IO Device. Il programma utente attiva con l'ausilio dell'SFC 12 gli utensili attualmente necessari e disattiva gli utensili che vengono riutilizzati solo in un secondo momento. 298 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Modalità operative L'SFC 12 "D_ACT_DP" è una SFC asincrona, vale a dire che l'elaborazione comprende più richiami dell'SFC. L'ordine viene avviato richiamando l'SFC 12 con REQ=1. Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche Significato di REQ, RET_VAL e BUSY nelle SFC asincrone. Identificazione di un ordine Nel caso è stato avviato un ordine di disattivazione e attivazione e viene di nuovo richiamata l'SFC 12 prima che questo sia stato concluso, il successivo comportamento dell'SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se il parametro LADDR concorda con lo stesso parametro dell'ordine, il richiamo SFC viene interpretato come richiamo conseguente. Disattivazione di slave DP/ PROFINET IO Device Se uno slave DP o un PROFINET IO Device vengono disattivati con l'SFC 12, le relative uscite di processo vengono impostate sui valori sostitutivi progettati oppure su 0 (stato sicuro). Il relativo master DP /PROFINET IO Controller d'ora in poi non accede più a questi componenti. Gli slave DP /PROFINET IO Device disattivati non vengono identificati come disturbati o mancanti nei LED di errore del master DP/ PROFINET IO Controller o della CPU L'immagine di processo degli ingressi degli slave DP/ PROFINET IO Device disattivati viene aggiornata con 0, ciò sta ad indicare che essa viene trattata come slave DP/ PROFINET IO Device guasti. Nel caso nel proprio programma vi sia accesso diretto ai dati utili di uno slave DP /PROFINET IO Device precedentemente disattivati, viene richiamato l'OB di errore di accesso alla periferia (OB 122) ed il relativo evento di avvio viene immesso nel buffer di diagnostica. Nel caso si acceda tramite SFC (p. es. SFC 59 "RD_REC") ad uno slave DP /PROFINET IO Device disattivati, in RET_VAL si ottiene la stessa informazione di errore emessa per slave DP/PROFINET IO Device non disponibili. La disattivazione di uno slave DP/ PROFINET IO Device non causa un avvio dell'OB di errore di esecuzione del programma (OB 85), anche se i suoi ingressi o uscite appartengono all'immagine di processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer di diagnostica. In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di diagnostica. MODE Start OB 86 Registrazione nel buffer di diagnostica 2 no no 4 sì sì Se una stazione DP/ PNO si guasta dopo essere stata disattivata con l'SFC 12, il guasto non viene riconosciuto dal sistema operativo. Pertanto non avviene né un avvio dell'OB86 né un'introduzione nel buffer di diagnostica. Con PROFIBUS DP vale: se si intende disattivare slave DP che partecipano come mittenti alla comunicazione diretta, si raccomanda di disattivare prima i riceventi (auditori) che ascoltano quali dati di ricezione il mittente invia al proprio master DP. Solo al termine di questa procedura disattivare il mittente. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 299 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Attivazione di slave DP/ PROFINET IO Device Riattivando uno slave DP o un PROFINET IO Device con l'SFC 12, questi componenti vengono configurati e parametrizzati dal relativo master DP/ PROFINET IO Controller (come nel caso del ripristino di stazioni DP/PROFINET IO guaste). L'attivazione è da considerarsi conclusa quando questi componenti sono in grado di trasferire i dati utili. L'attivazione di slave DP/ PROFINET IO Device non provoca un avvio dell'OB di errore di esecuzione del programma (OB 85), anche se i suoi ingressi o le sue uscite appartengono all'immagine di processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer di diagnostica. In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di diagnostica. MODE Start OB 86 Registrazione nel buffer di diagnostica 2 no no 4 sì sì Se si cerca di attivare con l'SFC 12 uno slave disattivato separato fisicamente dal bus DP l'SFC invia il codice di errore W#16#80A2 e lo slave rimane disattivato. Nel caso sia di nuovo collegato al bus DP in un secondo momento, occorre riattivare lo slave per mezzo dell'SFC 12 . Se viene effettuato il tentativo di attivare un PROFINET IO Device fisicamente separato dal bus PROFINET, l'SFC 12 rimane attiva. A differenza di quanto avviene negli slave DP, l'interruzione automatica dopo un determinato intervallo in questo caso non ha luogo. L'interruzione dell'ordine in corso deve essere eseguita dall'utente Avvertenza L'attivazione di uno slave DP/ PROFINET IO Device può durare un certo lasso di tempo. Se si desidera interrompere un ordine di attivazione in corso, avviare l'SFC 12 con lo stesso valore per LADDR e MODE = 2. Ripetere il richiamo dell'SFC 12 con MODE = 2 finché non viene visualizzata l'avvenuta interruzione dell'ordine di attivazione con RET_VAL = 0. Se si vogliono attivare slave DP che partecipano alla comunicazione diretta si raccomanda di attivare prima i mittenti e poi i destinatari (auditori). 300 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Avviamento della CPU Il sistema operativo della CPU mostra nei diversi tipi di avviamento il comportamento seguente rispetto agli slave DP/ PROFINET IO Device: • • Nei modi di avviamento a freddo e Nuovo avviamento (avviamento a caldo) vengono riattivati gli slave/ i dispositivi disattivati. - Nell'S7 400: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto lunghi. In questo caso la CPU si avvia ugualmente, tuttavia, fino alla conclusione dell'attivazione, si verificano errori di accesso alla periferia. La reazione della CPU varia in funzione della parametrizzazione (richiamo dell'OB 85 in caso di errori di accesso alla periferia) e del programma nell'OB 85. La soppressione di questi errori di accesso alla periferia non è possibile. - Nell'S7 300: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto lunghi. In questo caso la CPU attende la conclusione dell'attivazione degli Slave DP/PROFINET IO Device. Il tempo di attesa max. per l'attivazione comprende ca. 1 minuto. In questo intervallo non si verificano errori di accesso alla periferia. Nel modo di avviamento Riavviamento rimane immutato lo stato di attivazione degli slave/ dei dispositivi: gli slave / i dispositivi attivati rimangono attivati, gli slave/ i dispositivi disattivati rimangono disattivati. Dopo l'avviamento la CPU cerca di stabilire un contatto in modo ciclico con tutti gli slave/ i dispositivi progettati e non disattivati che non sono presenti o non sono indirizzabili. Avvertenza La CPU S7-300-CPU non supporta un richiamo dell'SFC 12 negli OB di avviamento. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 301 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Parametri Parametri dell'SFC 12 "D_ACT_DP" 302 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando attivato al raggiungimento del limite REQ=1: Eseguire attivazione o disattivazione MODE INPUT BYTE E, A, M, D, L, cost. Identificativo di ordine Possibili valori: • 0: fornisce informazioni sull'attivazione/la disattivazione del componente interpellato • 1: attiva slave DP/ PROFINET IO Device • 2: disattiva slave DP/ PROFINET IO Device • 3: attiva slave DP/PROFINET IO Device e dopo la commutazione dello stato di attivazione, richiama l'OB 86 • 4: disattiva slave DP/PROFINET IO Device e dopo la commutazione dello stato di attivazione, richiama l'OB 86 LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico qualunque di slave DP/ PROFINET IO Device RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L Identificativo attivo: • BUSY=1: l'ordine è ancora attivo • BUSY=0: l'ordine è stato terminato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 L'ordine è stato eseguito senza errori 0001 Lo slave DP/ il PROFINET IO Device è attivato (questo codice di errore è solo possibile con MODE = 0.) 0002 Lo slave DP/ il PROFINET IO Device è disattivato (questo codice di errore è solo possibile con MODE = 0.) 7000 Primo richiamo con REQ=0. L'ordine definito con LADDR non è attivo; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. L'ordine definito con LADDR è stato attivato; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): L'ordine attivato è ancora in fase di esecuzione; BUSY ha valore 1. 8090 • L'utente non ha progettato un'unità con l'indirizzo indicato in LADDR. • L'utente utilizza la propria CPU come slave I e ha indicato in LADDR un indirizzo di questo slave I. 8092 L'operazione di disattivazione in corso di uno slave DP /PROFINET IO Device (MODE=2) non può essere interrotta dalla sua attivazione (MODE=1) Attivare i componenti in un secondo momento. 8093 All'indirizzo indicato in LADDR non appartiene alcuno slave DP /PROFINET IO Device (assenza di una progettazione ), oppure il parametro MODE non è noto. 8094 È stato effettuato il tentativo di attivare un dispositivo probabilmente partner della porta alterna di uno strumento sulla quale attualmente è già attivato un altro dispositivo. Questo dispositivo rimane attivato. 80A1 Non è stato possibile parametrizzare il componente indirizzato. (Questo codice di errore è possibile soltanto con MODE = 1). Avvertenza: Quest'informazione di errore viene fornita dall'SFC soltanto in caso di guasto dello slave/del dispositivo attivati durante la parametrizzazione. Se soltanto la parametrizzazione di una singola unità non è riuscita, l'SFC fornisce l'informazione di errore W#16#0000. 80A2 Lo slave DP interrogato non risponde (quest'informazione di errore non esiste nei PROFINET IO Device. L'operazione non è soggetta al controllo del tempo in PROFINET). 80A3 Il master DP /PROFINET IO Controller in oggetto non supporta questa funzione. 80A4 La CPU non supporta questa funzione per master DP/PROFINET IO Controller esterni. 80A6 Errore di posto connettore nello slave DP /PROFINET IO Device; non è possibile accedere a tutti i dati utili (questo codice di errore è possibile solo con MODE=1). Avvertenza: Quest'informazione di errore viene fornita dall'SFC soltanto se dopo la relativa parametrizzazione e prima della fine dell'SFC, il componente attivato subisce nuovamente un guasto. Se il gusto concerne una singola unità, l'SFC fornisce l'informazione di errore W#16#0000. 80C1 L'SFC 12 è stata avviata e viene continuata con un altro indirizzo logico (questo codice di errore è possibile solo con MODE=1 e con MODE=2). 80C3 • Errore di risorse temporaneo: la CPU elabora momentaneamente il maggior numero possibile di ordini di attivazione o disattivazione. (Questo codice di errore è possibile soltanto con MODE = 1 e MODE = 2.) • È in corso una modifica della configurazione della CPU. La disattivazione e l'attivazione di slave DP /PROFINET IO Device non è per il momento possibile. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 303 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" 304 Codice di errore (W#16#...) Spiegazione 80C5 DP: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento. 80C6 PROFINET: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" Diagnostica slave Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. La struttura generale della diagnostica slave è riportata nella seguente tabella, ulteriori informazioni nei manuali relativi agli slave DP. Byte Significato 0 Stato di stazione 1 1 Stato di stazione 2 2 Stato di stazione 3 3 Numero stazione master 4 Identificazione del costruttore (byte superiore) 5 6 ... Identificazione del costruttore (byte inferiore) Altre diagnostiche specifiche dello slave Descrizione Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. Al termine del corretto trasferimento dati, i dati letti vengono registrati nell'area di destinazione rappresentata da RECORD. L'operazione di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di richiamo dell'SFC 13. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 305 SFC per periferia decentrata o per PROFINET IO 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" Metodo di lavoro L'operazione di lettura viene eseguita in modo asincrono, cioè l'operazione si estende su un arco di più chiamate dell'SFC 13. Tramite i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato dell'ordine, vedere il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di diagnostica progettato dello slave DP Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 1022 significa: LADDR:=W#16#3FE. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. Se invece non ci sono stati errori, in RET_VAL c'è la lunghezza dei dati trasferiti. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di diagnostica letti. Solo il tipo dei dati BYTE è ammesso. La lunghezza minima del set di dati da leggere o dell'area di destinazione è 6, la lunghezza massima del set di dati da leggere è 240; negli slave standard in cui il numero di dati di diagnostica standard è superiore a 240 byte e arriva fino a max. 244, i primi 240 byte vengono trasferiti nell'area di destinazione e nei dati viene impostato il bit di overflow corrispondente. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'operazione di lettura non è ancora terminata. 306 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" Parametro di ingresso RECORD La CPU valuta la lunghezza effettiva dei dati di diagnostica: Se l'indicazione della lunghezza di RECORD • è minore del numero dei dati forniti, i dati vengono annullati e in RET_VAL viene registrato il codice di errore corrispondente. • è maggiore o uguale al numero dei dati forniti, i dati passano all'area di destinazione e in RET_VAL viene registrata la lunghezza effettiva come valore positivo. Avvertenza I parametri attuali di RECORD devono concordare in tutti i richiami che appartengono ad un ordine. Un ordine è definito in modo univoco con il parametro di ingresso LADDR. Slave standard con più di 240 byte di dati di diagnostica Per slave standard, in cui il numero dei dati di diagnostica standard è posto tra i 241 e i 244 byte, si deve fare attenzione a quanto segue: Se l'indicazione della lunghezza di RECORD • è minore di 240 byte, i dati vengono annullati e in RET_VAL viene registrata la relativa informazione di errore. • è maggiore di od uguale a 240 byte, i primi 240 byte dei dati di diagnostica standard vengono trasferiti nell'area di destinazione e il relativo bit di overflow viene impostato nei dati. Parametro di uscita RET_VAL • Se durante l'esecuzione della funzione si è verificato un errore, il valore di ritorno conterrà un codice di errore. • Se durante il trasferimento non si è verificato alcun errore, RET_VAL conterrà la lunghezza dei dati letti in byte come numero positivo. Avvertenza Il numero di dati letti dipende, in uno slave DP, dal suo stato di diagnostica. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 307 SFC per periferia decentrata o per PROFINET IO 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG" Informazioni di errore Per analizzare le informazioni di errore del parametro RET_VAL, vedere anche Analisi degli errori con il parametro di uscita RET_VAL. In questo capitolo sono riportate anche le informazioni di errore generali delle SFC. Le informazioni di errore specifiche per l'SFC 13 sono una parte delle informazioni sugli errori per l'SFC 59 "RD_REC", vedere Lettura di set di dati con l'SFC 59 "RD_REC". Risorse del sistema dell'S7-400 Nell'S7-400, con il richiamo dell'SFC 13 "DPNRM_DG" relativo ad un ordine attualmente non elaborato, vengono occupate risorse (dell'area di memoria) della CPU. L'SFC 13 può essere richiamata in modo ripetuto per vari slave DP se non viene superato il numero massimo di ordini SFC 13 attivi contemporaneamente. L'informazione relativa alla cifra massima suddetta può essere consultata in /101/. In caso di ordini attivi "contemporaneamente", è garantito il fatto che questi vengano eseguiti tutti senza influenzarsi l'uno con l'altro. RET_VAL comunica quando si arriva al limite delle risorse di sistema. In questo caso, L'ordine va ripetuto. 308 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT" 16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT" Coerenza dei dati Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base S7 - Coerenza dei dati. Scopo dell'SFC 14 L'SFC 14 "DPRD_DAT" è necessaria in quanto con i comandi di caricamento che hanno accesso alla periferia e all'immagine di processo degli ingressi è possibile leggere in modo coerente un massimo di quattro byte. Avvertenza I dati coerenti si possono eventualmente leggere anche attraverso l'immagine di processo degli ingressi. Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di automazione S7-300: Configurazione e dati della CPU. Tutte le CPU S7-400 supportano questa funzionalità. ! Cautela In caso di utilizzo dell'SFC 14 "DPRD_DAT" evitare gli accessi ad aree della periferia le cui immagini di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock). Descrizione Con l'SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) è possibile leggere dati coerenti da uno slave standard DP/PROFINET IO Device. Le informazioni relative alla lunghezza massima per le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è indicata nel manuale Sistema di automazione S7-400 Dati della CPU. Se il trasferimento dati è avvenuto correttamente, i dati letti vengono registrati nell'area di destinazione rappresentata da RECORD. L'area di destinazione deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità selezionata. Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile con un richiamo dell'SFC 14, accedere solo ai dati di un'unità/identificazione DP sotto l'indirizzo iniziale progettato. Avvertenza Un eventuale accesso tramite l'SFC 14 "DPRD_DAT"è possibile soltanto in aree dati con una lunghezza di tre byte oppure in aree con una lunghezza superiore a quattro byte, In caso contrario l'accesso viene respinto con il codice di errore W#16#8090. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 309 SFC per periferia decentrata o per PROFINET IO 16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT" Parametri Dichiarazione Tipo Area di memoria Descrizione LADDR INPUT E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area E dall'unità da cui si deve leggere. WORD Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 100 significa: LADDR:=W#16#64. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati utili letti. Deve essere della stessa lunghezza progettata con STEP 7 per l'unità selezionata. Solo il tipo di dati BYTE è ammesso. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. 310 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT" Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Codice di errore (W#16#...) Spiegazione 0000 Nessun errore. 8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure • non è osservata la limitazione relativa alla lunghezza dei dati oppure • l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale. 8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE. 8093 Nessuna unità DP/ nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR dalla quale potete leggere dati coerenti. 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 80B0 Guasto dello slave con interfaccia DP esterna 80B1 La lunghezza dell'area di destinazione indicata non è uguale alla lunghezza dei dati utili progettata con STEP 7. 80B2 Errore di sistema con interfaccia DP esterna 80B3 Errore di sistema con interfaccia DP esterna 80C0 I dati non sono stati ancora letti dall'unità 80C2 Errore di sistema con interfaccia DP esterna 80Fx Errore di sistema con interfaccia DP esterna 87xy Errore di sistema con interfaccia DP esterna 808x Errore di sistema con interfaccia DP esterna 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 311 SFC per periferia decentrata o per PROFINET IO 16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT" 16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT" Coerenza dei dati Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base S7 - Coerenza dei dati. Scopo dell'SFC 15 L'SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno accesso alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo coerente un massimo di quattro byte. Avvertenza I dati coerenti si possono eventualmente scrivere anche attraverso l'immagine di processo delle uscite. Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di automazione S7-300: Configurazione e dati della CPU. Tutte le CPU S7-400 supportano questa funzionalità.Non utilizzare, durante la scrittura di dati coerenti, entrambe le funzioni contemporaneamente: optare o per l'SFC 15 o per la scrittura tramite immagine di processo parziale delle uscite. ! 312 Cautela In caso di utilizzo dell'SFC 15 "DPWR_DAT" evitare gli accessi ad aree della periferia le cui immagini di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC per periferia decentrata o per PROFINET IO 16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT" Descrizione Con l'SFC 15 "DPWR_DAT" (write consistent data to a DP-normslave) vengono trasferiti i dati in RECORD in modo coerente allo slave standard DP/PROFINET IO Device indirizzato ed eventualmente all'immagine di processo (vale a dire se l'utente ha progettato l'area di indirizzamento dello slave DP standard come area di coerenza in un'immagine di processo). Le informazioni relative alla lunghezza massima dei dati da trasferire per le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è indicata nel manuale Sistema di automazione S7-400 Dati della CPU . Il trasferimento avviene in modo sincrono, cioè al termine dell'SFC, anche l'operazione di scrittura è terminata. L'area sorgente deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità selezionata. Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile accedere solo ad una unità dello slave DP. Avvertenza Un eventuale accesso tramite l'SFC 15 "DPWR_DAT" è possibile soltanto in aree dati con una lunghezza di tre byte oppure in aree con una lunghezza superiore a quattro byte, In caso contrario l'accesso viene respinto con il codice di errore W#16#8090. Parametri Dichiarazione Tipo Area di memoria Descrizione LADDR INPUT E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area IPU dall'unità a cui si deve scrivere. WORD Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 100 significa: LADDR:=W#16#64. RECORD INPUT ANY E, A, M, D, L Area sorgente per i dati utili letti. Deve essere della stessa lunghezza progettata con STEP 7 per l'unità selezionata. Solo il tipo di dati BYTE è ammesso. Avvertenza: osservare che nelle CPU S7-300 il parametro RECORD richiede sempre l'indicazione completa dei parametri DB (ad es.: P#DB13.DBX0.0 byte 100). Tralasciare un n. di DB esplicito nelle CPU S7-300 non è consentito e comporta un messaggio di errore nel programma utente. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 313 SFC per periferia decentrata o per PROFINET IO 16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT" Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. 314 Codice di errore (W#16#...) Spiegazione 0000 Nessun errore. 808x Errore di sistema sull'interfaccia DP esterna 8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure • non è osservata la limitazione relativa alla lunghezza dei dati oppure • l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale. 8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE. 8093 Nessuna unità DP/nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR su cui si possono scrivere dati coerenti. 80A1 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 80B0 Guasto dello slave con interfaccia DP esterna. 80B1 La lunghezza dell'area sorgente indicata non è uguale alla lunghezza dei dati utili progettata con STEP 7. 80B2 Errore di sistema con interfaccia DP esterna 80B3 Errore di sistema con interfaccia DP esterna 80C1 I dati del ordine di scrittura precedente sull'unità non sono stati ancora elaborati dall'unità. 80C2 Errore di sistema con interfaccia DP esterna 80Fx Errore di sistema con interfaccia DP esterna 80xy Errore di sistema con interfaccia DP esterna 80x Errore di sistema con interfaccia DP esterna 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 17 PROFInet 17.1 Informazioni sulle SFC 112, 113 e 114 Avvertenza Il sistema operativo aggiorna per default sia il componente PROFINET CBA che le interconnessioni DP nel punto di controllo del ciclo. Questi aggiornamenti sono indispensabili e vanno eseguiti comunque, anche se l'utente ha disattivato gli aggiornamenti automatici al momento della progettazione (p. es. per incidere meglio sul comportamento temporale della CPU). In questo caso occorre richiamare le SFC da 112 a 114 al momento opportuno. Gli aggiornamenti indicati si possono disattivare al momento della progettazione solamente tutti insieme. Memoria ombra Il DB di interfaccia costituisce l'interfaccia del programma utente dei componente PROFINET CBA. Per garantire che i suoi ingressi e le sue uscite siano coerenti al momento dell'esecuzione delle corrispondenti parti del programma, per ogni DB di interfaccia è disponibile un'area di memoria, identica per configurazione, che viene gestita dal sistema operativo ed è definita memoria ombra. Nel programma utente è possibile accedere soltanto al DB di interfaccia, mentre altri componenti (esterni) PROFINET CBA possono accedere soltanto alla memoria ombra. In questo modo si evita qualunque conflitto di accesso agli ingressi e alle uscite del DB di interfaccia. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 315 PROFInet 17.1 Informazioni sulle SFC 112, 113 e 114 Aggiornamento del componente PROFINET CBA Poiché la coerenza dei dati viene garantita per mezzo della memoria ombra, secondo la descrizione precedente, l'aggiornamento del componente PROFINET CBA è costituito dalle due azioni seguenti: • Copia degli ingressi della memoria ombra negli ingressi del DB di interfaccia prima di elaborare il programma utente appartenente del componente PROFINET CBA • Copia delle uscite del DB di interfaccia nelle uscite della memoria ombra dopo aver elaborato il programma utente appartenente al componente PROFINET CBA. L'aggiornamento del componente PROFINET CBA viene eseguito, in CPU con interfaccia PROFINET integrata, automaticamente dal sistema operativo oppure dall'utente, richiamando le SFC 112 e 113 (secondo la progettazione definita al momento della creazione del compo_nente PROFINET CBA nel SIMATIC Manager). La figura seguente mostra uno schema dell'aggiornamento per mezzo delle SFC 112 e 113. 316 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 PROFInet 17.1 Informazioni sulle SFC 112, 113 e 114 L'aggiornamento da parte del sistema avviene sempre nel punto di controllo del ciclo. Per eseguire l'aggiornamento tramite le SFC 112 e 113, richiamare la SFC 112 all'inizio dell'OB nel quale si trova il programma appartenente al componente PROFINET CBA e l'SFC 113 alla fine dello stesso OB. La figura seguente mostra un esempio utilizzando l'OB 30. Avvertenza sui componenti multifunzione (più DB di interfaccia PROFINET su un dispositivo): I componenti multifunzione consentono l’aggiornamento di tutti i DB di interfaccia con un _unico ordine SFC (DBNO=0) (analogamente all’aggiornamento nel punto di controllo del ciclo triggerato tramite SFC). Se durante l’aggiornamento di un DB di interfaccia si verifica un errore, l‘operazione di aggiornamento dell’altro DB non viene interrotta. Un eventuale valore negativo di RET_VAL si riferisce ad uno die DB di interfaccia aggiornati. Aggiornamento delle interconnessioni DP L'aggiornamento delle interconnessioni DP viene eseguito da parte del sistema operativo oppure per mezzo della SFC 114, secondo la progettazione definita al momento della creazione del componente PROFINET CBA nel SIMATIC Manager. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 317 PROFInet 17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFINET CBA con l'SFC 112 "PN_IN" 17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFINET CBA con l'SFC 112 "PN_IN" Descrizione La SFC 112 "PN_IN" consente di copiare i dati di ingresso contenuti in PROFINET CBA dalla memoria ombra del componente PROFINET CBA al DB rispettivo di interfaccia. Al termine della SFC i dati di ingresso attuali sono a disposizione dell'applicazione utente. Parametri Dichia-ra Tipo di zione dati Area di memoria Descrizione DBNO INPUT WORD E, A, M, D, L, cost. Numero del DB di interfaccia (DBNO=0: aggiornamento di tutti i DB di interfaccia PROFINET CBA ) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Informazioni di errore Codice di errore (W#16#...) 318 Spiegazione 0000 Non si sono verificati errori. 8001 Progettazione PROFINET CBA mancante o non valida. 8002 Il numero del DB non corrisponde alla progettazione del componente. 8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato caricato. 8005 Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro. 8006 Il DB di interfaccia è protetto in scrittura nella CPU. 80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile con il DB caricato. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 PROFInet 17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA con l’ SFC 113 "PN_OUT" 17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA con l’SFC 113 "PN_OUT" Descrizione La SFC 113 "PN_OUT" consente di copiare i dati di uscita creati nell'applicazione dell'utente dal DB di interfaccia del componente PROFINET CBA nella corrispondente memoria ombra. Al termine della SFC i dati di uscita attuali sono a disposizione di altri componenti PROFINET CBA Parametri Dichia-ra Tipo di zione dati Area di memoria Descrizione DBNO INPUT WORD E, A, M, D, L, cost. Numero del DB di interfaccia (DBNO=0: aggiornamento di tutti i DB di interfaccia PROFINET) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori. 8001 La progettazione PROFINET CBA manca o non è valida. 8002 Il numero del DB non corrisponde alla progettazione del componente. 8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato caricato. 8005 Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro. 8006 Il DB di interfaccia è protetto in scrittura nella CPU. 80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile con il DB caricato. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 319 PROFInet 17.4 Aggiornamento delle interconnessioni DP con l’ SFC 114 "PN_DP" 17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP" Descrizione La SFC 114 "PN_DP" consente di aggiornare • Tutte le interconnessioni tra componenti PROFINET CBA nel PROFIBUS locale e • Tutte le interconnessioni con trasferimento ciclico tra componenti PROFINET CBA nel PROFIBUS locale e componenti PROFINET CBA esterni. Queste interconnessioni sono valide oltre i limiti di rete (tra Industrial Ethernet e PROFIBUS DP). Procedimento La SFC 114 "PN_DP" è una SFC asincrona, la cui elaborazione si può estendere per più richiami di SFC. L'aggiornamento delle interconnessioni DP si avvia richiamando la SFC 114 con REQ=1. Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita RET_VAL e BUSY (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Parametri Dichiarazione Tipo Area di memoria di dati Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'aggiornamento delle interconnessioni DP RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'aggiornamento delle interconnessioni DP non è ancora terminato. Informazioni di errore 320 Codice di errore (W#16#...) Spiegazione 0000 Ordine eseguito senza errori. 7000 Primo richiamo con REQ=0. L'aggiornamento delle interconnessioni DP non viene avviato. BUSY ha il valore 0. 7001 (di rilievo soltanto nell'S7-400:) Primo richiamo con REQ=1. BUSY ha il valore 1. 7002 (di rilievo soltanto nell'S7-400:) Richiamo intermedio (REQ è irrilevante). L'aggiornamento delle interconnessioni DP non è ancora concluso. BUSY ha il valore 1. 8001 La progettazione PROFINET CBA manca o non è valida. 8095 È stato avviato un ulteriore aggiornamento delle interconnessioni DP in una classe di priorità maggiore. Tuttavia l'aggiornamento nella classe con priorità inferiore (tramite sistema operativo o elaborazione di una SFC 114) è ancora in corso. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 18 SFC e SFB per le CPU PROFINET 18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW" Introduzione Il tool di configurazione S7-Web2PLC consente di integrare pagine Web personalizzate nei programmi STEP 7 e nelle CPU S7-PROFINET. Ogni applicazione Web nella CPU comprende i seguenti DB, che vengono creati da S7-Web2PLC: • Un Web Control DB • Fino a 16 Fragment DB Il Web Control DB contiene tutte le informazioni sulla struttura dell'applicazione Web. I Fragment DB contengono le pagine Web personalizzate codificate. L'SFC 99 consente di attivare o sincronizzare la propria applicazione Web nella CPU. I contenuti delle pagine accedono ai dati della CPU automaticamente o perché comandati dal programma utente. Una descrizione più dettagliata è contenuta nella Guida in linea al tool di configurazione S7-Web2PLC (vedere oltre). Descrizione I richiami dell'SFC 99 dipendono dalla modalità di aggiornamento delle pagine Web: • Aggiornamento automatico di pagine Web Dopo l'avviamento della CPU il server Web non riconosce le pagine Web personalizzate. Perciò è necessario richiamare una volta l'SFC 99 "WWW" per far conoscere la propria pagina Web al server Web. Questo richiamo si può effettuare ad es. nell'OB1. • Aggiornamento delle pagine Web comandato dal programma utente L'SFC 99 "WWW" viene richiamata ciclicamente, sincronizzando così il programma della CPU e il server Web. Questo richiamo ciclico si può effettuare ad es. nell'OB1. In seguito il Web Control DB contiene tutte le informazioni essenziali per l'elaborazione e l'abilitazione di una richiesta del browser. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione CTRL_DB INPUT BLOCK_DB D Web Control DB RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 321 SFC e SFB per le CPU PROFINET 18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW" Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori. 00xy x=1: l'inizializzazione del Web Control DB è fallita. L'errore che si è verificato è descritto più dettagliatamente in "last_error" (nel Web Control DB). Un errore potrebbe essere ad es. l'incompatibilità tra Fragment DB e Web Control DB. y indica in quale dei 4 canali il programma utente dovrebbe ricevere un ordine. 803A Nella CPU non esiste il Web Control DB indicato. 8081 Versione o formato del Web Control DB errati. 80C1 Non sono disponibili risorse per inizializzare l'applicazione Web. Per risorse si intende qui il numero massimo di applicazioni del programma utente consentite simultaneamente (diversi Web Control DB). Ulteriori informazioni La descrizione dettagliata del Web Control DB è contenuta nella Guida in linea al tool di configurazione S7-Web2PLC. La Guida è disponibile sul DVD di STEP 7, directory CD_2\Optional Components\Web Addon, file "Web2PLCAppx.chm" (x=e per la lingua italiana, x=b per la lingua inglese). 322 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" Descrizione L'SFB 104 "IP_CONF" consente una configurazione comandata da programma dell'interfaccia PROFINET integrata della CPU. I dati di configurazione validi fino a questo momento vengono sovrascritti. Le possibili impostazioni per la configurazione dell'interfaccia sono le seguenti: • Impostazioni IP: indirizzo IP, maschera sotto-rete, indirizzo router • Nome del dispositivo PROFINET IO (se la CPU viene utilizzata come PROFINET IO Device) I dati di configurazione vanno salvati in un DB di configurazione. L'impostazione della configurazione IP comandata da programma con l'SFB 104 è un'alternativa alla progettazione con STEP 7. Tuttavia essa è attiva solo dopo aver predefinito esplicitamente in Configurazione HW l'assegnazione dei parametri IP "in altro modo" (rispetto a quanto indicato in Configurazione HW). Procedimento L'SFB 104 "IP_CONF" è un SFB asincrono, la cui elaborazione si può estendere per più richiami di SFB. Richiamando l'SFB 104 con REQ = 1 si avvia l'operazione di trasmissione. Può essere attivo solo un ordine per volta. Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita BUSY e STATUS. STATUS corrisponde al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella seguente indica il rapporto tra BUSY, DONE ed ERROR. Essa consente di stabilire in quale stato si trova attualmente l'SFB 104 o quando è conclusa la trasmissione dei dati di configurazione. BUSY DONE ERROR Descrizione TRUE Irrilevante Irrilevante L'ordine è in corso. FALSE TRUE FALSE L'ordine si è concluso senza errori. FALSE FALSE TRUE L'ordine si è concluso con un errore. La causa dell'errore è indicata nel parametro STATUS. FALSE FALSE FALSE All'SFB non è stato assegnato nessun (nuovo) ordine. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 323 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando REQUEST; avvia la trasmissione con un fronte di salita. LADDR INPUT WORD M, D, cost. Indirizzo di diagnostica dell'interfaccia PROFINET CONF_DB INPUT ANY D Puntatore ai dati di configurazione (tipi di dati ammessi: BYTE, WORD, Block_DB) DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: l'ordine non è ancora stato avviato o è ancora in corso 1: l'ordine è stato eseguito senza errori. BUSY OUTPUT BOOL E, A, M, D, L Parametro di stato BUSY: 0: l'ordine è concluso 1: l'ordine è ancora in corso. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR: ERROR=1: durante l'elaborazione si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 324 STATUS OUTPUT DWORD E, A, M, D, L Parametro di stato STATUS: informazione di errore ERR_LOC OUTPUT DWORD E, A, M, D, L Sorgente dell'errore (field_id e subfield_type_id) del blocco di parametri che ha causato l'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" DB di configurazione La figura seguente mostra come i dati di configurazione da trasferire vengono salvati nel DB di configurazione. I dati di configurazione quindi sono formati esattamente da un campo e diversi sottocampi: • • Il campo è costituito da un'intestazione e dai sottocampi. L'intestazione a sua volta è costituita dai seguenti elementi: - field_type_id (tipo di dati INT): zero - field_id (tipo di dati INT): zero - subfield_cnt (tipo di dati INT): numero die sottocampi Ogni sottocampo è formato a sua volta da un'intestazione (subfield_type_id, subfield_length, subfield_mode) e dai parametri specifici del sottocampo. Ogni sottocampo deve contenere un numero pari di byte. Per subfield_mode sono ammessi i seguenti valori: - 1: validità permanente dei dati di configurazione - 2: validità temporanea dei dati di configurazione, inclusa la cancellazione dei dati di configurazione permanenti esistenti Avvertenza Attualmente è ammesso esattamente un campo, i cui parametri "field_type_id" e "field_id" devono avere il valore zero. Ulteriori campi con altri valori per field_type_id e field_id sono riservati ad ampliamenti futuri. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 325 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" Sottocampi consentiti subfield_type_id Nome del sottocampo Spiegazione 30 SUB_IP_SUITE_IPV4 Impostazioni IP: indirizzo IP, maschera sotto-rete, indirizzo router 40 SUB_NOS Nome del dispositivo PROFINET IO (Name of Station) Definizione dei tipi per i sottocampi consentiti • Sottocampo "SUB_IP_SUITE_IPV4" TYPE ”SUB_IP_SUITE_V4” STRUCT id: len: mode: int := 30; int := 18; int := 1; ipaddr_3: ipaddr_2: ipaddr_1: ipaddr_0: BYTE BYTE BYTE BYTE // subfield_type_id // subfield_length // subfield_mode (1: := := := := b#16#c8; b#16#0c; b#16#01; b#16#90; // // // // indirizzo indirizzo indirizzo indirizzo snmask_3 snmask_2 snmask_1 snmask_0 : : : : BYTE BYTE BYTE BYTE := := := := b#16#FF; b#16#FF; b#16#FF; b#16#00; // // // // maschera maschera maschera maschera router_3 router_2 router_1 router_0 : : : : BYTE BYTE BYTE BYTE := := := := b#16#c8; b#16#0c; b#16#01; b#16#01; // // // // router router router router IP IP IP IP permanente, 2: temporaneo) high byte: 200 high byte: 12 low byte: 1 low byte: 144 sotto-rete sotto-rete sotto-rete sotto-rete high byte: 255 high byte: 255 low byte: 255 low byte: 0 high byte: 200 high byte: 12 low byte: 1 low byte: 1 END_STRUCT END_TYPE • Sottocampo "SUB_NOS" TYPE ”SUB_NOS” STRUCT id: int := 40; len: int := 246; mode: int := 1; nos: ARRAY[1..240] of BYTE := 0; // subfield_type_id // subfield_length // subfield_mode (1: permanente, 2: temporaneo) Nome della stazione: occorre assegnare i valori all'ARRAY dal primo byte. Se l’ARRAY è più lungo del nome della stazione da assegnare, è necessario indicare un byte zero dopo il nome effettivo della stazione (in conformità con la norma IEC 61158-6-10). Altrimenti viene rifiutato ”nos” e L’SFB 104 registra il codice di errore DW#16#C0809400 in STATUS. Se si occupa il primo bite con zero, il nome della stazione viene cancellato. END_STRUCT END_TYPE 326 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" Il nome della stazione è sottoposto alle seguenti limitazioni: • Limitazione a un totale di 240 caratteri (minuscole, cifre, trattino o punto) • Un componente all'interno del nome della stazione, ovvero una stringa di caratteri tra due punti, può avere una lunghezza max. di 63 caratteri. • Non sono ammessi caratteri speciali come umlaut, parentesi, caratteri di sottolineatura, barre, spazi vuoti ecc. Il trattino è l'unico carattere speciale consentito. • Il nome della stazione non deve iniziare né finire con il carattere" - ". • Il nome della stazione non deve iniziare con cifre. • Il nome della stazione non deve avere il formato n.n.n.n (n = 0, ... 999). • Il nome della stazione non deve iniziare con la stringa di caratteri "port-xyz" o "port-xyz-abcde" (a, b, c, d, e, x, y, z = 0, ... 9). Avvertenza È possibile creare l'ARRAY "nos" anche con meno di 240 byte, tuttavia la lunghezza minima è di 2 byte. In questo caso è necessario adeguare opportunamente la variabile "len" (lunghezza del sottocampo). Informazioni di errore ERROR STATUS (W#16#...) ERR_LOC Spiegazione 0 0x00000000 0 Elaborazione dell'ordine conclusa senza errori 0 0x00700000 0 Nessuna elaborazione dell'ordine attiva 0 0x00700100 0 Avvio dell'elaborazione dell'ordine 0 0x00700200 0 Richiamo intermedio (non di rilievo per REQ) 1 0xC08xyy00 0 Informazione generale di errore; vedere l'analisi degli errori con il parametro di uscita RET_VAL 1 0xC0808000 0 LADDR non è valido 1 0xC0808100 0 LADDR non è stato assegnato all'interfaccia PROFINET supportata 1 0xC0808200 0 Errore nel parametro CONF_DB: il tipo di dati non viene supportato 1 0xC0808300 0 Errore nel parametro CONF_DB: il puntatore indica su un campo non supportato 1 0xC0808400 0 Errore nel parametro CONF_DB: lunghezza del puntatore ANY errata 1 0xC0808800 f, 0 field_type_id ha un valore non consentito 1 0xC0808900 f, 0 field_id ha un valore non consentito 1 0xC0808A00 f, 0 Numero scorretto in subfield_cnt 1 0xC0808B00 f, t subfield_id ha un valore non consentito 1 0xC0808C00 f, t Sottocampo utilizzato più volte Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 327 SFC e SFB per le CPU PROFINET 18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" ERROR STATUS (W#16#...) ERR_LOC Spiegazione 1 0xC0808D00 f, t subfield_len ha un valore errato o non consentito 1 0xC0808E00 f, t subfield_mode ha un valore non consentito 1 0xC0808F00 f, t Nel sottocampo è presente un conflitto con un sottocampo precedente. 1 0xC0809000 f, t I parametri del sottocampo sono protetti in scrittura. I parametri potrebbero ad es. essere stati predefiniti tramite progettazione oppure è attivo il funzionamento PNIO. 1 0xC0809400 f, t Valore del parametro nel sottocampo non definito o non consentito. 1 0xC080C200 0 Impossibile eseguire il trasferimento (ad es. perché l'interfaccia non è accessibile) 1 0xC080C300 0 Risorse insufficienti (ad es. richiamo multiplo dell'SFB 104 con parametri diversi) 1 0xC080C400 0 Errore di comunicazione temporaneo Nella tabella, "f" indica field_id mentre "t" indica subfield_type_id del blocco di parametri causa degli errori. 328 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2 Manuale di riferimento, 05/2010, A5E02789979-01 Fehler! Kein gültiges Resultat für Tabelle. 19 SFC per la comunicazione di dati globali 20 Panoramica della comunicazione S7 e della comunicazione di base S7 21 SIMATIC Software di sistema per S7-300/400 - Funzioni standard e di sistema Volume 2 / Volume 2 Manuale di riferimento Il presente manuale fa parte del pacchetto di documentazione con il numero di ordinazione: 6ES7810-4CA10-8EW1 Comunicazione S7 22 Comunicazione di base S7 23 Comunicazione aperta tramite Industrial Ethernet 24 Creazione di segnalazioni riferite ai blocchi 25 Temporizzatore IEC e contatore IEC 26 Funzioni IEC 27 SFB per la regolazione integrata 28 SFB per CPU compatte 29 SFC per le CPU H 30 Funzioni integrate (per CPU con ingressi/uscite integrati) 31 Tecnica delle materie plastiche 32 Dati di diagnostica 33 Lista di stato di sistema SZL 34 Eventi 35 Lista delle SFC e degli SFB 36 05/2010 A5E02790056-01 Avvertenze di legge Concetto di segnaletica di avvertimento Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. PERICOLO questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi lesioni fisiche. AVVERTENZA il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi lesioni fisiche. CAUTELA con il triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. CAUTELA senza triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. ATTENZIONE indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate. Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali. Personale qualificato Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili pericoli. Uso conforme alle prescrizioni di prodotti Siemens Si prega di tener presente quanto segue: AVVERTENZA I prodotti Siemens devono essere utilizzati solo per i casi d’ impiego previsti nel catalogo e nella rispettiva documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto, un magazzinaggio, un’ installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione appropriati e a regola d’ arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere osservate le avvertenze contenute nella rispettiva documentazione. Marchio di prodotto Tutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG GERMANIA A5E02790056-01 Ⓟ 02/2010 Copyright © Siemens AG 2010. Con riserva di eventuali modifiche tecniche Indice 19 FB per l'accesso ciclico ai dati utili secondo PNO ..............................................................................337 19.1 19.2 19.2.1 19.3 19.4 19.5 20 SFC per la comunicazione di dati globali .............................................................................................345 20.1 20.2 21 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"..................................345 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" .....................348 Panoramica della comunicazione S7 e della comunicazione di base S7..........................................351 21.1 21.2 21.3 21.4 22 Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO .........................................337 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20 "GETIO" .............................................................................................................338 Descrizione ................................................................................................................................338 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l'FB 21 "SETIO"...................................................................................................................339 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22 "GETIO_PART".......................................................................................................340 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART" .......................................................................................................342 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7.............351 Coerenza dei dati .......................................................................................................................354 Informazioni generali sui blocchi di comunicazione S7 .............................................................356 Panoramica dei blocchi di comunicazione di base S7...............................................................359 Comunicazione S7 ..................................................................................................................................363 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 22.10 22.11 22.12 22.13 22.14 22.15 22.16 22.17 22.18 22.19 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 ........................................363 Comportamento all'avviamento degli SFB di comunicazione S7 ..............................................368 Comportamento in caso di disturbi degli SFB di comunicazione S7 .........................................370 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND".................................................372 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV".........................................................376 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND".........................................................380 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV".................................................................384 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" ..................................................388 Ricezione non coordinata di dati con l'FB 29 "URCV_E" ..........................................................391 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"........................................................394 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" .........................................................397 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" .....................................................400 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" .....................................................404 Invio di dati ad una stampante con l'SFB 16 "PRINT" ...............................................................407 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" .................................................................................414 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" .................................................................................................................417 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"...................420 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"................422 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" .........424 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 331 Indice 22.20 22.21 22.22 23 Comunicazione di base S7 .....................................................................................................................433 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 Parametri comuni delle SFC di comunicazione di base S7 .......................................................433 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati ...........435 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" ..........................................................................................................439 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 66 "X_RCV".............................................................................................................441 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" .............................................................................................................446 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" .............................................................................................................448 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT"...............................................................................................................451 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" ..............................................................................................................453 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT"...................................................................455 Comunicazione aperta tramite Industrial Ethernet ..............................................................................457 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 24.10 24.11 24.12 24.13 24.14 24.15 332 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" ..........................................................................427 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" .................................430 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 ..........................................432 Panoramica ................................................................................................................................457 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet ...................458 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP.............................................................................................................................463 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP ......469 Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP......................471 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili .............................................................................................472 Esempi di parametrizzazione di collegamenti di comunicazione aperti.....................................473 Inizializzazione del collegamento con l'FB 65 "TCON"..............................................................484 Sconnessione con l'FB 66 "TDISCON"......................................................................................488 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND ..................................490 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" ...........................493 Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" ...................................................498 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"..............................................501 Accoppiamento mediante TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 210 "FW_TCP" ........................................................................504 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "S5FW_IOT" .....................................................................505 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Indice 25 Creazione di segnalazioni riferite ai blocchi ........................................................................................507 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 25.10 25.11 25.12 25.13 25.14 25.15 25.16 25.17 26 Temporizzatore IEC e contatore IEC .....................................................................................................551 26.1 26.2 26.3 26.4 26.5 26.6 27 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB ................................507 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" ..............................................................................................................511 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P"........................................................................................................513 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"...............................................................................................................516 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" ........................................................................................................519 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"...........................................................................................................522 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"........................................................525 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG" ...................................................................................528 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG" ......................................................................................530 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi..532 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi ....................................................................................................................................533 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC .................................534 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" ................537 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" ........................................................................................541 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" ....................................................................543 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" ..................546 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"..............549 Creazione di un impulso con l'SFB 3 "TP".................................................................................551 Creazione di ritardo all'inserzione con l'SFB 4 "TON" ...............................................................553 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF".........................................................554 Conteggio in avanti con l'SFB 0 "CTU"......................................................................................555 Conteggio all'indietro con l'SFB 1 "CTD" ...................................................................................556 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" ...............................................................557 Funzioni IEC.............................................................................................................................................559 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 Sommario...................................................................................................................................559 Dati tecnici relativi alle funzioni IEC ...........................................................................................561 Data e ora come tipi di dati composti.........................................................................................563 Funzioni orologio........................................................................................................................564 Confronto tra variabili DATE_AND_TIME..................................................................................568 Modifica della variabile STRING ................................................................................................571 Confronto tra variabili STRING ..................................................................................................576 Conversione dei formati .............................................................................................................579 Modifica dei valori numerici........................................................................................................582 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 333 Indice 28 SFB per la regolazione integrata ...........................................................................................................585 28.1 28.2 28.3 28.4 29 SFB per CPU compatte ...........................................................................................................................615 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 29.10 29.11 29.12 30 Panoramica della struttura dei dati di diagnostica .....................................................................701 Dati di diagnostica......................................................................................................................702 Struttura dei dati di diagnostica specifici del canale ..................................................................705 Lista di stato di sistema SZL ..................................................................................................................709 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 34.10 34.11 34.12 34.13 34.14 34.15 334 SFC 63 (AB_CALL)....................................................................................................................699 Dati di diagnostica...................................................................................................................................701 33.1 33.2 33.3 34 SFB 29 (HS_COUNT) ................................................................................................................693 SFB 30 (FREQ_MES) ................................................................................................................695 SFB 38 (HSC_A_B) ...................................................................................................................696 SFB 39 (POS) ............................................................................................................................697 Tecnica delle materie plastiche .............................................................................................................699 32.1 33 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL" ............................................689 Funzioni integrate (per CPU con ingressi/uscite integrati).................................................................693 31.1 31.2 31.3 31.4 32 Posizionamento con uscita analogica con l'SFB 44 "Analogico"...............................................615 Posizionamento con uscita digitale con l'SFB 46 "Digitale".......................................................630 Comando del contatore con l'SFB 47 "COUNT"........................................................................644 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" ...............................650 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE".....................654 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP" .........................................................657 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP" ...................................................660 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" ....................663 Invio di dati (RK 512) con l'SFB 63 "SEND_RK" .......................................................................665 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK" .................................................................669 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" ......................674 Ulteriori informazioni di errore degli SFB da 60 a 65 .................................................................679 SFC per le CPU H.....................................................................................................................................689 30.1 31 Regolazione continua con l'SFB 41/FB 41 "CONT_C" ..............................................................585 Regolazione a passi con l'SFB 42/FB 42 "CONT_S" ................................................................593 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN".........................................................600 Esempio con un blocco PULSEGEN .........................................................................................611 Panoramica della lista di stato di sistema (SZL) ........................................................................709 Struttura di una lista parziale SZL..............................................................................................711 ID SZL ......................................................................................................................................712 Liste parziali SZL possibili..........................................................................................................713 ID SZL W#16#xy11 - Identificazione di unità ...........................................................................714 ID SZL W#16#xy12 - Caratteristiche della CPU ......................................................................715 ID SZL W#16#xy13 - Aree di memoria utente .........................................................................718 ID SZL W#16#xy14 - Aree di sistema ......................................................................................720 ID SZL W#16#xy15 - Tipi di blocchi .........................................................................................722 ID SZL W#16#xy1C - Identificazione di un componente ...........................................................723 ID SZL W#16#xy22 – Stato degli allarmi ...................................................................................728 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB .............................731 ID SZL W#16#xy32 - Dati di stato della comunicazione ..........................................................734 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0005........735 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008........736 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Indice 34.16 34.17 34.18 34.19 34.20 34.21 34.22 34.23 34.24 34.25 34.26 34.27 34.28 34.29 34.30 34.31 34.32 34.33 35 Eventi........................................................................................................................................................779 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 35.10 35.11 35.12 36 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B...........738 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000C ..........739 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004 ...........740 ID SZL W#16#xy71 - Informazione cumulativa della CPU H ....................................................741 ID SZL W#16#xy74 - Stato dei LED dell'unità .........................................................................744 ID SZL W#16#xy75 - Slave DP connessi nel sistema H ...........................................................747 ID SZL W#16#xy90 - Informazioni sul sistema master DP........................................................749 ID SZL W#16#xy91 - Informazione sullo stato delle unità .......................................................751 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione ............757 ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato della stazione ....................761 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO......763 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP.....765 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO) .......................................768 ID SZL W#16#xyA0 - Buffer di diagnostica..............................................................................772 ID SZL W#16#00B1 - Informazione di diagnostica unità .........................................................774 ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico .................................776 ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico ......................777 ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP........................................................778 Eventi e ID di evento..................................................................................................................779 Classe di evento 1 - Eventi di OB standard ...............................................................................780 Classe di evento 2 - Eventi di errore di sincronismo..................................................................781 Classe di evento 3 - Eventi di errore di asincronismo................................................................782 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento ............785 Classe di evento 5 - Elaborazione stati di funzionamento .........................................................789 Classe di evento 6 - Eventi di comunicazione ...........................................................................791 Classe di evento 7 - Eventi H/F .................................................................................................793 Classe di evento 8 - Eventi di diagnostica per unità ..................................................................796 Classe di evento 9 - Eventi utente standard ..............................................................................798 Classe di evento A e B - Eventi utente liberi..............................................................................800 Classe di evento riservata..........................................................................................................800 Lista delle SFC e degli SFB ....................................................................................................................801 36.1 36.2 36.3 36.4 Lista delle SFC, in ordine numerico...........................................................................................801 Lista delle SFC, in ordine alfabetico ..........................................................................................804 Lista degli SFB, in ordine numerico ...........................................................................................807 Lista degli SFB, in ordine alfabetico ..........................................................................................809 Glossario ............................................................................................................................................................813 Bibliografia .........................................................................................................................................................811 Indice analitico...................................................................................................................................................829 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 335 Indice 336 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 19 FB per l'accesso ciclico ai dati utili secondo PNO 19.1 Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO Panoramica Gli FB per l'accesso ciclico ai dati utili secondo PNO consistono nei seguneti blocchi (il cui significato è spiegato in parentesi): • FB 20 "GETIO" (lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device) • FB 21 "SETIO" (scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device) • FB 22 "GETIO_PART" (lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device) • FB 23 "SETIO_PART" (scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device) Interfacce degli FB per l'accesso ciclico ai dati utili secondo PNO Le interfacce degli FB sopracitati sono identiche agli FB omonimi definiti nella Norma "PROFIBUS and PROFINET Communication Function Blocks on PROFIBUS DP and PROFINET IO Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 337 FB per l'accesso ciclico ai dati utili secondo PNO 19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20 "GETIO" 19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20 "GETIO" 19.2.1 Descrizione L'FB 20 "GETIO" consente la lettura coerente di tutti gli ingressi di uno slave DP standard /PROFINET IO Device. L'FB 20 richiama per questo scopo l'SFC 14 "DPRD_DAT". Se la trasmissione dati avviene correttamente, i dati letti vengono inseriti nell'area di destinazione creata da INPUTS. La lunghezza dell'area di destinazione deve essere identica a quella progettata in STEP 7 per il componente selezionato. Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile, con un singolo richiamo dell'FB 20, accedere di volta in volta soltanto ai dati di un componente o ad un identificativo DP nell'ambito degli indirizzi iniziali progettati. Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • • Low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) High word: non di rilievo STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 14 "DPRD_DAT" nel formato DW#16#40xxxx00 LEN OUTPUT INT E, A, M, D, L Numero dei dati letti in byte INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti. La lunghezza di quest'area deve essere identica a quella progettata in STEP 7 per gli slave DP / per i componenti PROFINET IO selezionati. È consentito soltanto il tipo di dati BYTE. Informazioni di errore Vedere Lettura coerente dei dati di uno slave DP standard/PROFINET IO Device con l'SFC 14 "DPRD_DAT" 338 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 FB per l'accesso ciclico ai dati utili secondo PNO 19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l'FB 21 "SETIO" 19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l'FB 21 "SETIO" Descrizione L'FB 21 "SETIO" consente il trasferimento coerente dei dati dall'area sorgente creata da OUTPUTS allo slave DP standard / PROFINET IO Device indirizzati ed eventualmente all'immagine di processo (nel caso in cui l'area indirizzi interessata dello slave DP standard sia stata progettata come area coerente in un'immagine di processo). L'FB 21 richiama per questo scopo l'SFC 15 "DPWR_DAT". La lunghezza dell'area sorgente deve essere identica a quella progettata in STEP 7 per il componente selezionato. Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile, con un singolo richiamo dell'FB 20, accedere soltanto ad un componente o ad un identificativo dello slave DP. Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • • Low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) High word: non di rilievo LEN INPUT INT E, A, M, D, L Non di rilievo STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 15 "DPWR_DAT" nel formato DW#16#40xxxx00 OUTPUTS IN_OUT ANY E, A, M, D Area sorgente die dati da scrivere. La lunghezza di quest'area deve essere identica a quella progettata in STEP 7 per gli slave DP / per i componenti PROFINET IO selezionati. È consentito soltanto il tipo di dati BYTE. Informazioni di errore Vedere Scrittura coerente dei dati di uno slave DP standard/PROFINET IO Device con l'SFC 15 "DPWR_DAT". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 339 FB per l'accesso ciclico ai dati utili secondo PNO 19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22 "GETIO_PART" 19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22 "GETIO_PART" Descrizione L'FB 22 "GETIO_PART" consente la lettura coerente dell'area di un'immagine di processo appartenente ad uno slave DP standard / PROFINET IO Device. L'FB 22 richiama per questo scopo l'SFC 81 "UBLKMOV". Avvertenza Assegnare un'immagine di processo parziale degli ingressi all'OB nel quale viene richiamato l'FB 22 "GETIO_PART". È inoltre necessario, prima del richiamo dell'FB 22, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell'immagine di processo parziale degli ingressi. Se la CPU non conosce le immagini di processo parziali o se si intende richiamare l'FB 22 nell'OB 1, è necessario, prima di procedere al richiamo dell'FB 22, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell'immagine di processo degli ingressi I parametri OFFSET e LEN consentono di stabilire quale la parte dell'area dell'immagine di processo dei componenti indirizzati tramite l'ID debba essere letta. Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore FALSE e i dati letti vengono inseriti nell'area di destinazione creata da INPUTS. Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81 "UBLKMOV". Se l'area di destinazione (parametro INPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti è in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se l'area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell'area di destinazionne. Al parametro ERROR viene assegnato il valore FALSE. Avvertenza Nell'immagine di processo degli ingressi, l'FB 22 "GETIO_PART" non effettua il controllo dei limiti tra i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e LEN appartenga ad un componente univoco. Una lettura globale dei dati dei componenti, in grado di operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri. La trasferibilità in sistemi di altri costruttori viene quindi compromessa. 340 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 FB per l'accesso ciclico ai dati utili secondo PNO 19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22 "GETIO_PART" Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • OFFSET INPUT INT E, A, M, D, L, Cost.. LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da leggere STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 81 "UBLKMOV" nel formato DW#16#40xxxx00, se ERROR = TRUE ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore: ERROR = TRUE, se al richiamo dell'SFC 81 "UBLKMOV" si verifica un errore. INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti: • Low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) High word: non di rilievo Numero dei primi byte che devono essere letti nell'immagine di processo del componente (valore minimo: 0) • Se l'area di destinazione è inferiore a LEN, vengono trasmessi tanti byte quanti è in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE • Se l'area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell'area di destinazionne. Al parametro ERROR viene assegnato il valore FALSE. Informazioni di errore Vedere Copiatura continuata di variabili con l'SFC 81 "UBLKMOV". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 341 FB per l'accesso ciclico ai dati utili secondo PNO 19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART" 19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART" Descrizione L'FB 23 "SETIO_PART" consente il trasferimento coerente di dati dall'area sorgente creata dal parametro OUTPUTS ad una parte dell'area dell'immagine di processo appartenente ad uno slave DP standard / PROFINET IO Device. L'FB 23 richiama per questo scopo l'SFC 81 "UBLKMOV". Avvertenza Assegnare un'immagine di processo parziale delle uscite all'OB nel quale viene richiamato l'FB 23 "SETIO_PART". È inoltre necessario, prima del richiamo dell'FB 23, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell'immagine di processo parziale delle uscite. Se la CPU non conosce le immagini di processo parziale o se si intende richiamare l'FB 23 nell'OB 1, è necessario, prima di procedere al richiamo dell'FB 23, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell'immagine di processo delle uscite I parametri OFFSET e LEN consentono di stabilire in quale parte dell'area dell'immagine di processo dei componenti indirizzati tramite l'ID debba avvenire la scrittura. Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore FALSE. Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81 "UBLKMOV". Se l'area sorgente (parametro OUTPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti ne aono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se l'area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Avvertenza Nell'immagine di processo della uscite, l'FB 23 "SETIO_PART" non effettua il controllo dei limiti tra i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e LEN appartenga ad un componente univoco. Una scrittura globale dei dati dei componenti, in grado di operare una distinzione di bappartenenza degli stessi, non può essere garantita nel sistemi futuri. La trasferibilità in sistemi di altri costruttori viene quindi compromessa. 342 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 FB per l'accesso ciclico ai dati utili secondo PNO 19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART" Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • OFFSET INPUT INT E, A, M, D, L, Cost.. Numero dei primi byte che devono essere scritti nell'immagine di processo del componente (valore minimo: 0) LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da scrivere STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 81 "UBLKMOV" nel formato DW#16#40xxxx00, se ERROR = TRUE ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore: ERROR = TRUE, se al richiamo dell'SFC 81 "UBLKMOV" si verifica un errore. OUTPUTS IN_OUT ANY E, A, M, D Area sorgente die dati da scrivere: • Low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) High word: non di rilievo • Se l'area sorgente è inferiore a LEN, vengono trasmessi tanti byte quanti ne sono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE • Se l'area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Informazioni di errore Vedere Copiatura continuata di variabili con l'SFC 81 "UBLKMOV". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 343 FB per l'accesso ciclico ai dati utili secondo PNO 19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART" 344 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 20 SFC per la comunicazione di dati globali 20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND" Descrizione Con la SFC 60 "GD_SND" (global data send) vengono raccolti i dati di un blocco GD, i quali vengono poi trasmessi sul percorso definito nello stesso blocco GD. Il blocco GD deve essere progettato precedentemente con STEP 7. La SFC 60 "GD_SND" può essere richiamata in un qualsiasi punto del programma utente. Il conteggio di scansione nonché la raccolta sistematica e la trasmissione dei dati al punto di controllo del ciclo non vengono influenzati dai richiami della SFC 60. Interruzione della funzione La SFC 60 "GD_SND" può essere interrotta da livelli di esecuzione di priorità più elevata. È anche possibile il caso in cui, nel livello di esecuzione a priorità più elevata, la SFC 60 venga richiamata di nuovo per lo stesso blocco GD. Nel livello a priorità più elevata vengono quindi raccolti e trasmessi i dati. Al ritorno nella SFC interrotta, quest'ultima viene subito terminata e i dati qui raccolti vengono annullati. Questo tipo di procedura garantisce che i dati presenti nell'elaborazione del livello a priorità più elevata vengano trasmessi in modo coerente (in modo concorde alla definizione di coerenza come definita per i dati globali). Coerenza dei dati per GD In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale ciò che segue: Coerenti sono • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della rispettiva CPU in ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 345 SFC per la comunicazione di dati globali 20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND" Garanzia di coerenza per l'intero blocco GD Un blocco GD della CPU di trasmissione ha un struttura tale che non è possibile garantire a priori che i dati raccolti siano coerenti, così come per esempio nel caso in cui il blocco GD sia formato da un array di byte e il numero di byte superi la lunghezza massima ammessa per la CPU utilizzata. Se tuttavia si richiede la coerenza dell'intero blocco GD, è necessario procedere nel seguente modo: • Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata con il richiamo della SFC 39 "DIS_IRT" o della SFC 41 "DIS_AIRT". • Richiamare la SFC 60 "GD_SND". • Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT"). Parametri Dichiarazione Tipo Area di memoria Descrizione CIRCLE_I D INPUT E, A, M, D, L, cost. Numero del circolo GD in cui si trova il blocco GD da trasmettere. Questo numero viene preimpostato da STEP 7 nella progettazione dei dati globali. BYTE Valori ammessi: da 1 a 16. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD da trasmettere situato nel circolo GD selezionato. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. Valori ammessi: da 1 a 3. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. RET_VAL 346 OUTPUT INT E, A, M, D, L Informazione sull'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 SFC per la comunicazione di dati globali 20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND" Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato. 8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri. 8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal programma. 8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 60 è stata richiamata per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione della funzione"). 8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile progettata. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Dopo ogni richiamo della SFC 60 si deve analizzare lo stato del rispettivo blocco GD ed eventualmente resettarlo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 347 SFC per la comunicazione di dati globali 20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" 20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" Descrizione Con la SFC 61 "GD_RCV" (global data receive) vengono ritirati i dati stabiliti esattamente per un blocco GD di un telegramma GD ricevuto e registrati nel blocco GD di ricezione. Quest'ultimo deve essere stato progettato con STEP 7. La SFC 61 "GD_RCV" può essere richiamata in un qualsiasi punto del programma utente. Il conteggio di scansione nonché il ritiro dei dati da parte del sistema al punto di controllo del ciclo non vengono influenzati dai richiami della SFC 61. Interruzione della funzione La SFC 61 può essere interrotta da livelli di esecuzione di priorità più elevata, ma sempre in modo tale che la coerenza definita per i dati globali rimanga invariata. In un'interruzione di questo genere, può accadere che, nel livello di esecuzione a priorità più elevata, la SFC 61 può essere richiamata di nuovo per lo stesso blocco GD. Nel livello a priorità più elevata i dati vengono quindi raccolti nel blocco GD di ricezione. Al ritorno nella SFC interrotta, quest'ultima viene subito terminata. Coerenza dei dati per GD In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale ciò che segue: Coerenti sono 348 • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della rispettiva CPU in ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 SFC per la comunicazione di dati globali 20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" Garanzia di coerenza per l'intero blocco GD Un blocco GD in una CPU in ricezione ha un struttura tale che non è possibile garantire a priori che i dati provengano sempre dallo stesso telegramma, come ad esempio, quando il blocco GD è formato da tre elementi GD. Se tuttavia si richiede la coerenza dell'intero blocco GD di ricezione, è necessario procedere nel seguente modo: • Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata con il richiamo della SFC 39 "DIS_IRT" o SFC 41 "DIS_AIRT". • Richiamare la SFC 61 "GD_RCV". • Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT"). Parametri Dichiarazione Tipo Area di memoria Descrizione CIRCLE_ID INPUT E, A, M, D, L, cost. Numero del circolo GD in cui deve essere registrato il blocco GD entrante. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. BYTE Valori ammessi: da 1 a 16. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD nel circolo GD selezionato in cui i dati entranti devono essere registrati. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. Valori ammessi: da 1 a 3. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. RET_VAL OUTPUT INT E, A, M, D, L Informazione sull'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 349 SFC per la comunicazione di dati globali 20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato. 8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri. 8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal programma. 8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 61 è stata richiamata per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione della funzione"). 8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile progettata. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Dopo ogni richiamo della SFC 61 "GD_RCV" si deve analizzare lo stato del rispettivo blocco GD ed eventualmente resettarlo. 350 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 21 Panoramica della comunicazione S7 e della comunicazione di base S7 21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 Criteri di scelta Accanto alla comunicazione globale, per lo scambio dati tra CPU/FM di sistemi di automazione SIMATIC S7 sono a disposizione dell'utente due metodi: • lo scambio dati mediante la comunicazione di base S7 • lo scambio dati mediante la comunicazione S7 Quale metodo l'utente scelga di utilizzare per i propri compiti dipende sia dal sistema di automazione della famiglia SIMATIC S7 in uso che da altri parametri dello scambio dati. La seguente tabella riporta una lista di criteri in base ai quali effettuare la scelta. Criterio Comunicazione di base S7 Comunicazione S7 Disponibilità dei blocchi S7-300 e S7-400 come SFC S7-300: come FB e FC Collegamenti di comunicazione Non viene progettato un collegamento. Viene progettato un collegamento in maniera Viene creato al momento di fissa mediante la progettazione di collegamenti. funzionamento della SFC. Permane al termine del trasferimento dati oppure viene disattivato, comandato mediante parametro. Se temporaneamente non può essere creato alcun collegamento, il relativo job non può essere inviato Transizione dello stato di funzionamento a STOP Alla transizione della CPU che ha avviato un trasferimento dati nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati. S7-400: come SFB e SFC Nello stato di funzionamento STOP il collegamento viene mantenuto. Più collegamenti In ogni momento c'è al massimo un ad un partner di collegamento ad un partner di comunicazione comunicazione. Si possono creare più collegamenti ad uno stesso partner di comunicazione. Spazio di indirizzamento Indirizzamento di unità sulla sotto-rete MPI, sul PROFIBUS oppure sull'Industrial Ethernet Indirizzamento di unità nella propria stazione S7 oppure sulla sotto-rete MPI. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 351 Panoramica della comunicazione S7 e della comunicazione di base S7 21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 Criterio Comunicazione di base S7 Comunicazione S7 Numero di partner di comunicazione Il numero dei partner di comunicazione accessibili in successione non si limita al numero delle risorse di collegamento (vedere /70/, /101/). (Durante il tempo di funzionamento del programma, i collegamenti possono essere creati e nuovamente disattivati). Il numero dei partner di comunicazione accessibili contemporaneamente è limitata al numero delle risorse di collegamento. Dipende dalla CPU in uso (vedere /70/, /101/). Lunghezza dati utili massima Viene garantita solo una lunghezza di dati La lunghezza massima trasferibile di dati utili utili pari a 76 byte. dipende dal tipo di blocco (USEND / URCV, GET ecc.) e dal partner di comunicazione (S7-300 o S7-400). Numero delle variabili trasferibili al richiamo di un blocco Si può trasferire solo una variabile. Classificazione dei blocchi Le SFC di comunicazione di base S7 sono funzioni di sistema e non necessitano quindi di alcuna memoria utente Gli SFB di comunicazione S7 sono blocchi funzionali di sistema e necessitano quindi di un DB di istanza per i parametri attuali ed i dati statici. Modifica dinamica dei parametri di indirizzamento È possibile una modifica dinamica del parametro di indirizzamento. Al termine del job in corso si possono interpellare altri partner di comunicazione. Non è possibile una modifica dinamica del parametro di indirizzamento. Con il primo richiamo del blocco, viene stabilito il collegamento con il partner di comunicazione e cioè fino al prossimo nuovo avviamento (avviamento a caldo) o all'avviamento a freddo. • S7-300: una variabile • S7-400: max. quattro variabili Realizzazione della norma IEC 61131-5 con S7-400 I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5: • USEND(SFB8)/URCV(SFB9) • BSEND(SFB12)/BRCV(SFB13) • PUT(SFB15)/GET(SFB14) corrisponde a READ/WRITE • STATUS(SFB22)/USTATUS(SFB23) • ALARM(SFB33) • NOTIFY(SFB36) START(SFB19), STOP(SFB20) e RESUME (SFB21) realizzano un'interfaccia di richiamo per le funzioni di controllo del programma. 352 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Panoramica della comunicazione S7 e della comunicazione di base S7 21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 Realizzazione della norma IEC 61131-5 con S7-300 I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5: • USEND(FB8)/URCV(FB9) • BSEND(FB12)/BRCV(FB13) • PUT(FB15)/GET(FB14) corrisponde a READ/WRITE • USEND_E(FB28)/URCV_E(FB29) • PUT_E(FB35)/GET_E(FB34) corrisponde a READ/WRITE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 353 Panoramica della comunicazione S7 e della comunicazione di base S7 21.2 Coerenza dei dati 21.2 Coerenza dei dati Definizione La dimensione dell'area di dati non modificabile contemporaneamente da processi simultanei, viene definita area dei dati coerenti. Un'area dati le cui dimensioni superano la coerenza dei dati può quindi essere danneggiata nella loro interezza. Ciò significa che un'area di dati contigua con una dimensione superiore all'area coerente dati, in alcuni momenti può essere parzialmente costituita da blocchi di dati coerenti nuovi e vecchi. Esempio Si può avere, ad esempio, un'incoerenza se un blocco di comunicazione viene interrotto da un OB di interrupt di processo con priorità superiore. Se il programma utente modifica i dati dell'OB parzialmente già elaborati dal blocco di comunicazione, i dati trasferiti saranno: • in parte precedenti all'elaborazione dell'interrupt di processo • e in parte successivi all'elaborazione dell'interrupt di processo. I dati saranno quindi incoerenti (ovvero non contigui). Conseguenza Per trasferire grosse quantità di dati in modo coerente è necessario che il trasferimento non venga interrotto. Ciò può, ad esempio, determinare un incremento del tempo di reazione all'allarme della CPU. Quindi, più estesa è la quantità di dati da trasferire in modo coerente, più aumenta il tempo di reazione del sistema. Coerenza dei dati in SIMATIC Se il programma utente contiene funzioni di comunicazione, quali BSEND/BRCV, che accedono a dati comuni, è possibile coordinare l'accesso a queste aree di memoria p. es. con il parametro "DONE". La coerenza dei dati delle aree di comunicazione che viene trasferita localmente mediante un blocco di comunicazione può essere quindi realizzata nel programma utente. Con le funzioni di comunicazione S7 quali PUT/GET o lettura/scrittura mediante comunicazione OP, è necessario tenere conto della dimensione dell'area dati coerente fin dalla programmazione/progettazione, poiché nel programma utente del dispositivo di destinazione (server) non è presente un blocco che sincronizzi la comunicazione nel programma utente. Nelle S7-300 e C7-300 (fa eccezione la CPU 318-2 DP) i dati di comunicazione vengono copiati in modo coerente nella memoria utente in blocchi di 32 byte nel punto di controllo del ciclo del sistema operativo. Per le aree di memoria più grandi la coerenza dei dati non viene garantita. Se è necessaria una coerenza dei dati definita, i dati di comunicazione del programma utente non devono essere superiori a 32 byte (max 8 byte a seconda della versione). 354 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Panoramica della comunicazione S7 e della comunicazione di base S7 21.2 Coerenza dei dati Nella S7-400 i dati di comunicazione non vengono invece elaborati nel punto di controllo del ciclo, ma in fasi temporali fisse durante il ciclo del programma. Da parte del sistema viene garantita la coerenza di una variabile. A queste aree di comunicazione è possibile accedere in modo coerente, ad esempio da un OP o una OS, con le funzioni PUT/GET o la lettura/scrittura delle variabili. Suggerimento Per ulteriori informazioni sulla coerenza dei dati, consultare la descrizione dei singoli blocchi e il manuale Comunicazione con SIMATIC. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 355 Panoramica della comunicazione S7 e della comunicazione di base S7 21.3 Informazioni generali sui blocchi di comunicazione S7 21.3 Informazioni generali sui blocchi di comunicazione S7 Classificazione Per la comunicazione S7 è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di comunicazione integrate avviene nel programma utente tramite SFB/FB o un'SFC/FC. Questi blocchi possono essere suddivisi nelle seguenti classi: • SFB/FB per lo scambio dei dati • SFB/FB per la modifica degli stati di funzionamento • SFB per l‘interrogazione dello stato di funzionamento • SFC/FC per l'interrogazione del collegamento. Disponibilità dei blocchi di comunicazione S7-300/400 • I blocchi per la S7-400 sono contenuti nella biblioteca "Standard Library". • I blocchi caricabili per la S7-300 sono contenuti nella biblioteca "SIMATIC_NET_CP" oppure nella biblioteca "Standard Library" alla voce "Communication Blocks". Se la CPU S7-300-CPU non dispone di interfaccia Ethernet, per il funzionamento dei blocchi S7-300 è necessario un CP SIMATIC NET della gamma S7-300. Ulteriori informazioni sull'argomento sono contenute nella documentazione corrispondente. Avvertenza Non tutti gli SFB sono realizzati come FB nella S7-300. SFB/FB per lo scambio dati Gli SFB/ FB di comunicazione per lo scambio dei dati servono allo scambio dei dati tra due partner di comunicazione. A seconda che esista un SFB/FB di comunicazione solo sull'unità locale oppure sia sull'unità locale che sull'unità remota, si parla di scambio dati a una o a due vie. 356 Blocchi Blocchi S7-400 S7-300 Definizione Breve descrizione SFB 8 FB 8 USEND/ SFB 9 FB 9 URCV Trasferimento rapido e senza conferma dei dati, indipendente dall'elaborazione della funzione di comunicazione (URCV) nel partner di comunicazione (p. es. messaggi sullo stato di funzionamento e la manutenzione). I dati possono essere quindi sovrascritti dal partner con dati più recenti - FB 28 USEND_E FB 29 URCV_E SFB 12/ FB 12 BSEND/ SFB 13 FB 13 BRCV Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il trasferimento dei dati si conclude solo dopo che la funzione di ricezione (BRCV) del partner ha ricevuto i dati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Panoramica della comunicazione S7 e della comunicazione di base S7 21.3 Informazioni generali sui blocchi di comunicazione S7 Blocchi Blocchi Definizione Breve descrizione S7-400 S7-300 SFB 14 FB 14 GET Lettura di variabili comandata dal programma senza che sia presente una funzione di comunicazione specifica nel programma utente del partner di comunicazione - FB 34 GET_E SFB 15 FB 15 PUT - FB 35 PUT_E SFB 16 - PRINT Scrittura di variabili comandata dal programma senza che sia presente una funzione di comunicazione specifica nel programma utente del partner di comunicazione Invio di dati a una stampante (solo S7-400) SFB per la modifica dello stato di funzionamento Con gli SFB per la modifica dello stato di funzionamento viene comandato lo stato di funzionamento di un dispositivo remoto. Con gli SFB per la modifica dello stato di funzionamento lo scambio dati è a una via. Blocco S7-400 Breve descrizione SFB 19 START Effettua il NUOVO AVVIAMENTO di una CPU S7/M7-300/400 C7-300 dallo stato di funzionamento STOP. SFB 20 STOP STOP di una CPU S7/M7-300/400 o C7-300 nello stato di funzionamento RUN, ALT o avviamento SFB 21 RESUME Riavviamento di una CPU S7-400 dallo stato di funzionamento STOP. SFB per l'interrogazione dello stato di funzionamento Con gli SFB per l'interrogazione dello stato di funzionamento si possono ricevere informazioni sullo stato di funzionamento di un dispositivo remoto. Con SFB "STATUS" il tipo di scambio dati è a una via, mentre con SFB "USTATUS" lo scambio dati è a due vie. Blocco S7-400 Breve descrizione SFB 22 STATUS Indica lo stato di funzionamento di un partner di comunicazione (CPU S7-400, M7-300/400) su richiesta dell'utente. SFB 23 USTATUS Se è stato impostato l'apposito attributo (Invia messaggi sullo stato di funzionamento), riceve lo stato di funzionamento di una CPU S7-400 quando questa passa in uno stato diverso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 357 Panoramica della comunicazione S7 e della comunicazione di base S7 21.3 Informazioni generali sui blocchi di comunicazione S7 SFC/FC per l'interrogazione del collegamento Blocco S7-400 Blocco S7-300 Breve descrizione SFC 62 "CONTROL" - Interrogazione dello stato di un collegamento appartenente all'istanza di un SFB - FC 62 "C_CNTRL" Interrogazione dello stato di un collegamento attraverso la sua ID Suggerimento: Lo stato del collegamento attuale si può diagnosticare anche con la SFC 87 C_DIAG (solo per S7-400). Programma d'esempio Con STEP 7 viene fornito un programma esemplificativo per S7-400 che illustra l'uso degli SFB di comunicazione S7. Il progetto di esempio si chiama step7\examples\com_sfb e si trova in "...\STEP7\Examples\ZIt01_10". 358 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Panoramica della comunicazione S7 e della comunicazione di base S7 21.4 Panoramica dei blocchi di comunicazione di base S7 21.4 Panoramica dei blocchi di comunicazione di base S7 Classificazione delle SFC di comunicazione di base S7 Per la comunicazione di base S7 non è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di comunicazione integrate avviene nel programma utente tramite SFC. Le SFC sono suddivise in due classi: • SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i partner di comunicazione appartengono alla stessa stazione S7 (riconoscibile perché preceduta da una "I" che indica "Intern"). • SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i partner di comunicazione sono collegati alla stessa sotto-rete MPI (riconoscibile perché preceduta da una "X" che indica "Extern"). La comunicazione oltre i limiti della sotto-rete non è possibile con le SFC di comunicazione di base S7. Le SFC di comunicazione di base S7 sono operabili su tutte le CPU S7-300 e S7-400. Da queste CPU è possibile anche scrivere delle variabili nelle CPU della S7-200 e leggerle da là. SFC per la comunicazione esterna Blocco Breve descrizione SFC 65/ X_SEND/ SFC 66 X_RCV Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il trasferimento dei dati si conclude solo dopo che la funzione di ricezione (X_RCV) del partner ha ricevuto i dati. SFC 67 X_GET Lettura di una variabile da un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 68 X_PUT Scrittura di una variabile in un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 69 X_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende nuovamente utilizzabili le risorse di collegamento in entrambi i partner. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 359 Panoramica della comunicazione S7 e della comunicazione di base S7 21.4 Panoramica dei blocchi di comunicazione di base S7 SFC per la comunicazione interna Blocco Breve descrizione SFC 72 I_GET Lettura di una variabile da un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 73 I_PUT Scrittura di una variabile in un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 74 I_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende nuovamente utilizzabili le risorse di collegamento in entrambi i partner. Programmi esemplificativi STEP 7 viene fornito con due programmi esemplificativi per le SFC di comunicazione di base S7 collocati nelle directory step7\examples\com_sfc1 e step7\examples\com_sfc2. Dimensione massima dei dati utili Le SFC di comunicazione di base S7 sono incorporate in tutte le CPU della S7-300 e della S7-400. Il numero dei dati utili trasferibili (parametro SD o RD) garantito per tutte le SFC è di 76 byte. Il numero esatto è indicato nel rispettivo blocco. Collegamento con il partner di comunicazione Nelle SFC di comunicazione di base S7 viene creato il collegamento al momento di esecuzione della SFC; a seconda del valore assegnato al parametro di ingresso CONT, il collegamento resta anche a conclusione del trasferimento dati, oppure viene nuovamente disattivato. Di conseguenza per la comunicazione si hanno le seguenti proprietà: • Il numero dei partner di comunicazione accessibili in successione è maggiore del numero dei partner di comunicazione indirizzabili contemporaneamente (questa è una dimensione specifica della CPU, vedere /70/, /101/). • Qualora momentaneamente non sia possibile creare alcun collegamento ad un partner di comunicazione perché le risorse di collegamento (sulla propria CPU o nel partner di comunicazione) sono tutte occupate, questo viene visualizzato in RET_VAL. Il job va quindi avviato nuovamente in un momento successivo opportuno. Tuttavia non può essere garantita la riuscita della creazione del collegamento in un momento successivo. Eventualmente il programma va verificato dal punto di vista dell'uso generale delle risorse di collegamento e va utilizzata una CPU che possegga più risorse di collegamento. I collegamenti già esistenti di SFB di comunicazione di base S7 non possono essere usati dalle SFC di comunicazione di base S7. 360 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Panoramica della comunicazione S7 e della comunicazione di base S7 21.4 Panoramica dei blocchi di comunicazione di base S7 Quando viene avviato un job, il collegamento creato per esso può essere momentaneamente utilizzato solo per questo job. Altri job per lo stesso partner di comunicazione possono essere nuovamente svolti solamente quando il job in corso è stato terminato. Pertanto osservare la seguente avvertenza: Avvertenza Se il programma contiene più job per lo stesso partner di comunicazione occorre far sì che quelle SFC, nelle quali in RET_VAL viene visualizzato W#16#80C0, siano richiamate nuovamente in un momento successivo opportuno. Identificazione di un job Qualora con una delle SFC di comunicazione di base S7 sia stato avviato un trasferimento dati oppure un annullamento dei collegamenti e tale SFC venga nuovamente richiamata prima che il trasferimento in corso sia stato concluso, il comportamento successivo della SFC dipende in maniera decisiva dal fatto che il job al nuovo richiamo sia o meno lo stesso. La tabella seguente evidenzia per ogni SFC quale parametro di ingresso stabilisce un job. Se i parametri citati nella tabella corrispondono ad un job non ancora concluso, il richiamo della SFC vale come richiamo successivo. Blocco Job identificato mediante SFC 65 X_SEND DEST_ID, REQ_ID SFC 67 X_GET DEST_ID, VAR_ADDR SFC 68 X_PUT DEST_ID, VAR_ADDR SFC 69 X_ABORT DEST_ID SFC 72 I_GET IOID, LADDR, VAR_ADDR SFC 73 I_PUT IOID, LADDR, VAR_ADDR SFC 74 I_ABORT IOID, LADDR Comportamento all'interruzione Le SFC di comunicazione di base S7 possono essere interrotte mediante OB con priorità superiore. Qualora la stessa SFC venga nuovamente richiamata con l'identico job, questo secondo richiamo viene interrotto e ne viene data visualizzazione in RET_VAL. Poi l'elaborazione della SFC interrotta viene continuata. Accesso alla memoria di lavoro della CPU Indipendentemente dal numero dei dati utili attualmente da trasferire, le funzioni di comunicazione del sistema operativo in blocchi di dimensione massima accedono alla memoria di lavoro della CPU in modo che con l'impiego delle funzioni di comunicazione il tempo di reazione agli allarmi non si protragga. A seconda di come è stato impostato con STEP 7 il carico di ciclo massimo a causa della comunicazione, durante lo svolgimento di un job mediante le funzioni di comunicazione del sistema operativo possono avvenire più accessi alla memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 361 Panoramica della comunicazione S7 e della comunicazione di base S7 21.4 Panoramica dei blocchi di comunicazione di base S7 Transizione dello stato di funzionamento del client a STOP Se, con il trasferimento dati, la CPU che ha iniziato un job (e ha così creato un collegamento) passa nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati. Esecuzione di modifiche al programma Tutte le parti del programma, che hanno effetto diretto sui richiami delle SFC di comunicazione di base S7, devono essere modificate solo nello stato di funzionamento STOP. Di queste fa parte, in particolare, la cancellazione di FC, FB o OB che contengono i richiami delle SFC di comunicazione di base S7. Poi va eseguito un nuovo avviamento (avviamento a caldo) o avviamento a freddo. Se non si osserva quanto detto, le risorse di collegamento possono restare occupate ed il sistema di automazione si trova quindi in uno stato non definito. 362 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 22 Comunicazione S7 22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Classificazione I parametri degli SFB/FB di comunicazione S7 possono essere suddivisi, in base alla loro funzione, nelle seguenti cinque classi: 1. Parametri di controllo: servono all'attivazione di un blocco 2. Parametri di indirizzamento: servono all'indirizzamento del partner di comunicazione remoto 3. Parametri di trasmissione: indicano i campi dei dati che devono essere trasmessi al partner remoto 4. Parametri di ricezione: indicano i campi dei dati, nei quali vengono registrati i dati ricevuti dal partner remoto 5. Parametri di stato: servono a verificare se il blocco ha terminato il suo compito senza errori e ad analizzare gli errori. Parametri di controllo L'attivazione dello scambio dei dati avviene solo se, al richiamo dell'SFB/FB, i rispettivi parametri di controllo hanno un campo definito (p. es. se sono impostati) o se il valore è cambiato rispetto all'ultimo richiamo SFB/FB nel modo definito (p. es. fronte positivo). Avvertenza sulla S7-300 Al momento del primo richiamo, il parametro REQ deve essere impostato su FALSE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 363 Comunicazione S7 22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametri di indirizzamento Parametro Descrizione ID Riferimento alla descrizione locale del collegamento (preimpostato durante la progettazione del collegamento in STEP 7). Avvertenza: per i blocchi della comunicazione S7 non è consentito l'ID W#16#EEEE. R_ID Il parametro R_ID consente di definire il rapporto fra un SFB/FB di trasmissione e un SFB/FB di ricezione. Il lato della trasmissione dell'SFB/FB e il lato di ricezione dell'altro SFB/FB devono avere lo stesso valore per il parametro R_ID. Viene così resa possibile la comunicazione di diverse coppie di SFB/FB con lo stesso collegamento logico. • R_ID deve essere specificato nel formato DW#16#wxyzWXYZ • In un collegamento logico le coppie di blocchi definite mediante R_ID devono essere univoche. Il parametro PI_NAME è descritto solo negli SFB in cui è rilevante (solo S7-400). Avvertenza S7-300: i parametri di indirizzamento ID e R_ID si possono ridefinire durante l'esecuzione. I nuovi parametri diventano attivi con ogni job, una volta terminato il job precedente. In questo modo è possibile combinare tra loro più coppie di FB tramite una sola istanza. Suggerimento: queste possibilità consentono di ridurre DB di istanza e di conseguenza di risparmiare memoria di lavoro: 1. Con gli ID di variabili è possibile utilizzare più collegamenti mediante un blocco dati di istanza. 2. Con gli ID_R di variabili è possibile determinare con un'istanza più interdipendenze di coppie di FB di trasmissione e ricezione. 3. È possibile combinare i punti 1 e 2. Si tenga presente che i nuovi parametri diventano attivi solo dopo l'elaborazione del job precedente. Se si attiva l'operazione di trasmissione, il parametro R_ID del mittente deve corrispondere a quello del ricevente. S7-400: i parametri di indirizzamento ID e R_ID vengono analizzati solo al primo richiamo del blocco (i parametri attuali o i valori predefiniti dall'istanza). Con il primo richiamo viene così stabilito il rapporto di comunicazione (collegamento) con il partner remoto, e cioè fino al successivo nuovo avviamento (avviamento a caldo) oppure avviamento a freddo. 364 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametri di stato Con i parametri di stato si può controllare se il blocco ha terminato regolarmente il suo compito oppure se è ancora attivo. Inoltre essi indicano i guasti presentatisi. Avvertenz I parametri di stato sono validi solo in un ciclo, cioè dal primo comando che segue il richiamo dell'SFB/FB, fino al successivo richiamo dell'SFB/FB. Ne consegue che questi parametri devono essere analizzati dopo ogni esecuzione di blocco. Parametri di trasmissione e di ricezione Se in un SFB non vengono utilizzati tutti i parametri di trasmissione o di ricezione, il primo parametro non utilizzato deve essere rispettivamente un puntatore NIL (vedere /232/), e i parametri utilizzati devono trovarsi uno dietro l'altro in ordine progressivo. job. Avvertenza sulla S7-400 Al momento del primo ribchiamo, viene stabilita tramite il puntatore ANY la quantità massima di dati utili trasferibili per il job; all'interno della memoria di lavoro della CPU viene infatti creato un buffer di comunicazione per garantire la coerenza dei dati che occupa uno spazio di memoria di lavoro fino a 480 byte. È opportuno eseguire il primo richiamo nell'OB di nuovo avviamento (avviamento a caldo) o di avviamento a freddo se il blocco con il richiamo SFB non viene ricaricato con lo stato di funzionamento RUN della CPU. Con i richiami successivi è possibile trasmettere/ricevere un numero qualunque di dati, tuttavia fino al numero massimo del primo richiamo. Un'eccezione a questa regola è costituita dagli SFB BSEND e BRCV. Essi consentono di trasferire fino a 64 Kbyte per ogni job (vedere Trasmissione di dati a blocchi con l'SFB 12 "BSEND" e Ricezione di dati a blocchi con l'SFB 13 "BRCV"). Negli SFB/FB per la comunicazione a due vie • il numero dei parametri utilizzati SD_i e RD_i sul lato di trasmissione e di ricezione deve coincidere • i tipi di dati nei parametri comuni di SD_i e RD_i sul lato di trasmissione e di ricezione devono coincidere • il numero dei dati da trasmettere con il parametro SD_i non deve essere maggiore del campo aperto con il rispettivo parametro RD_i (non valido per BSEND/BRCV). Se le regole indicate non vengono rispettate, questa violazione viene segnalata con ERROR = 1 e STATUS = 4. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 365 Comunicazione S7 22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Dimensione dei dati utili Negli SFB/FB USEND, URCV, GET e PUT e negli FB USEND_E, URCV_E, GET_E e PUT_E il numero dei dati da trasmettere non deve superare una lunghezza massima che dipende da quanto segue: • tipo di blocco utilizzato • partner di comunicazione. La dimensioni minima garantita dei dati utili per un SFB con 1-4 variabili può essere stabilita mediante la seguente tabella: Blocco Partner: S7-300 Partner: S7-400 PUT / GET 160 byte 400 byte USEND / URCV 160 byte 440 byte BSEND / BRCV 32768/65534 byte 65534 byte PUT_E / GET_E 160 byte Non disponibile USEND_E / URCV_E 160 byte Non disponibile Osservare le limitazioni relative alle dimensioni dei dati utili, contenute nei dati tecnici della CPU utilizzata. Dimensione esatta dei dati utili Se la dimensione sopra indicata non è sufficiente, è possibile determinare la lunghezza utile massima in byte come indicato di seguito. 1. Determinare la dimensione dei blocchi di dati valida per la comunicazione in base alla seguente tabella: 366 CPU utente CPU remota Dimensione dei blocchi di dati in byte S7-300 qualunque 240 (S7-300) S7-400 S7-300 / C7-300 240 (S7-400) S7-400 S7-400 o CPU 318 480 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 2. In base al valore individuato, cercare nella seguente tabella la lunghezza massima ammessa per i dati utili espressa in byte come somma dei parametri utilizzati. Il valore è valido per lunghezze pari delle aree SD_i, RD_i, ADDR_i. Per ogni area con lunghezza dispari la lunghezza massima ammessa dei dati utili si riduce di un byte. Numero di parametri SD_i, RD_i, ADDR_i utilizzati Dimensioni dei blocchi di dati SFB/FB 1 2 3 4 240 (S7-300) PUT/GET/ USEND 160 - - - 240 (S7-300 mediante interfaccia integrata) PUT 212 - - - GET 222 - - - 240 (S7-400) 480 960 USEND 212 - - - PUT_E 212 196 180 164 GET_E 222 218 214 210 USEND_E 212 208 204 200 PUT 212 196 180 164 GET 222 218 214 210 USEND 212 - - - PUT 452 436 420 404 GET 462 458 454 450 USEND 452 448 444 440 PUT 932 916 900 884 GET 942 938 934 930 USEND 932 928 924 920 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 367 Comunicazione S7 22.2 Comportamento all'avviamento degli SFB di comunicazione S7 22.2 Comportamento all'avviamento degli SFB di comunicazione S7 Presupposti Qui di seguito sono indicati i presupposti per le S7-400: • le descrizioni dei collegamenti (SDB) sulle unità sono presenti • i collegamenti progettati sono stabiliti • in ogni SFB il parametro attuale per l'ID coincide con l'ID di collegamento progettato. Nuovo avviamento (avviamento a caldo) e avviamento a freddo Nel nuovo avviamento (avviamento a caldo) e avviamento a freddo tutti gli SFB vengono trasferiti nello stato NO_INIT. I parametri attuali memorizzati nei DB di istanza rimangono invariati. Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a due vie Generalmente negli SFB per lo scambio dati a due vie le unità non effettuano entrambe un nuovo avviamento (avviamento a caldo) o avviamento a freddo. L'adattamento viene eseguito implicitamente dagli SFB in base alle seguenti regole. I blocchi di ricezione (SFB, URCV, BRCV) presentano il seguente comportamento: • Se l'SFB ha ricevuto un job, ma non lo ha ancora confermato al momento del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, esso genera un telegramma di interruzione di sequenza (SFB BRCV) e salta quindi direttamente nello stato NO_INIT. • Nell'SFB BRCV può subentrare il caso che, nonostante l'interruzione di sequenza trasmessa, si presenti un ulteriore segmento di dati. Quest'ultimo viene respinta a livello locale. • Nell'SFB URCV ha luogo il passaggio immediato nello stato NO_INIT. I blocchi di trasmissione (SFB USEND, BSEND) si comportano nel modo seguente: 368 • Se l'SFB BSEND ha iniziato una sequenza di job, che non è ancora terminata, esso trasmette un'interruzione di sequenza al nuovo avviamento (avviamento a caldo) o all'avviamento a freddo. Immediatamente dopo passa nello stato NO_INIT. Un'accettazione che arriva più tardi viene respinta a livello locale. • Se l'SFB BSEND ha già trasmesso o ricevuto un'interruzione di sequenza al momento della richiesta di un nuovo avviamento, (avviamento a caldo) o un avviamento a freddo esso passa immediatamente nello stato NO_INIT. • In tutti gli altri casi, e se l'SFB trasmette solo messaggi (p. es. SFB USEND), l'elaborazione locale viene interrotta e l'SFB passa immediatamente nello stato NO_INIT. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.2 Comportamento all'avviamento degli SFB di comunicazione S7 Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a una via Si presuppone che dopo l'attivazione dei collegamenti il server sul partner di comunicazione sia in grado di funzionare, cioè possa elaborare job o trasmettere messaggi in qualsiasi momento. Gli SFB, che trasmettono job e attendono accettazioni, presentano il seguente comportamento: L'elaborazione momentanea viene interrotta, e immediatamente dopo viene effettuato il passaggio nello stato NO_INIT. Un'accettazione che si presenta più tardi per il job trasmesso prima del nuovo avviamento (avviamento a caldo) o dell‘avviamento a freddo viene respinta a livello locale. Può essere trasmesso già un nuovo job prima che sia arrivata l'accettazione ancora pendente. Gli SFB che trasmettono o ricevono messaggi si comportano nel modo seguente: • L'elaborazione momentanea viene interrotta, e viene effettuato il passaggio diretto nello stato NO_INIT. • Nell'SFB USTATUS vengono respinti a livello locale i messaggi che arrivano negli stati NO_INIT e DISABLED. Comportamento al riavviamento Gli SFB di comunicazione S7 vengono trasferiti nello stato NO_INIT solo nel nuovo avviamento (avviamento a caldo) o nell'avviamento a freddo. Ne risulta che essi si comportano come blocchi funzionali utente proseguibili nel riavviamento. Comportamento dopo cancellazione totale La cancellazione totale determina sempre l'interruzione di tutti i collegamenti. Poiché dopo la cancellazione totale è possibile solo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo come tipo di avviamento per il programma utente, tutti gli SFB di comunicazione S7 (se ancora presenti) vengono trasferiti nello stato NO_INIT e inizializzati. I blocchi partner in una unità non cancellata totalmente passano, a causa dell'interruzione del collegamento, negli stati IDLE o ENABLED o DISABLED. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 369 Comunicazione S7 22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7 22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7 Qui di seguito viene descritto il comportamento in caso di disturbi dei blocchi di comunicazione S7 nelle S7-400. Interruzione di collegamento I collegamenti assegnati alle istanze SFB di comunicazione vengono controllati per identificare eventuali interruzioni. In caso di interruzione di un collegamento la reazione dell'SFB dipende dal suo stato interno: Se l'interruzione di collegamento viene identificata negli stati IDLE o ENABLED, l'SFB reagisce nel modo seguente: • Esso passa nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione" tramite i parametri di uscita ERROR e STATUS. • Al successivo richiamo del blocco esso assume di nuovo il suo stato originario e controlla di nuovo il collegamento. Un SFB che non si trova negli stati IDLE e DISABLED, reagisce nel modo seguente: • Esso interrompe la sua elaborazione, passa immediatamente oppure al successivo richiamo del blocco nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione" tramite i parametri di uscita ERROR e STATUS. • Al successivo richiamo del blocco, quest'ultimo assume lo stato IDLE, DISABLED o ENABLED. Negli stati IDLE e ENABLED viene controllato di nuovo il collegamento. Questo procedimento viene eseguito anche se nel frattempo il collegamento è stato ristabilito. Caduta di rete Una caduta di rete bufferizzata con riavviamento provoca l'interruzione di tutti i collegamenti attivati. Per tutti i blocchi interessati vale perciò quanto detto sopra. Per una caduta di rete bufferizzata con nuovo avviamento (avviamento a caldo) o con avviamento a freddo automatico vale quanto detto sia per l'interruzione del collegamento che per il nuovo avviamento (avviamento a caldo) o l‘avviamento a freddo. Nel caso speciale del nuovo avviamento (avviamento a caldo) o avviamento a freddo automatico non bufferizzato, durante il quale viene eseguita automaticamente una cancellazione totale dopo il ritorno della rete, gli SFB di comunicazione S7 si comportano come descritto nel capitolo "Comportamento all'avviamento degli SFB di comunicazione S7". Comportamento durante passaggio tra stati di funzionamento Durante un passaggio tra gli stati di funzionamento STOP, AVVIAMENTO, RUN e ALT l'SFB rimane nel suo stato attuale (eccezione: nel nuovo avviamento (avviamento a caldo) o avviamento a freddo viene assunto lo stato NO_INIT). Ciò vale sia negli SFB per la comunicazione ad una via, sia negli SFB per la comunicazione a due vie. 370 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7 Interfaccia errore per programma utente Se si presenta un errore durante l'elaborazione di un SFB ha sempre luogo un passaggio nello stato ERROR; contemporaneamente il parametro di uscita ERROR viene impostato su 1 e nel parametro di uscita STATUS viene registrata le relativa identificazione dell'errore. Queste informazioni di errore possono essere analizzate dall'utente nel suo programma. Esempi di errori possibili: • Errore durante la raccolta dei dati di trasmissione • Errore durante la copiatura dei dati di ricezione nelle aree di ricezione (p. es. accesso a DB non disponibili) • La lunghezza del campo dati trasmesso non coincide con la lunghezza dell'area di ricezione archiviata sull'SFB partner. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 371 Comunicazione S7 22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" 22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" Avvertenza Per le CPU S7-300 sono disponibili le due versioni seguenti dell'FB 8 "USEND". • Una versione nella Standard Library, da utilizzare in caso di collegamento con il partner remoto tramite l'interfaccia PN. • Una versione nella SIMATIC_NET_CP Library, da utilizzare in caso di collegamento con il partner remoto tramite un CP. Descrizione L'SFB/FB 8 "USEND" trasmette dati a un partner SFB/FB remoto del tipo "URCV". La trasmissione non è coordinata con l'SFB/FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei dati. S7-300: la trasmissione ha luogo dopo un fronte di salita in REQ. Con ogni fronte di salita in REQ vengono ripresi i parametri R_ID, ID e SD_1. Una volta terminato un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e SD_1. S7-400: la trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da trasmettere vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di trasmissione non devono essere tutti occupati. Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4/SD_1 e da RD_1 a RD_4/RD_1 (nel corrispondente SFB/FB partner "URCV") coincidano per quanto riguarda: • numero • lunghezza • tipo di dati. Il parametro R_ID deve essere identico per entrambi gli SFB/FB. 372 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa correttamente. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L. Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. DONE OUTPUT BOOL ERROR STATUS OUTPUT OUTPUT E, A, M, D, L BOOL E, A, M, D, L WORD E, A, M, D, L Parametro di indirizzamento R_ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. S7-300: IN_OUT ANY M, D, T, Z SD_1 S7-400: SD_i (1≤ i ≤4) E, A, M, D, T, Z Puntatore all'i - esima area di trasmissione. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 373 Comunicazione S7 22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" Informazioni di errore ERROR STATUS (decimale) Spiegazione 0 11 Avviso: 0 25 1 1 • Il nuovo job non è valido in quanto quello precedente non è ancora terminato • Il job viene già elaborato in una classe di priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB non eseguibile su una CPU S7-400 • inoltre per S7-300: • numero massimo di ordini/istanze paralleli superato 1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Al richiamo dell'SFB/FB 1 18 • è stato indicato un DB di istanza che non appartiene all'SFB "USEND" • è stato indicato un DB globale e non un DB di istanza • è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nell'ID del collegamento. • inoltre per S7-300: - 1 1 374 20 27 Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" Coerenza dei dati S7-300: per garantire la coerenza dei dati, le aree di trasmissione SD_1 devono essere riscritte solo dopo che è stata conclusa l'operazione attuale di trasmissione, vale a dire quando il parametro di stato DONE assume il valore 1. S7-400 e S7-300 mediante interfaccia integrata: quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 375 Comunicazione S7 22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" 22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" Descrizione L'SFB/FB 9 "URCV" riceve in modo asincrono i dati da un SFB/FB partner remoto del tipo "USEND" e li copia nelle aree di ricezione progettate. Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è possibile interrompere un job in corso. S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di un job, è possibile assegnare ai parametri R_ID, ID e RD_1 nuovi valori. S7-400: le aree di ricezione vengono indirizzate dai parametri RD_1 ... RD_4. Occorre fare attenzione che le aree definite dai parametri RD_i/RD_1 e SD_i/SD_1 (nel relativo SFB/FB partner "USEND") coincidano per quanto riguarda: • numero • lunghezza • tipo di dati. Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa correttamente. Il parametro R_ID deve essere identico per entrambi gli FB. 376 Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive; segnala la disponibilità a ricevere quando l'ingresso è impostato. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. NDR OUTPUT BOOL E, A, M, D, L Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" Parametri Dichiarazione Tipo Area di memoria Descrizione ERROR OUTPUT OUTPUT BOOL E, A, M, D, L WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: STATUS ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. S7-300: IN_OUT ANY M, D, T, Z RD_1 S7-400: RD_i (1≤ i ≤4) E, A, M, D, T, Z Puntatore all'i - esima area di trasmissione: ammessi sono solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 Byte 10). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 377 Comunicazione S7 22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" Informazioni di errore ERROR STATUS (decimale) Spiegazione 0 9 Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di ricezione piú recenti. 0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB inon eseguibile su una • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Al richiamo dell'SFB/FB: 1 18 • è stato indicato un DB di istanza che non appartiene all'SFB "URCV" • è stato indicato un DB globale invece di un DB di istanza • non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nell'ID del collegamento • inoltre per S7-300: - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) 1 19 L'SFB/FB "USEND" corrispondente trasmette i dati più velocemente di quanto questi possano essere copiati nelle aree di ricezione dall'SFB/FB "URCV". 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: 1 378 CPU S7-400 27 - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" Coerenza dei dati I dati ricevuti sono coerenti se si osservano i criteri seguenti. S7-300: dopo che il parametro di stato NDR ha assunto il valore 1, deve essere richiamato immediatamente l'FB 9 "URCV" con il valore 0 su EN_R. Si garantisce così che l'area di ricezione non venga nuovamente sovrascritta prima di essere stata analizzata. Analizzare completamente l'area di ricezione RD_1 prima di richiamare nuovamente il blocco con il valore 1 sull'ingresso di comando EN_R). S7-400: dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di ricezione. Per evitare che ciò si verifichi, richiamare l'SFB 9 "URCV" con il valore 0 su EN_R finché (p. es. con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 379 Comunicazione S7 22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" 22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" Descrizione L'SFB/FB 12 "BSEND" trasmette dati ad un partner SFB/FB remoto di tipo "BRCV". Questo tipo di trasferimento dati consente il traferimento di una maggiore quantità di dati tra i partner di comunicazione rispetto a tutti gli altri SFB/FB di comunicazione per collegamenti S7 progettati. È possibile trasferire dati nella seguente quantità: • 32768 byte per S7-300 über SIMATIC-Net-CP • 65534 byte per S7-400 e S7-300 urmediante interfaccia integrata. L'area dati da trasmettere viene segmentata. Ogni segmento viene trasmesso singolarmente al partner. L'ultimo segmento viene confermato dal partner già la suo arrivo, indipendentemente dal relativo richiamo dell'SFB/FB "BRCV". S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri R_ID, ID, SD_1 e LEN. Al termine di un job, è possibile assegnare nuovi valori ai parametri R_ID, ID, SD_1 e LEN. Per la trasmissione di dati segmentati, il blocco deve essere richiamato ciclicamente nel programma utente. L'indirizzo iniziale e la lunghezza massima dei dati da trasmettere sono predefiniti da SD_1. La lunghezza del blocco dati si definisce per ogni job con il parametro LEN. S7-400 e S7-300 mediante interfaccia integrata: l'operazione di trasmissione viene attivata dopo il richiamo del blocco e la presenza di un fronte di salita all'ingresso di comando REQ. L'invio dei dati dalla memoria utente è asincrona rispetto all'elaborazione del programma utente. L'indirizzo iniziale dei dati da trasmettere è predefinito da SD_1. La lunghezza dei dati da trasmettere si può definire per ogni job tramite LEN. LEN sostituisce quindi la parte di lunghezza di SD_1. Il parametro R_ID deve essere identico in entrambi gli SFB/FB. Se all'ingresso di comando R è presente un fronte di salita, l'operazione di trasmissione in corso viene interrotta. Il parametro di stato DONE con 1 indica che l'operazione di trasmissione è stata portata a termine con successo. Il nuovo job di trasmissione può essere avviato solo dopo che è stata conclusa la trasmissione se i parametri di stato DONE o ERROR hanno assunto il valore 1. 380 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" A causa della trasmissione asincrona dei dati una nuova trasmissione di dati può essere avviata solo se i dati precedenti sono stati prelevati tramite il richiamo dell'SFB/FB partner. Finché non sono stati prelevati i dati, viene emesso il valore di stato 7 (vedi sotto) al richiamo dell'SFB/FB "BSEND". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita R INPUT BOOL E, A, M, D, L, cost. Reset parametro di comando: attiva l'interruzione dello scambio dati in corso in seguito ad un fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7. In caso di collegamento tramite CP441 con S5 o apparecchiature esterne, R_ID contiene le informazioni di indirizzamento del dispositivo remoto. Per informazioni più dettagliate vedere la descrizione di CP441. DONE OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. SD_1 IN_OUT ANY S7-300: M, D Puntatore sull'area di trasmissione. S7-400: E, A, M, D, T, Z Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) LEN IN_OUT WORD E, A, M, D, L Lunghezza in byte del blocco dati da trasmettere Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 381 Comunicazione S7 22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 12, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 • Problemi di comunicazione, p. es. descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB inon eseguibile su una • CPU S7-400 inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Conferma di acknowledge negativa dal partner SFB/FB. La funzione non può essere eseguita. 1 3 R_ID non è conosciuto nel collegamento di comunicazione definito da ID, oppure il blocco di ricezione non è stato ancora richiamato. 1 4 Errore nel puntatore dell'area di ricezione SD_1 riguardante la lunghezza o il tipo di dati, oppure al parametro LEN è stato passato il valore 0. 1 5 La richiesta di reset è stata eseguita. 1 6 L'SFB/FB partner si trova nello stato DISABLED (EN_R ha il valore 0). Verificare inoltre la coerenza dei parametri di ingresso del blocco BRCV rispetto al blocco BSEND. 1 7 L'SFB/FB partner si trova nello stato sbagliato Il blocco di ricezione non è stato più richiamato dopo l'ultimo trasferimento dati. 1 8 L'accesso all'oggetto remoto nella memoria utente è stato respinto. L'area di destinazione nel relativo SFB/FB 13 "BRCV" è troppo piccola. Nell'SFB/FB 13 "BRCV" viene segnalato ERROR = 1, STATUS = 4 o ERROR = 1, STATUS = 10. 1 10 1 12 1 18 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato). Per il richiamo dell'SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB 12 • è stato indicato un DB globale e non un DB di istanza. • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nel collegamento. • inoltre per S7-300: - 382 Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 27 S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo - Scarsità temporanea di memoria nel CP Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati Per garantire la coerenza dei dati la parte attualmente in uso dell'area di trasmissione SD_1 può essere scritta solo dopo che è stata conclusa l'operazione di trasmissione. Ciò avviene quando il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 383 Comunicazione S7 22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" 22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" Descrizione L'SFB/FB 13 "URCV" riceve i dati da un remoto SFB/FB partner del tipo "BSEND". Dopo ogni segmento di dati ricevuto, viene inviata una conferma all'SFB/FB partner il parametro LEN viene attualizzato. Il blocco è pronto a ricevere dopo il richiamo con il valore 1 all'ingresso di comando EN_R. Con EN_R=0 è possibile interrompere un job in corso. L'indirizzo iniziale e la lunghezza massima dell'area di ricezione vengono stabiliti da RD_1. La lunghezza del blocco dati viene definita da LEN. S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e RD_1. Per la trasmissione di dati segmentati, il blocco deve essere richiamato ciclicamente nel programma utente. S7-400 e S7-300 mediante interfaccia integrata: la ricezione dei dati dalla memoria utente avviene in modo asincrono rispetto all'elaborazione del programma utente. Il parametro R_ID deve essere identico in entrambi gli SFB/FB. Se la ricezione di tutti i segmenti di dati è avvenuta senza errori, il parametro di stato NDR indica il valore 1. I dati ricevuti rimangono immutati fino al richiamo successivo dell'SFB/FB 13 con EN_R=1. Se il blocco viene nuovamente richiamato durante la ricezione asincrona, viene emesso un messaggio di avviso al parametro di stato STATUS; se il richiamo ha luogo con il valore 0 all'ingresso di comando EN_R, l'operazione di ricezione viene interrotta e l'SFB/FB passa allo stato di base. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7. In caso di collegamento tramite CP441 con S5 o apparecchiature esterne, R_ID contiene le informazioni di indirizzamento del dispositivo remoto. Per informazioni più dettagliate vedere la descrizione di CP441. NDR 384 OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" Parametri Dichiarazione Tipo Area di memoria Descrizione ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. RD_1 IN_OUT ANY S7-300: M, D S7-400: E, A, M, D, T, Z Puntatore sull'area di ricezione. L'indicazione della lunghezza stabilisce la lunghezza massima del blocco da ricevere. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). LEN IN_OUT WORD E, A, M, D, L Lunghezza in byte dei dati finora ricevuti Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 385 Comunicazione S7 22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 13, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore. 0 17 Avviso: il blocco riceve dati in modo asincrono. Il parametro LEN mostra il numero dei dati ricevuti finora in byte. 0 25 S7-300: comunicazione avviata. Elaborazione del job in corso. 0 25 Ricezione di dati in corso. Il parametro LEN indica il numero di dati finora ricevuti in byte. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB inon eseguibile su una • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Funzione non eseguibile (errore di protocollo) 1 4 Errore nei puntatori dell'area di ricezione RD_1 riguardanti la lunghezza o il tipo di dati. Il blocco di dati trasmesso è più lungo dell'area di ricezione. 1 5 Richiesta di reset arrivata, trasferimento incompleto. 1 8 Errore di accesso all'SFB/FB 12 "BSEND". Dopo l'invio dell'ultimo segmento di dati valido vengono segnalati ERROR = 1 e STATUS = 4 oppure ERROR = 1 e STATUS = 10. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo di SFB/FB 1 18 • è stato indicato un DB di istanza che non appartiene all'SFB 13 • è stato indicato un DB globale al posto di un DB di istanza • non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nel collegamento. • inoltre per S7-300: - 386 CPU S7-400 le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 27 S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo - Scarsità temporanea di memoria nel CP Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati vengono ricevuti in modo coerente se si osserva il criterio seguente: analizzare completamente la parte attualmente in uso dell'area di ricezione RD_1 prima di richiamare di nuovo il blocco con il valore 1 sull'ingresso di comando EN_R. Caso particolare di ricezione dati (solo S7-400) Nel caso la CPU ricevente passa in stato di STOP con un blocco BRCV pronto alla ricezione (vale a dire è già avvenuto un richiamo con EN_R = 1) prima che il relativo blocco mittente abbia inviato il primo segmento dati di un job, avviene quanto segue: • i dati del primo job dopo la transizione della CPU ricevente allo stato STOP vengono introdotti integralmente nell'area di ricezione • l'SFB partner "BSEND" ne riceve conferma positiva • altri job BSEND non possono essere più accettati dalla CPU ricevente nello stato STOP • fin tanto che essa si trova nello stato STOP, NDR e LEN hanno valore 0. Affinché non vada persa l'informazione sui dati ricevuti, occorre eseguire un riavviamento della CPU ricevente e richiamare l'SFB 13 "BRCV" con EN_R = 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 387 Comunicazione S7 22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" 22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" Avvertenza Attualmente l'FB 28 "USEND_E" supporta solo collegamenti tramite l'interfaccia PN. Descrizione L'FB 28 "USEND_E" trasmette dati a un partner FB remoto del tipo "URCV_E". La trasmissione non è coordinata con l'FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei dati. La trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da trasmettere vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di trasmissione non devono essere tutti occupati. Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4 e da RD_1 a RD_4 (nel corrispondente FB partner "URCV_E") coincidano per quanto riguarda: • numero • lunghezza • tipo di dati. Il parametro R_ID deve essere identico per entrambi gli FB. Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa correttamente. 388 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. SD_i IN_OUT ANY E, A, M, D, T, Z (1≤ i ≤4) Puntatore all'i - esima area di trasmissione. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Informazioni di errore ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe di priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB non eseguibile su una CPU S7-400 • numero massimo di ordini/istanze paralleli superato 1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato). 1 12 Al richiamo dell'FB • è stato indicato un DB di istanza che non appartiene all'FB "USEND_E" • è stato indicato un DB globale e non un DB di istanza • è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 389 Comunicazione S7 22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" ERROR STATUS (decimale) Spiegazione 1 18 • R_ID esiste già nell'ID del collegamento. • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • Numero massimo di ordini/istanze paralleli superato • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • Possibile con il primo richiamo 1 1 20 27 Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati attraverso un'interfaccia integrata Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato DONE assume il valore 1. 390 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E" 22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E" Avvertenza Attualmente l'FB 29 "URCV_E" supporta solo collegamenti tramite l'interfaccia PN. Descrizione L'FB 29 "URCV_E" riceve in modo asincrono i dati da un FB partner remoto del tipo "USEND_E" e li copia nelle aree di ricezione progettate. Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è possibile interrompere un job in corso. Le aree di ricezione vengono indirizzate dai parametri RD_1, ... RD_4. Occorre fare attenzione che le aree definite dai parametri RD_i e SD_i (nel relativo FB partner "USEND_E") coincidano per quanto riguarda: • numero • lunghezza • tipo di dati. Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa correttamente. Il parametro R_ID deve essere identico per entrambi gli FB. Parametri Dichiaraz Tipo di ione dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L Parametro di comando enabled to receive; segnala la disponibilità a ricevere quando l'ingresso è impostato. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 391 Comunicazione S7 22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E" Parametri Dichiaraz Tipo di ione dati Area di memoria Descrizione ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. RD_i (1≤ i ≤4) IN_OUT ANY E, A, M, D, T, Z Puntatore all'i - esima area di trasmissione. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). 392 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E" Informazioni di errore ERROR STATUS (decimale) Spiegazione 0 9 Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di ricezione piú recenti. 0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB non eseguibile su una CPU S7-400 • numero massimo di ordini/istanze paralleli superato 1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato). 1 12 1 18 Al richiamo dell'FB • è stato indicato un DB di istanza che non appartiene all'FB "URCV_E" • è stato indicato un DB globale e non un DB di istanza • non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nell'ID del collegamento • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) 1 19 L'FB "USEND_E" corrispondente trasmette i dati più velocemente di quanto questi possano essere copiati nelle aree di ricezione dall'FB "URCV_E". 1 20 • Numero massimo di ordini/istanze paralleli superato • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • Possibile con il primo richiamo 1 27 Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati ricevuti sono coerenti se si osservano i criteri seguenti. Dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di ricezione. Per evitare che ciò si verifichi, richiamare l'FB 29 "URCV_E" con il valore 0 su EN_R finché (p. es. con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 393 Comunicazione S7 22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E" 22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E" Avvertenza Attualmente l'FB 34 "GET_E" supporta solo collegamenti tramite l'interfaccia PN. Descrizione L'FB 34 "GET_E" consente di leggere i dati di una CPU remota. In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner. Il partner remoto ritrasmette i contenuti dei dati. Al successivo richiamo dell'FB i dati ricevuti vengono copiati nelle aree di ricezione progettate (RD_i). È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per numero, lunghezza e tipo di dati. Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR. L'operazione di lettura può essere riattivata solo al termine della lettura precedente. La CPU remota può trovarsi in stato di funzionamento RUN o STOP. Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS. Parametri Dichiaraz Tipo di ione dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 394 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E" Parametri Dichiaraz Tipo di ione dati ADDR_i IN_OUT ANY (1≤ i ≤4) Area di memoria Descrizione S7-400: Puntatori sulle aree della CPU partner che devono essere lette. E, A, M, D, T, Z RD_i IN_OUT ANY E, A, M, D, T, Z (1≤ i ≤4) Puntatori sulle aree della CPU utente in cui vengono memorizzati i dati letti. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 34 che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe di priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB non eseguibile su una CPU S7-400 • numero massimo di ordini/istanze paralleli superato. 1 2 Conferma negativa del dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 8 Errore di accesso nella CPU partner. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato). 1 12 Al richiamo dell'FB • è stato indicato un DB di istanza che non appartiene all'FB 34 • è stato indicato un DB globale e non un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 395 Comunicazione S7 22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E" ERROR STATUS (decimale) Spiegazione 1 20 • Numero massimo di ordini/istanze paralleli superato • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • Possibile con il primo richiamo 1 27 Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati ricevuti sono coerenti se si osserva quanto segue. Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un nuovo job. 396 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" 22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" Avvertenza Attualmente l'FB 35 "PUT_E" supporta solo collegamenti tramite l'interfaccia PN. Descrizione L'FB 35 "PUT_E" consente di scrivere dati in una CPU remota. In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori sulle aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner. Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione avvenuta. Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per numero, lunghezza e tipo di dati. Se non si sono verificati errori, al successivo richiamo dell'FB il parametro di stato DONE indica 1. L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente. La CPU remota può trovarsi in stato di funzionamento RUN o STOP. Se si verificano problemi di accesso durante la scrittura dei dati o se viene rilevato un errore durante il controllo della conferma di esecuzione, vengono segnalati errori o avvisi nei parametri ERROR e STATUS. Parametri Dichiaraz Tipo di ione dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in corso 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 397 Comunicazione S7 22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" Parametri Dichiaraz Tipo di ione dati Area di memoria Descrizione ADDR_i IN_OUT ANY E, A, M, D, T, Z Puntatore sulle aree da scrivere nella CPU partner. IN_OUT ANY E, A, M, D, T, Z Puntatori sulle aree della CPU utente che contengono i dati da inviare. (1≤ i ≤4) SD_i (1≤ i ≤4) Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). 398 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 35 che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe di priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB non eseguibile su una CPU S7-400 • numero massimo di ordini/istanze paralleli superato. 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo di dati 1 8 Errore di accesso nella CPU partner 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Al richiamo dell'FB 1 1 20 27 • è stato indicato un DB di istanza che non appartiene all'FB 35 • è stato indicato un DB globale e non un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • Numero massimo di ordini/istanze paralleli superato • Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati attraverso un'interfaccia integrata Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 399 Comunicazione S7 22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" 22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" Descrizione Con l'SFB/FB 15 "PUT" è possibile scrivere dati in una CPU remota. S7-300: l'operazione di trasmissione avviene dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri ID, ADDR_1 e SD_1. Al termine di un job è possibile assegnare nuovi valori ai parametri ID, ADDR_1 e SD_1. S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB viene avviato e i puntatori sulle aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner. Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione avvenuta. Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per numero, lunghezza e tipo di dati. La conferma di esecuzione viene analizzata e, se non si sono verificati errori, al successivo richiamo dell'SFB/FB il parametro di stato DONE indica 1. L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente. La CPU remota può trovarsi in stato di funzionamento RUN o STOP. Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in corso 1: Job concluso senza errori Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 400 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT ANY M, D Puntatore sulle aree da scrivere nella CPU partner. ADDR_1 E, A, M, D, T, Z S7-400: ADDR_i (1≤ i ≤4) S7-300: IN_OUT ANY SD_1 S7-300: M, D S7-400: S7-400: SD_i E, A, M, D, T, Z (1≤ i ≤4) Puntatori sulle aree della CPU utente che contengono i dati da inviare. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 401 Comunicazione S7 22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 15 che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB inon eseguibile su una • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore nei puntatori dell'area di ricezione SD_i riguardanti la lunghezza o il tipo di dati. 1 8 Errore di accesso nella CPU partner 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 20 Al richiamo dell'SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB/FB 15 • è stato indicato un DB globale e non un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 402 CPU S7-400 27 S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" Coerenza dei dati nelle S7-300: Per garantire la coerenza dei dati, è possibile riscrivere l'area di trasmissione SD_1 solo dopo che è stata conclusa l'attuale procedura di trasmissione, quando cioè il parametro di stato DONE assume il valore 1. Coerenza dei dati nelle S7-400 e S7-300 mediante interfaccia integrata: Quando si attiva un'operazione di trasmissione (fronte di salita a REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera trasmissione può considerarsi conlcusa il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 403 Comunicazione S7 22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" 22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" Descrizione Con l'SFB/FB 14 "GET" si possono leggere i dati di una CPU remota. S7-300: l'operazione di lettura ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri ID, ADDR_1 e RD_1. Al termine di un job è possibile assegnare nuovi valori ai parametri ADDR_1 e RD_1. S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB/FB viene avviato e i puntatori rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner. Il partner remoto ritrasmette i contenuti dei dati. Al successivo richiamo dell'SFB/FB i dati ricevuti vengono copiati nelle aree di ricezione progettate (RD_i). È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per numero, lunghezza e tipo di dati. Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR. L'operazione di lettura può essere riattivata solo al termine della lettura precedente. Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 404 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT S7-300: Puntatori sulle aree della CPU partner che devono essere lette. ANY ADDR_1 M, D S7-400: S7-400: ADDR_i E, A, M, D, T, Z (1≤ i ≤4) S7-300: IN_OUT ANY RD_1 S7-300: M, D S7-400: S7-400: RD_i E, A, M, D, T, Z (1≤ i ≤4) Puntatori sulle aree della CPU utente in cui vengono memorizzati i dati letti. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 405 Comunicazione S7 22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 14 che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. • Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • FB inon eseguibile su una • inoltre per S7-300: - CPU S7-400 numero massimo di ordini/istanze paralleli superato 1 2 Non è possibile eseguire la funzione. 1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 8 Errore di accesso nella CPU partner. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Al richiamo dell'SFB/FB 1 1 20 27 • è stato indicato un DB di istanza che non appartiene all'SFB 14 • è stato indicato un DB globale e non un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati ricevuti sono coerenti se si osserva quanto segue. Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un nuovo job. 406 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Descrizione Con l'aiuto dell'SFB 16 "PRINT" è possibile trasmettere dati con un'informazione per la formattazione ad una stampante remota. Se all'ingresso di comando REQ è presente un fronte di salita, la descrizione di formato (FORMAT) e i dati (SD_i) vengono trasmessi alla stampante selezionata tramite ID e PRN_NR. Se non vengono utilizzate tutte e quattro le aree di trasmissione, si deve fare attenzione che la prima area venga scritta dal parametro SD_1, la seconda (se disponibile) da SD_2 e la terza (se disponibile) da SD_3. Se il job è stato eseguito con successo il parametro di stato DONE visualizza 1, mentre eventuali errori vengono visualizzati tramite i parametri di stato ERROR e STATUS. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PRN_NR IN_OUT BYTE FORMAT IN_OUT STRING E, A, M, D, L Descrizione formato SD_i IN_OUT ANY Puntatore all'i - esima area di trasmissione (1≤ i ≤4) E, A, M, D. L M, D, T, Z Numero stampante Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: p# DB10.DBX5.0 byte 10). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 407 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Parametro di transito FORMAT La stringa di caratteri FORMAT contiene caratteri da stampare e elementi di formato. Essa ha la seguente struttura: Caratteri Istruzione di conversione Istruzione di comando Per ogni area di trasmissione da stampare, da SD_1 a SD_4, deve essere disponibile in FORMAT un'istruzione di conversione. Le istruzioni di conversione vengono applicate alle aree di trasmissione SD_i in base alla loro successione. Caratteri e istruzioni possono invece susseguirsi a piacere. • Caratteri Sono ammessi • - tutti i caratteri stampabili - $$ (carattere per dollari), $' (virgoletta semplice), - $L e $l (line feed), $P e $p (page), $R e $r (carriage return), - $T e $t (tabulatore) Istruzioni di conversione % 408 Flag Ampiezza . Precisione Modo di rappresentazione Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Elementi di una istruzione di conversione Significato Flag • Senza: emissione con allineamento a destra • -: emissione con allineamento a sinistra • senza: emissione nella rappresentazione standard • n: vengono emessi esattamente n caratteri. Ampiezza Nell'emissione con allineamento a destra eventualmente vengono collocati prima dei caratteri vuoti; nell'emissione con allineamento a sinistra questi vengono collocati dopo Precisione La precisione è di rilievo solo nei modi di rappresentazione A, D, F, e R (vedi tabella seguente). Modo di rappresentazione senza: emissione nella rappresentazione standard 0: nessuna emissione del punto di decimale e della cifra decimale nei modi di rappresentazione F e R n: • in F e R: emissione del punto di decimale e di n cifre decimali • in A e D (data): numero dei posti per la data. Valori possibili: 2 e 4. La tabella seguente contiene: • i modi di rappresentazione possibili • per ogni modo di rappresentazione i tipi di dati possibili • per ogni tipo di rappresentazione la rappresentazione standard (l'emissione della stampante avviene nella rappresentazione standard, se nel parametro FORMAT non sono stati indicati né ampiezza né precisione) e nella sua lunghezza massima. La tabella sottostante indica i tipi di rappresentazione possibili nelle istruzioni di conversione del parametro FORMAT Rappresentazione Possibili tipi di dati A, a DATE Esempio Lunghezza Osservazioni 25.07.1996 10 - K 1 - DWORD C, c CHAR BYTE M 1 WORD KL 2 DWORD KLMN 4 ARRAY of CHAR KLMNOP Numero carattteri 1996-07-25 10 - 0.345678 8 - ARRAY of BYTE D, d DATE F, f REAL DWORD DWORD Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 409 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Rappresentazione Possibili tipi di dati Esempio Lunghezza Osservazioni H, h Tutti i tipi di dati incl. ARRAY of BYTE In funzione del tipo di dati In funzione del tipo di dati Rappresentazione esadecimale I, i INT - 32 768 max. 6 - WORD - 2 147 483 648 max. 11 N, n WORD emissione testo - L'area di trasmissione relativa SD_i contiene un riferimento (numero) ad un testo da stampare. Il testo è posto sull'unità (p. es. CPU 441) che genera una stringa di caratteri stampabili. Se sotto il numero indicato non viene trovato alcun testo, viene emesso ******. R, r REAL 0.12E-04 8 - DWORD S, s STRING emissione testo - T, t TIME 2d_3h_10m_5s_25 max. 21 0ms In caso di errori viene emesso 255 max. 3 - WORD 65 535 max. 5 DWORD 4 294 967 295 max. 10 BOOL 1 1 BYTE 101 .. 8 WORD 101 .. 16 DWORD 101 .. 32 TIME_OF_DAY (TOD) 15:38:59.874 12 DWORD U, u X, x Z, z BYTE - - Nella tabella, nei punti in cui viene indicata la lunghezza massima della rappresentazione standard, l'effettiva emissione può anche essere più corta. Avvertenza Nei tipi di dati C e S dipende dalla stampante collegata 410 • quali dati possono essere stampati • ciò che la stampante emette nel caso di caratteri non stampabili, a meno che il driver stampante non contenga una tabella di trasformazione per questi caratteri. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" • Istruzione di comando Con l'aiuto delle istruzioni di comando potete: \ - stampare i caratteri % e \ - modificare le impostazioni della stampante Emissione del carattere % Emissione del carattere \ attivare disattivare % \ Grassetto b - B Scrittura ridotta c Scrittura espansa e E corsivo i I maiuscoletto k K sottolineato u Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 411 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Quando viene richiesta la disattivazione di un tipo di carattere sebbene questo non sia mai stato attivato, o quando deve essere eseguita una funzione che la stampante non conosce, l'istruzione di comando viene ignorata. Errore Emissione stampante Istruzione di conversione non eseguibile Emissione di caratteri * in base alla lunghezza (massima) della rappresentazione standard o all'ampiezza indicata. Ampiezza indicata non sufficiente 412 Nei modi di rappresentazione A, C, D, N, S, T, Z vengono emessi tanti caratteri quanti ne prevede l'ampiezza indicata. In tutti gli altri modi di rappresentazione vengono emessi caratteri * in base all'ampiezza indicata. Troppe istruzioni di conversione Le istruzioni di conversione a cui non appartiene alcun puntatore dell'area di trasmissione SD_i, vengono ignorate. Insufficienti istruzioni di conversione Le aree di trasmissione per le quali non è presente alcuna istruzione di conversione non vengono emesse Istruzioni di conversione non definite o non sopportate Viene emesso ****** Istruzioni di conversione incomplete Viene emesso ****** Istruzioni di comando non definite o non sopportate Le istruzioni di comando che non corrispondono alla sintassi della figura sopra vengono ignorate Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 16 "PRINT" che possono essere emesse tramite i parametri ERROR e STATUS ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dalla stampante. Non è possibile eseguire la funzione. 1 3 PRN_NR non è conosciuto sul collegamento di comunicazione assegnato tramite ID. 1 4 Errore nel parametro di transito FORMAT o nei puntatori dell'area di trasmissione SD_i relativo alla lunghezza o al tipo di dati. 1 6 La stampante remota si trova nello stato OFFLINE. 1 7 La stampante remota si trova in uno stato errato (p. es. Papier out) 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 13 Errore nel parametro di transito FORMAT 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Numero del dati da trasmettere Il numero dei dati da trasmettere ad una stampante remota non deve superare una lunghezza massima. Questa lunghezza dati massima in byte viene calcolata nel modo seguente: maxleng = 420 - format Con format si intende la lunghezza attuale del parametro FORMAT in byte. È irrilevante se i dati da stampare vengono divisi su una o più aree di trasmissione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 413 Comunicazione S7 22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" 22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" Descrizione Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 19 "START" attiva un nuovo avviamento (avviamento a caldo) o avviamento a freddo nel dispositivo remoto indirizzato tramite ID. Se il dispositivo remoto è un sistema H, l'effetto del job di avvio dipende dal parametro PI_NAME: il job di avvio riguarda o solamente un'unica CPU o tutte le CPU del sistema H. I seguenti presupposti devono essere soddisfatti (se il dispositivo remoto è una CPU): • la CPU deve trovarsi nello stato STOP • l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P". Al termine del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, il dispositivo passa allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con la valutazione della conferma positiva viene impostato a 1 il parametro di stato DONE. Eventuali errori vengono indicati dai parametri di stato ERROR e STATUS. Un nuovo avviamento (avviamento a caldo) o avviamento a freddo dello stesso dispositivo può essere attivato solo dopo che l'ultima attivazione si è conclusa. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 414 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" Parametri Dichiarazione Tipo Area di memoria Descrizione PI_NAME IN_OUT E, A, M, D, T, Z Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da avviare. Il nome deve essere costituito da max. 32 caratteri. ANY In un sistema standard della serie S7 il nome deve essere P_PROGRAM. In un sistema H sono possibili i seguenti nomi: ARG IO_STATE IN_OUT IN_OUT ANY BYTE E, A, M, D, T, Z E, A, M, D, L • P_PROGRAM (il job di avvio vale per tutte le CPU del sistema H) • P_PROG_0 (il job di avvio vale per la CPU nel telaio di montaggio 0 del sistema H) • P_PROG_1 (il job di avvio vale per la CPU nel telaio di montaggio 1 del sistema H) Spiegazione. • Se non viene assegnato alcun valore ad ARG, nel dispositivo remoto viene eseguito un nuovo avviamento (avviamento a caldo). • Assegnando il valore "C", nel dispositivo remoto viene eseguito un avviamento a freddo (se il dispositivo remoto conosce questo tipo di avviamento). Attualmente non rilevante. Al momento non può essere assegnato alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 415 Comunicazione S7 22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 19, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 1 Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 3 Il nome di programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nei puntatori PI_NAME o ARG relativi alla lunghezza o al tipo di dati. 1 7 Nel dispositivo partner non è possibile eseguire alcun nuovo avviamento. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 1 416 Spiegazione 20 27 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 19 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" 22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" Descrizione Con un fronte di salita all'ingresso di comando REQ, l'SFB 20 "STOP" attiva il passaggio del dispositivo remoto indirizzato tramite ID nello stato di funzionamento STOP. Il passaggio dello stato di funzionamento è possibile se il dispositivo si trova in uno degli stati di funzionamento RUN, ALT o AVVIAMENTO. Se il dispositivo remoto è un sistema H, il job di STOP ha validità per tutte le CPU del sistema H. Se il job è stato portato a termine con successo, il parametro di stato DONE indica 1; eventuali errori vengono emessi dai parametri di stato ERROR e STATUS. Un'ulteriore esecuzione del passaggio di stato di funzionamento descritto all'interno dello stesso dispositivo remoto è possibile solo se l'avvio precedente dell'SFB 20 è terminato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 417 Comunicazione S7 22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" Parametri Dichiarazione Tipo Area di memoria Descrizione PI_NAME IN_OUT E, A, M, D Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da arrestare. Il nome deve essere costituito da max. 32 caratteri. ANY In un sistema standard della serie S7 il nome deve essere P_PROGRAM. In un sistema H sono possibili i seguenti nomi: IO_STATE IN_OUT 418 BYTE E, A, M, D, L • P_PROGRAM (il job di avvio vale per tutte le CPU del sistema H) • P_PROGR_0 (il job di avvio vale per la CPU nel telaio di montaggio 0 del sistema H) • P_PROGR_1 (il job di avvio vale per la CPU nel telaio di montaggio 1 del sistema H). Attualmente non rilevante. Al momento non può essere assegnato alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 20, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nel puntatore PI_NAME relativo alla lunghezza e al tipo di dati. 1 7 Il dispositivo partner già si trova nello stato STOP. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo dell'SFB è stato indicato 1 1 20 27 • un DB di istanza che non appartiene all'SFB 20 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 419 Comunicazione S7 22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME" 22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME" Descrizione Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 21 "RESUME" attiva un riavviamento nel dispositivo remoto selezionato tramite ID. I seguenti presupposti devono essere soddisfatti se il dispositivo remoto è una CPU: • la CPU deve trovarsi nello stato STOP • l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P" • si deve aver reso possibile il riavviamento manuale nella progettazione con STEP 7 • non devono essere presenti ostacoli al riavviamento. Dopo che il dispositivo ha eseguito il riavviamento, passa allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con l'analisi della conferma positiva, il parametro di stato DONE viene impostato a 1. Eventuali errori verificatisi vengono visualizzati con i parametri di stato ERROR e STATUS. Un ulteriore riavviamento dello stesso dispositivo remoto è possibile solo se l'avvio precedente è terminato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PI_NAME IN_OUT ANY E, A, M, D Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da avviare. Il nome deve essere costituito da max. 32 caratteri. In un sistema standard della serie S7 il nome deve essere P_PROGRAM. 420 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME" Parametri Dichiarazione Tipo Area di memoria Descrizione ARG IN_OUT ANY E, A, M, D, T, Z Argomento di esecuzione. Attualmente non rilevante. Al momento non si può assegnare alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. IO_STATE IN_OUT BYTE E, A, M, D, L Attualmente non rilevante. Al momento non si può attribuire nessun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 21, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene attualmente elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dal dispositivo partner: non è possibile eseguire la funzione. 1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nel puntatore PI_NAME o ARG relativo alla lunghezza e al tipo di dati. 1 7 Il dispositivo partner non si trova nello stato STOP. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 1 20 27 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 21 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 421 Comunicazione S7 22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS" 22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS" Descrizione Con l'ausilio dell'SFB 22 "STATUS" è possibile interrogare lo stato di un dispositivo partner remoto di comunicazione. Con un fronte di salita all'ingresso di comando REQ viene trasmesso un job al partner remoto. La risposta viene quindi analizzata per verificare se ci sono stati errori. Se non si sono verificati errori, lo stato ricevuto viene copiato con il prossimo richiamo dell'SFB nelle variabili PHYS, LOG e LOCAL. Una volta terminata questa operazione, il parametro di stato NDR indica 1. La possibilità di effettuare un'ulteriore interrogazione dello stesso partner di comunicazione è data solo al termine dell'interrogazione precedente. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PHYS IN_OUT ANY E, A, M, D Stato fisico (lunghezza minima: un byte) Valori possibili: LOG IN_OUT ANY E, A, M, D • 10H piena funzionalità • 13H necessità di manutenzione Stato logico (lunghezza minima: un byte) Valore possibile: • LOCAL 422 IN_OUT ANY E, A, M, D 00H cambio di stato ammesso Stato di funzionamento se il dispositivo partner è una CPU S7 (lunghezza minima: due byte) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS" Parametro di transito LOCAL Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per lo stato di funzionamento. Stato di funzionamento Identificazione corrispondente STOP Nuovo avviamento RUN Riavviamento ALT Avviamento a freddo RUN (stato del sistema H: ridondante) ACCOPPIAMENTO AGGIORNAMENTO 00H 01H 02H 03H 04H 06H 09H 0BH 0CH Informazioni di errore La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 22 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato • Il job viene già elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. 1 • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati. 1 8 L'accesso all'oggetto remoto è stato respinto. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 20 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 22 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza nel PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. 1 27 Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 423 Comunicazione S7 22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" 22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" Descrizione L'SFB 23 "USTATUS" riceve il cambiamento di stato di un dispositivo remoto partner della comunicazione; quest'ultimo invia senza essere stato sollecitato il proprio stato in caso di un cambio di questo se è la progettazione è avvenuta con STEP 7. Se al momento del richiamo, l'ingresso di comando EN_R indica 1 e sussiste un telegramma da parte del partner, con il prossimo richiamo dell'SFB viene depositata l'informazione di stato nelle variabili PHYS, LOG e LOCAL. Al termine di tale operazione, il parametro di stato NDR indica 1. Sul collegamento utilizzato da USTATUS, l'invio di messaggi sullo stato di funzionamento deve essere abilitato. Avvertenza Per ogni collegamento è possibile collocare solo una istanza dell'SFB 23. Parametri 424 Parametri Dichiarazione Tipo Area di memoria EN_R INPUT BOOL ID INPUT E, A, M, D, L, cost. WORD M, D, cost. NDR OUTPUT BOOL ERROR STATUS OUTPUT OUTPUT BOOL E, A, M, D, L WORD E, A, M, D, L PHYS IN_OUT ANY E, A, M, D LOG IN_OUT ANY E, A, M, D LOCAL IN_OUT ANY E, A, M, D E, A, M, D, L Descrizione Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS, indicazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso né errore 0000H: avviso, STATUS fornisce informazioni dettagliate. ERROR=1 È presente un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Stato fisico (lunghezza minima: un byte) Valori possibili: • 10H piena funzionalità • 13H necessità di manutenzione Stato logico (lunghezza minima: un byte) Valore possibile: • 00H cambio di stato ammesso Stato di funzionamento se il dispositivo partner è una CPU S7 (lunghezza minima: due byte) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" Parametro di transito LOCAL Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per lo stato di funzionamento. Stato di funzionamento Identificazione corrispondente STOP 00H Nuovo avviamento 01H RUN 02H Riavviamento 03H ALT 04H Avviamento a freddo 06H RUN (stato del sistema H: ridondante) 09H ACCOPPIAMENTO 0BH AGGIORNAMENTO 0CH Informazioni di errore La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 23 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 9 Messaggio di avviso overrun: il vecchio stato del dispositivo è stato sovrascritto da un nuovo stato. 0 11 I dati in ingresso vengono già elaborati in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 23 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) 1 18 Per il collegamento indicato con l'ID esiste già una istanza per l'SFB 23 "USTATUS". 1 19 La CPU remota trasmette dati più velocemente di quanto l'SFB possa accoglierli nel programma utente. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 425 Comunicazione S7 22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • Per questo blocco non esiste un codice funzione nella CPU. 1 426 27 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" 22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" Descrizione Con la SFC 62 "CONTROL" è possibile rilevare nelle S7-400 lo stato del collegamento appartenente ad un'istanza SFB di comunicazione locale. Dopo il richiamo della funzione di sistema con il valore 1 all'ingresso di comando EN_R viene rilevato lo stato momentaneo di quel collegamento che appartiene all'istanza SFB di comunicazione selezionata tramite I_DB. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. I_DB INPUT WORD E, A, M, D, L, cost. Numero del DB di istanza OFFSET INPUT WORD E, A, M, D, L, cost. Offset del record di dati in byte nel DB di multiistanza (se non c'è un DB di multiistanza, indicare 0). RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. I_TYP OUTPUT BYTE E, A, M, D, L Identificazione per il tipo di blocco che appartiene all'istanza selezionata I_STATE OUTPUT BYTE E, A, M, D, L • = 0: la corrispondente istanza di SFB non è ancora stata richiamata dall'ultimo avviamento a freddo, nuovo avviamento (a caldo) o caricamento. • <> 0: la corrispondente istanza di SFB è stata richiamata almeno una volta dall'ultimo avviamento a freddo, nuovo avviamento (a caldo) o caricamento. I_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente. Valori possibili: I_STATUS OUTPUT WORD E, A, M, D, L • 0: collegamento interrotto o non instaurato • 1: collegamento attivo Parametro di stato STATUS dell'istanza SFB di comunicazione interrogata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 427 Comunicazione S7 22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" Parametro di uscita I_TYP La tabella seguente spiega quale identificazione appartiene a quale tipo SFB. Tipo SFB Identificazione (W#16#...) USEND 428 00 URCV 01 BSEND 04 BRCV 05 GET 06 PUT 07 PRINT 08 START 0B STOP 0C RESUME 0D STATUS 0E USTATUS 0F ALARM 15 ALARM_8 16 ALARM_8P 17 NOTIFY 18 AR_SEND 19 NOTIFY_8P 1A (nessun SFB disponibile; I_DB o OFFSET errati) FF Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" Informazioni di errore Il parametro di uscita RET_VAL può assumere con la SFC 62 "CONTROL" i due valori seguenti: • 0000H: non si sono verificati errori durante l'esecuzione della SFC. • 8000H: si è verificato un errore durante l'esecuzione della SFC. Avvertenza Anche quando viene visualizzato il valore 0000H nel parametro di uscita RET_VAL, è necessario valutare i parametri di uscita ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 1 10 Non è possibile accedere alla memoria utente locale (p. es.: è stato indicato un byte di merker come parametro attuale I_TYP che però non esiste nella CPU utilizzata.) 1 12 Al numero indicato da I_DB • non corrisponde un DB di istanza ma un DB globale, • non corrisponde alcun DB o l'istanza è guasta. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 429 Comunicazione S7 22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" 22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" Descrizione Con la FC 62 "C_CNTRL" si determina lo stato di un collegamento nelle S7-300. Dopo il richiamo della funzione di sistema con il valore 1 sull'ingresso di comando EN_R viene determinato lo stato attuale del collegamento indirizzato tramite ID. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive. Segnala la pronta ricezione quando è impostato l'ingresso ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS; segnalazione di errore: ERROR=0 e STATUS hanno il valore: 0000H: né avviso, né errore <> 0000H: avviso; STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore C_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente. Valori possibili: C_STATUS 430 OUTPUT WORD E, A, M, D, L • 0: collegamento interrotto o non creato • 1: collegamento disponibile Stato del collegamento: • W#16#0000: collegamento non impostato • W#16#0001: impostazione del collegamento in corso • W#16#0002: collegamento impostato • W#16#000F: mancano dati per lo stato del collegamento (p. es. avviamento del CP) • W#16#00FF: collegamento non progettato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione S7 22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" Informazioni sugli errori Il parametro di uscita RET_VAL può assumere i due valori seguenti con la FC 62 "C_CNTRL": • 0000H: durante l'esecuzione della FC non si sono verificati errori • 8000H: durante l'esecuzione della FC si èm verificato un errore Avvertenza I parametri di uscita ERROR e STATUS vanno analizzati anche quando nel parametro di uscita RET_VAL viene visualizzato il valore 0000H. ERROR STATUS (decimale) Spiegazione 1 10 Errore di accesso al CP a causa di un altro job in corso. Ripetere il job in un secondo tempo 1 27 Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 431 Comunicazione S7 22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 Per un funzionamento corretto e senza problemi, gli SFB/FB di comunicazione S7 richiedono generalmente un'area di memoria intermedia dipendente dai dati utili nella memoria di lavoro della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente. Blocco S7-300 Fabbisogno di memoria di lavoro in byte FB 8 USEND Blocco: 4583 byte, istanza: 368 byte FB 9 URCV Blocco: 4880 byte, istanza: 370 byte FB 12 BSEND Blocco: 5284 byte, istanza: 372 byte FB 13 BRCV Blocco: 5258 byte, istanza: 374 byte FB 14 GET Blocco: 4888 byte, istanza: 336 byte FB 15 PUT Blocco: 4736 byte, istanza: 384 byte FB 28 USEND_E Blocco: 5708 byte, istanza: 522 byte FB 29 URCV_E Blocco: 6440 byte, istanza: 524 byte FB 34 GET_E Blocco: 6300 byte, istanza: 636 byte FB 35 PUT_E Blocco: 6184 byte, istanza: 634 byte FC 62 C_CNTRL Blocco: 546 byte Avvertenza sul comportamento in caso di interruzione Nella S7-300, i blocchi di comunicazione SIMATIC_NET si possono richiamare solo in una classe di priorità. 432 Blocco S7-400 Fabbisogno di memoria di lavoro in byte SFB 8/ USEND/ SFB 9 URCV 68 + lunghezza dei dati utili indicati a SD_1,... SD_4/RD_1,... RD_4 con il primo richiamo SFB 12/ BSEND/ 54 SFB 13 BRCV SFB 14 GET 88 + lunghezza dei dati utili indicati a RD_1,... RD_4 con il primo richiamo SFB 15 PUT 108 + lunghezza dei dati utili indicati a SD_1,... SD_4 con il primo richiamo SFB 16 PRINT 78 + lunghezza indicata in FORMAT + lunghezza dei primi dati utili specificati al primo richiamo in SD_1,... SD_4 SFB 19 START 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e ARG SFB 20 STOP 48+ lunghezza del parametro specificato al primo richiamo in PI_NAME SFB 21 RESUME 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e ARG SFB 22 STATUS 50 SFB 23 USTATUS 50 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 23 Comunicazione di base S7 23.1 Parametri comuni delle SFC di comunicazione di base S7 Parametro di ingresso REQ Il parametro di ingresso REQ (request to activate) è un parametro di comando avviato dal livello. Serve ad avviare il job (il trasferimento dati oppure l'annullamento del collegamento): • Quando si richiama la SFC relativa ad un job temporaneamente non attivato, con REQ=1 il job viene avviato. Se al momento del primo richiamo di una SFC non sussiste ancora alcun collegamento al partner di comunicazione, tale collegamento viene creato prima che inizi il trasferimento dati. • Quando si è avviato un job ed esso non è ancora terminato e si richiama nuovamente la SFC per lo stesso job, REQ non viene analizzato dalla SFC. Parametro di ingresso REQ_ID (solo in SFC65 e SFC66) Il parametro di ingresso REQ_ID viene utilizzato per identificare i dati di trasmissione e viene trasmesso dal sistema operativo della CPU mittente alla SFC 66 "X_RCV" della CPU del partner di comunicazione. Sul lato del ricevente serve il parametro REQ_ID: • se su una CPU mittente si richiamano più SFC 65 "X_SEND" con diversi parametri REQ_ID e si trasferiscono i dati ad un partner di comunicazione • se si trasferiscono dati ad un partner di comunicazione da più CPU mittente con l'aiuto della 65 "X_SEND". Mediante la valutazione di REQ_ID si possono depositare i dati di ricezione in diverse aree di ricezione. Parametri di uscita RET_VAL e BUSY Le SFC di comunicazione di base S7 sono SFC con funzionamento asincrono, ossia lo svolgimento di un job si protrae per più richiami di SFC. Mediante i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 433 Comunicazione di base S7 23.1 Parametri comuni delle SFC di comunicazione di base S7 Parametro di ingresso CONT Il parametro di ingresso CONT (continue) è un parametro di comando. Con esso si determina se il collegamento al partner di comunicazione debba essere mantenuto al termine del job. • Se al primo richiamo si sceglie CONT=0, il collegamento viene un'altra volta disattivato al termine del trasferimento dati. Esso sarà poi nuovamente disponibile per lo scambio dati con un nuovo partner di comunicazione. In questo modo si assicura che vengano occupate solo quelle risorse di collegamento attualmente necessarie. • Se al primo richiamo si sceglie CONT=1, il collegamento viene mantenuto anche dopo che il trasferimento dati è terminato. Questo modo di procedere si propone, per esempio, quando si scambiano dati ciclicamente tra due stazioni. Avvertenza Un collegamento creato mediante CONT=1 può anche essere annullato esplicitamente con la SFC 69 "X_ABORT" o con la SFC 74 "I_ABORT". 434 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati 23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati Informazioni di errore Le "vere" informazioni di errore per le SFC dalla 65 alla 74 riportate, tra le altre, nella tabella seguente si possono classificare come segue: Codice errore(W#16# ...) Spiegazione 809x Errore sulla CPU, sulla quale è in esecuzione la SFC 80Ax Errore di comunicazione permanente 80Bx Errore nel partner di comunicazione 80Cx Errore temporaneo Informazioni specifiche per le SFC da 65 a 74: Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 0000 L'elaborazione è stata conclusa senza errori. SFC 69 "X_ABORT" e SFC 74 "I_ABORT": REQ=1, e il collegamento indicato non è creato. SFC 66 "X_RCV":EN_DT=1 e RD=NIL 00xy - SFC 66 "X_RCV" con NDA=1 e RD<>NIL:RET_VAL contiene la lunghezza del blocco dati ricevuto (con EN_DT=0) oppure copiato in RD (con EN_DT=1). SFC 67 "X_GET": RET_VAL contiene la lunghezza del blocco dati ricevuto. SFC 72 "I_GET":RET_VAL contiene la lunghezza del blocco dati ricevuto. 7000 - SFC 65 "X_SEND", SFC 67 "X_GET", SFC 68 "X_PUT"; SFC 69 "X_ABORT", SFC 72 "I_GET", SFC 73 "I_PUT" e SFC 74 "I_ABORT": richiamo con REQ = 0 (richiamo senza elaborazione). BUSY ha il valore 0, non c'è alcun trasferimento dati attivo. SFC 66 "X_RCV": EN_DT=0/1 e NDA=0 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. - 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. SFC 69 "X_ABORT" e SFC 74 "I_ABORT": Richiamo intermedio con REQ=1 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 435 Comunicazione di base S7 23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 8090 L'indirizzo di destinazione indicato del partner di comunicazione non è valido, p. es. - 8092 • IOID errato • presenza indirizzo di base errato • indirizzo MPI (> 126) errato Errore in SD o RD, p. es.: l'indirizzamento dell'area dati locale non è consentito. SFC 65 "X_SEND", p. es. • lunghezza di SD non consentita • SD=NIL non è consentito SFC 66 "X_RCV", p. es. • sono stati ricevuti più dati rispetto a quanti ne possono entrare nell'area definita mediante RD. • RD è il tipo di dati BOOL, la lunghezza dei dati ricevuti è tuttavia superiore ad un byte. SFC 67 "X_GET" e SFC 72 "I_GET", per. es. lunghezza non consentita per RD la lunghezza o il tipo di dati di RD non corrisponde ai dati ricevuti RD=NIL non è consentito SFC 68 "X_PUT" e SFC 73 "I_PUT", p. es. lunghezza non consentita per SD SD=NIL non è consentito 8095 Il blocco viene già elaborato in una classe di priorità con priorità più bassa. - 80A0 Errore nella conferma di acknowledge ricevuta SFC 68 "X_PUT" e SFC 73 "I_PUT": Il tipo di dati indicato nel parametro SD della CPU mittente non è supportato dal partner di comunicazione. 80A1 Problemi di comunicazione: richiamo SFC dopo annullamento di un collegamento esistente. - 80B0 L'oggetto non è accessibile, p. es. DB non caricato possibile per SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" 80B1 Errore nel puntatore ANY. La lunghezza dell'area dati da trasferire è errata. - 80B2 Errore hardware: unità non presente • • 436 possibile per SFC 67 "X_GET" e SFC 68 il posto connettore progettato non è occupato "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" il tipo di unità attuale non è uguale al tipo di unità prefissato • la periferia decentrata non è disponibile • nell'SDB corrispondente non vi è alcuna registrazione per l'unità. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 80B3 I dati possono essere o soltanto letti oppure solo scritti, p. es. DB protetto da scrittura possibile per SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" 80B4 Errore del tipo di dati per puntatore ANY, o ARRAY del tipo di dati indicato non consentito. SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT": il tipo di dati indicato in VAR_ADDR non viene supportato dal partner di comunicazione. 80B5 Elaborazione negata a causa dello stato di funzionamento non consentito. possibile per SFC 65 "X_SEND" 80B6 Nella conferma di acknowledge ricevuta c'è un codice di errore sconosciuto. - 80B7 Il tipo di dati e/o la lunghezza dei dati trasferiti non possibile per SFC 68 "X_PUT" e SFC 73 sono adatti all'area nella CPU partner nella quale "I_PUT" si deve scrivere. 80B8 - SFC 65 "X_SEND": la SFC 66 "X_RCV" del partner di comunicazione ha negato la conferma dei dati (RD=NIL). 80B9 - SFC 65 "X_SEND": il blocco dati è stato identificato dal partner di comunicazione (richiamo della SFC 66 "X_RCV" con EN_DT=0), tuttavia non è ancora stato confermato nel programma utente a causa dello stato di funzionamento. 80BA La risposta del partner di comunicazione non entra nel telegramma di comunicazione. - 80C0 Il collegamento indicato è già occupato da un altro job. - 80C1 Mancanza di risorse nella CPU sulla quale è in esecuzione la SFC, p. es.: - 80C2 • il numero massimo di diversi job di trasmissione dell'unità viene già elaborato • la risorsa di collegamento è p. es. occupata dalla ricezione. Temporanea mancanza di risorse del partner di comunicazione, p. es.: • il partner di comunicazione elabora momentaneamente il massimo dei job • le risorse necessarie (memoria, ecc.) sono occupate • memoria di lavoro disponibile insufficiente (avviare un processo di compressione). - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 437 Comunicazione di base S7 23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati Codice errore (W#16# ...) 80C3 438 Spiegazione (generale) Spiegazione (specifica per SFC) Errore nella struttura del collegamento, p. es.:· - • la propria stazione S7 non si trova sulla sotto-rete MPI • la propria stazione è stata indirizzata sulla sotto-rete MPI • il partner di comunicazione non è più accessibile • temporanea mancanza di risorse del partner di comunicazione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" 23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" Descrizione Con la SFC 65 "X_SEND" si trasmettono i dati ad un partner di comunicazione esterno alla propria stazione S7. La ricezione dei dati nel partner di comunicazione avviene tramite la SFC 66 "X_RCV". Il processo di trasmissione avviene dopo il richiamo della SFC con REQ=1. Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il parametro SD, sia minore o uguale all'area di ricezione (nel partner di comunicazione) definita mediante il parametro RD. Se SD è del tipo di dati BOOL, anche RD deve essere del tipo BOOL Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. REQ_ID INPUT DWORD E, A, M, D, L, cost. Identificazione del job. Serve ad identificare i dati nel partner di comunicazione. SD INPUT ANY E, A, M, D Riferimento all'area di trasmissione. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME nonché gli Array dei tipi di dati citati a accezione di BOOL. L'area di trasmissione può occupare al massimo 76 byte. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 439 Comunicazione di base S7 23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 440 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Descrizione Con la SFC 66 "X_RCV" si ricevono i dati che uno o più partner di comunicazione esterni alla propria stazione S7 hanno trasmesso con la SFC 65 "X_SEND". Con la SFC 66 "X_RCV" • si può stabilire se al momento attuale vi sono dati trasmessi disponibili: essi sono stati disposti in fila dal sistema operativo eventualmente in una coda di attesa interna; • si può copiare il blocco dati più vecchio, pronto nella lista di attesa, in un'area di ricezione definita. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_DT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "enable data transfer". Con il valore 0 si verifica se è disponibile almeno un blocco dati. Il valore1 causa la copia del blocco dati più vecchio disponibile nella coda di attesa nell'area della memoria di lavoro definita mediante RD. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. Se non si verifica alcun errore, RET_VAL contiene: • con EN_DT=0/1 e NDA=0:W#16#7000. In questo caso nella coda di attesa non c'è alcun blocco dati • con EN_DT=0 e NDA=1 la lunghezza in byte del blocco dati più vecchio registrato nella coda di attesa come numero positivo • con EN_DT=1 e NDA=1 la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. REQ_ID OUTPUT DWORD E, A, M, D, L Identificazione del job di quella SFC "X_SEND", i cui dati trasmessi stanno al primo posto nella coda di attesa. Se nella coda di attesa non c'è alcun blocco dati, il REQ_ID contiene il valore 0. NDA OUTPUT BOOL Parametro di stato "new data arrived". E, A, M, D, L NDA=0: • Nella coda di attesa non è presente alcun blocco dati NDA=1: • Nella coda di attesa è presente almeno un blocco dati (richiamo della SFC 66 con EN_DT=0) • Il blocco dati più vecchio nella coda di attesa è stato copiato nel programma utente (richiamo della SFC 66 con EN_DT=1) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 441 Comunicazione di base S7 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Parametri Dichiarazione Tipo Area di memoria Descrizione RD OUTPUT E, A, M, D Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. ANY Se si intende annullare il blocco dati meno recente nella coda di attesa, assegnare a RD il valore NIL. L'area di ricezione può occupare al massimo 76 byte. 442 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Visualizzazione della ricezione dati con EN_DT=0 Non appena giungono i dati di un partner di comunicazione, questi vengono messi in fila dal sistema operativo nella coda di attesa e cioè nella sequenza con cui sono stati ricevuti. Quando si vuole verificare se c'è almeno un blocco dati, richiamare la SFC 66 con EN_DT=0 e impostare il parametro di uscita NDA: • NDA=0 significa che nella coda di attesa non è registrato alcun blocco dati. REQ_ID è irrilevante, RET_VAL contiene W#16#7000. • NDA=1 significa che nella coda di attesa c'è almeno un blocco dati pronto per il ritiro. In questo caso impostare anche il parametro di uscita RET_VAL ed eventualmente REQ_ID. RET_VAL contiene la lunghezza in byte del blocco dati, REQ_ID l'identificazione del job del blocco mittente. Qualora nella coda di attesa siano pronti più blocchi dati, REQ_ID e RET_VAL appartengono al blocco dati più vecchio presente nella coda di attesa. X_RCV 0 Risorse di ricezione EN_DT REQ_ID NDA RD Ricezione dati t2 Coda di attesa Ricezione dati t1 t t1 t2 Ricezione dati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 443 Comunicazione di base S7 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Conferma dati nell'area di ricezione con EN_DT=1 Quando si richiama la SFC 66 "X_RCV" con EN_DT=1, il blocco dati più vecchio presente nella coda di attesa viene copiato nell'area della memoria di lavoro definita mediante RD. RD deve essere maggiore o uguale all'area di trasmissione, definita tramite il parametro SD, della relativa SFC 65 "X_SEND". Qualora il suo parametro di ingresso SD sia del tipo di dati BOOL, anche RD deve essere del tipo BOOL. Se si intendono memorizzare i dati ricevuti in aree diverse, si può determinare REQ_ID (richiamo della SFC con EN_DT = 0) e scegliere adeguatamente RD nel richiamo successivo (con EN_DT = 1). Se durante la copia si è verificato un errore, RET_VAL indica la lunghezza in byte del blocco dati copiato e fornisce una conferma di acknowledge positiva al mittente. Coda di attesa Trasferimento dati X_RCV 1 EN_DT REQ_ID NDA RD Area di ricezione Ricezione dati Annullamento dati Se non si vogliono confermare i dati, assegnare a RD il valore NIL. In questo caso il mittente riceve una conferma di acknowledge negativa (RET_VAL della relativa SFC 65 "X_SEND" ha il valore W#16#80B8), in RET_VAL con la SFC 66 "X_RCV" viene registrato 0. Coerenza dei dati Dopo il richiamo con EN_DT=1 e RETVAL=W#16#00xy nelle aree di ricezione RD si trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati. Per evitare che ciò si verifichi, non richiamare più l'SFC 66 "X RCV" con la stessa area di ricezione RD, prima di aver analizzato i dati ricevuti. . 444 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Transizione dello stato di funzionamento a STOP Con la transizione nello stato di funzionamento STOP • tutti i nuovi job entranti ricevono una conferma di acknowledge negativa; • vale per i job già arrivati: tutti i job registrati nella coda di attesa di ricezione ricevono una conferma di acknowledge negativa. - Ad un successivo nuovo avviamento (avviamento a caldo) o avviamento a freddo tutti i blocchi dati vengono annullati. - Ad un successivo riavviamento (non per S7-300 e per S7-400H) il blocco dati appartenente al job più vecchio viene confermato nel programma, se è stato interrogato prima della transizione nello stato di funzionamento STOP (richiamo della SFC 66 "X_RCV" con EN_DT=0). Altrimenti viene annullato. Tutti gli altri blocchi dati vengono annullati. Annullamento dei collegamenti Con l'annullamento di un collegamento un job già registrato nella coda di attesa di ricezione, che fa parte di questo collegamento, viene annullato. Eccezione: se questo job è il job più vecchio nella coda di attesa ed è già stato riconosciuto mediante richiamo della SFC 66 "X_RCV" con EN_DT=0, lo si può confermare nell'area di ricezione con EN_DT=1. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 445 Comunicazione di base S7 23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" 23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" Descrizione Con la SFC 68 "X_PUT" si scrivono i dati in un partner di comunicazione esterno alla propria stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di scrittura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione della conferma di acknowledge non viene visualizzata con BUSY=0. Occorre fare attenzione che l'area di trasmissione (sulla CPU mittente), definita mediante il parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. SD ANY E, A, M, D Riferimento all'area della propria CPU che contiene i dati da trasmettere. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. INPUT SD deve avere la stessa lunghezza del parametro VAR_ADDR del partner di comunicazione. Inoltre i tipi di dati di SD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 76 byte. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. 446 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 68 "X_PUT" viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer viene annullato. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 68 "X_PUT": i dati inviati vengono comunque scritti. Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 447 Comunicazione di base S7 23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" 23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" Descrizione Con la SFC 67 "X_GET" si leggono i dati da un partner di comunicazione esterno alla propria stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di lettura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene quindi la lunghezza in byte del blocco dati ricevuto. Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. Se non si verifica alcun errore, RET_VAL contiene la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora terminato. BUSY=0: il processo di ricezione è concluso, o nessun processo di ricezione è attivo. 448 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" Parametri Dichiarazione Tipo Area di memoria Descrizione RD OUTPUT E, A, M, D ANY Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. L'area di ricezione RD deve essere lunga almeno quanto l'area di lettura VAR_ADDR nel partner di comunicazione. Inoltre i tipi di dati di RD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 76 byte. Transizione nello stato di funzionamento STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 67 "X_GET" viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo, vanno persi o meno, dipende dal tipo dell'avviamento successivo: • con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da RD; • con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono annullati. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 67 "X_GET": i dati vengono letti anche nello stato di funzionamento STOP. Coerenza dei dati I dati vengono ricevuti in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. • Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 69 "X_ABORT" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 449 Comunicazione di base S7 23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" Descrizione Con la SFC 69 "X_ABORT" si annulla il collegamento ad un partner di comunicazione esterno alla propria stazione S7, il quale era stato creato con una delle SFC X_SEND, X_GET o X_PUT. Se è stato terminato il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 0), dopo il richiamo della SFC 69 "X_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state occupate per il collegamento. Se il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 1) non è stato terminato, una volta terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento occupate. Si può richiamare la SFC 69 "X_ABORT" solo su quel lato su cui è in esecuzione la SFC "X_SEND", "X_PUT" o "X_GET". L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. DEST_ID INPUT RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti non è ancora concluso. BUSY=0: l'annullamento dei collegamenti è concluso. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei collegamenti avviato mediante la SFC 69 "X_ABORT". Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "X_ABORT": il collegamento viene annullato. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 450 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.7 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT" 23.7 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT" Descrizione Con la SFC 73 "I_PUT" si scrivono i dati in un partner di comunicazione interno alla propria stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente. Il processo di trasmissione avviene dopo il richiamo della SFC con livello 1 sull'ingresso di comando REQ. Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita mediante il parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC della comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT VAR_ADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista va indicato l'indirizzo minore tra i due. ANY E, A, M, D, L Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 451 Comunicazione di base S7 23.7 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT" Parametri Dichiarazione Tipo Area di memoria Descrizione SD INPUT E, A, M, D Riferimento all'area della propria CPU che contiene i dati da trasmettere. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. ANY SD deve avere la stessa lunghezza del parametro VAR_ADDR del partner di comunicazione. Inoltre i tipi di dati di SD e VAR_ADDR devono coincidere. L'area di trasmissione può occupare al massimo 76 byte. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 73 "I_PUT" viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer viene annullato. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 73 "I_PUT". I dati inviati vengono comunque scritti. Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 452 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.8 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" 23.8 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" Descrizione Con la SFC 72 "I_GET" si leggono i dati da un partner di comunicazione interno alla propria stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di ricezione avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene quindi la lunghezza in byte del blocco dati ricevuto. Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista, va indicato l'indirizzo più basso tra i due. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner che deve essere letta. Si deve scegliere il tipo di dati che viene supportato dal partner di comunicazione RET_VAL INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. OUTPUT Se non si verifica alcun errore, RET_VAL contiene la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora concluso. BUSY=0: il processo di ricezione è concluso, o nessun processo di ricezione è attivo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 453 Comunicazione di base S7 23.8 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" Parametri Dichiarazione Tipo Area di memoria Descrizione RD OUTPUT E, A, M, D Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. ANY L'area di ricezione RD deve essere lunga almeno quanto l'area di lettura VAR_ADDR nel partner di comunicazione. Inoltre i tipi di dati di RD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 76 byte. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 72 "I_GET" viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo, vanno persi o meno, dipende dal tipo dell'avviamento successivo: • con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da RD; • con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono annullati. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 72 "I_GET" : i dati vengono letti anche nello stato di funzionamento STOP. Coerenza dei dati I dati vengono ricevuti in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 454 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione di base S7 23.9 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT" 23.9 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT" Descrizione Con la SFC 74 "I_ABORT" si annulla il collegamento ad un partner di comunicazione interno alla propria stazione S7, il quale era stato creato con la SFC 72 "I_GET" o la SFC 73 "I_PUT". Se è stato terminato il job appartenente a I_GET o I_PUT (BUSY = 0), dopo il richiamo della SFC 74 "I_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state occupate per il collegamento. Se il job appartenente a I_GET o I_PUT (BUSY = 1) non è stato terminato, una volta terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento occupate. Si può richiamare la SFC 74 "I_ABORT" solo su quel lato su cui è in esecuzione la SFC "I_PUT" o la "I_GET" (ossia sul lato client). L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista va indicato l'indirizzo minore tra i due. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti non è ancora concluso. BUSY=0: l'annullamento dei collegamenti è concluso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 455 Comunicazione di base S7 23.9 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT" Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei collegamenti avviato mediante la SFC 74 "I_ABORT". Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "I_ABORT": il collegamento viene annullato. Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 456 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 24 Comunicazione aperta tramite Industrial Ethernet 24.1 Panoramica Comunicazione aperta tramite Industrial Ethernet Per consentire, nel programma utente, lo scambio di dati via Ethernet con altri partner di comunicazione (protocollo TCP, ISO on TCP, UDP) , STEP 7 fornisce i seguenti FB e UDT disponibili nella biblioteca "Standard Library" alla voce "Communication Blocks". • • • Protocolli alla connessione: TCP secondo RFC 793, ISO on TCP secondo RFC 1006: - UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del collegamento - Da UDT 651 a UDT 656 con preimpostazioni specifiche per il protocollo - FB 65 "TCON" per la creazione del collegamento - FB 66 "TDISCON" per la disconnessione - FB 63 "TSEND" per l'invio di dati - FB 64 "TRCV" per la ricezione di dati Protocollo privo di connessione: UDP secondo RFC 768 - UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del punto di accesso alla comunicazione locale. - UDT 657 con preimpostazioni specifiche per il protocollo - UDT 66 "TCON_ADR" con la struttura di dati dei parametri di indirizzo del partner remoto - UDT 661 con preimpostazioni specifiche per il protocollo - FB 65 "TCON" per la configurazione del punto di accesso alla comunicazione locale. - FB 66 "TDISCON" per la sconnessione del punto di accesso alla comunicazione locale. - FB 67 "TUSEND" per l’invio di dati - FB 68 "TURCV" per la ricezione di dati Accoppiamento a sistemi di terzi utilizzando i servizi FETCH e WRITE - FB 210 "S5FW_TCP" per l'accoppiamento ad un sistema di terzi tramite TCP - FB 220 "S5FW_IOT" per l'accoppiamento ad un sistema di terzi tramite ISO on TCP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 457 Comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet Protocolli orientati alla connessione e protocolli privi di connessione La comunicazione dati opera una distinzione tra due varianti di protocollo: • Protocolli orientati alla connessione: questi protocolli creano, prima del trasferimento dati, un collegamento (logico) con il partner di comunicazione per disconnettersi poi a trasferimento avvenuto. I protocolli orientati alla connessione trovano impiego soprattutto quando la trasmissione dati deve avvenire in assoluta sicurezza. Una linea fisica supporta normalmente più collegamenti logici. Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano i seguenti protocolli orientati alla connessione: - TCP secondo RFC 793 - ISO on TCP secondo RFC 1006 • Varianti di protocollo prive di connessione: questi protocolli operano senza collegamento. La creazione e l’interruzione del collegamento con il partner remoto non avvengono. I protocolli privi di connessione effettuano il trasferimento dati al partner remoto senza conferma e quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata nel blocco. Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano il seguente protocollo privo di connessione: • UDP secondo RFC 768 Il funzionamento dei blocchi funzionali, dipende dalla variante di protocollo impiegata. La descrizione dettagliata di questi protocolli viene riportata nel seguito. Area di ricezione Nel seguito si ricorre sempre all'uso di questo termine che sta ad indicare l'area nella quale il blocco funzionale inserisce i dati ricevuti. La determinazione dell'area di ricezione avviene sulla base di due grandezze: • Puntatore all'inizio dell'area • Lunghezza dell'area La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo impiegate, tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza del parametro DATA (se LEN = 0). Nel parametro ANY Ponter sono consentiti i seguenti tipi di dati BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME. 458 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet TCP Nel trasferimento dati non vengono fornite informazioni circa lunghezza, inizio e fine di un messaggio. Ciò non costituisce alcun problema nel caso dell'invio in quanto l'emittente conosce il numero dei byte che intende trasferire. Il ricevente tuttavia non può appurare, nel flusso dati, la fine di un messaggio e l'inizio del successivo. Si raccomanda pertanto di selezionare, per l'area di ricezione dell'FB 64 "TRCV", esattamente lo stesso valore del parametro LEN dell'FB 63 "TSEND" nel partner di comunicazione (numero di byte da inviare). • Ricezione di dati in modalità Ad hoc: L'area di ricezione è identica all'area predefinita nel parametro DATA dell'FB 64 "TRCV". L'FB 64 "TRCV" provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di ricezione e ad impostare su 1 il valore di NDR. La lunghezza max. è di 8192 byte. Qualora la lunghezza dell'area di ricezione superasse quella dei dati di invio, l'FB 64 "TRCV" copia tutti i dati ricevuti nell'area di ricezione, imposta quindi su TRUE il parametro NDR e inserisce in RCVD_LEN la lunghezza dei dati ricevuti. Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati, l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dell'area di ricezione. Ad ogni richiamo successivo l'operatore riceve un ulteriore blocco dei dati inviati. • Ricezione dati con lunghezza prestabilita: La formazione dell'area di ricezione avviene tramite i parametri DATA (indirizzo iniziale dell'area di ricezione) e LEN (lunghezza dell'area di ricezione) dell'FB 64. Qualora i dati ricevuti non bastassero a riempire interamente l'area di ricezione, essi vengono resi disponibili soltanto dopo la ricezione di ulteriori dati, quando quest'area sarà stata completamente riempita. Tenere presente in questo caso che nelle stessa area di ricezione si trovano dati provenienti da due diversi ordini di invio, impossibili da distinguere se non sono individuabili la fine del primo messaggio e l'inizio del successivo. Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati, l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere. Quando l'FB 64 ha riempito interamente quest'area, imposta NDR su TRUE e inserisce in RCVD_LEN il calore di LEN. Ad ogni richiamo successivo l'operatore riceve un ulteriore blocco dei dati inviati. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 459 Comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet ISO on TCP Nel trasferimento dati vengono fornite informazioni circa lunghezza e la fine di un messaggio. Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 64 "TRCV" copia tutti i dati inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dei dati inviati. Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati nell'area di ricezione, l'FB 64 emette la seguente informazione di errore: ERROR=1, STATUS=W#16#8088. UDP Questi protocolli non effettuano la creazione del collegamento come avviene nei protocolli TCP e ISO on TCP. È pertanto necessario, al richiamo del blocco di invio FB 67 "TUSEND", indicare un riferimento ai parametri di indirizzo del ricevente (indirizzo IP e N. porta). Analogamente, al termine del trasferimento da parte del blocco di ricezione FB 68 "TURCV", al ricevente viene indicato un riferimento ai parametri di indirizzo del mittente (indirizzo IP e N. porta). Per utilizzare gli FB 67 "TUSEND" e 68 "TURCV" è necessario aver in precedenza richiamato, sia per il mittente che per il ricevente, il parametro FB 65 "TCON" per la configurazione del punto di accesso alla comunicazione locale. Ad ogni richiamo dell'FB 67 "TUSEND" è possibile creare un nuovo riferimento al partner remoto indicando il rispettivo indirizzo IP ed il numero della porta. Con la trasmissione dei dati vengono inviate informazioni sulla lunghezza e fine di un messaggio. Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 68 "TURCV" copia tutti i dati inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dei dati inviati. Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati nell'area di ricezione, l'FB 68 emette la seguente informazione di errore: ERROR = 1, STATUS = W#16#8088. 460 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet Numeri delle porte nei protocolli TCP e UDP Un collegamento viene indirizzato come indicato nel seguito: • • Protocollo TCP: - Collegamento attivo: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero della porta locale viene assegnato esplicitamente dall'utente oppure dal sistema operativo). - Collegamento passivo: tramite la porta locale. Se si desidera utilizzare la porta locale diverse volte occorre predefinire anche l'indirizzo IP remoto oppure l'indirizzo IP remoto e la porta remota. Protocollo UDP: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero della porta locale viene assegnato esplicitamente dall'utente). Per la porta locale hanno validità i campi indicati nel seguito. Per la porta remota questi campi sono validi soltanto se il partner remoto è una CPU S7. In caso contrario la porta remota non è soggetta ad alcun tipo di limitazione. • • • Per le CPU 31x-2 PN/DP fino alla versione firmware V2.6 inclusa e le CPU 41x-3 PN/DP fino alla versione firmware V5.1: - Numeri della porta consentiti per la parametrizzazione (UDT 65): 2000 … 5000 - Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato esplicitamente, il sistema operativo assegna una porta compresa nel campo numerico dinamico da 49152 a 65534. Per le CPU 31x-2 PN/DP dalla versione firmware V2.7 e le CPU 41x-3 PN/DP dalla versione firmware V5.2: - Numeri della porta consentiti per la parametrizzazione (UDT 65): 1 … 49151 Si raccomanda di limitarsi ai numeri compresi tra 2000 e 5000, in quanto Siemens si riserva di riservare al sistema le porte comprese nei campi numerici da 1 a 1999 e da 5001 a 49151. - Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato esplicitamente, il sistema operativo assegna una porta compresa nel campo numerico dinamico da 49152 a 65534. Per le CPU 31x-2 PN/DP dalla versione firmware V3.2 e le CPU 41x-3 PN/DP dalla versione firmware V6.0: - È possibile utilizzare una porta diverse volte. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 461 Comunicazione aperta tramite Industrial Ethernet 24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet I numeri delle porte riservati all'assegnazione automatica da parte del sistema sono contenuti nel seguente elenco. Protocollo Numero della porta Servizio - 0 (Questa porta è assegnata in modo fisso e non può essere utilizzata). TCP 20 e 21 FTP TCP 25 SMTP TCP 80 HTTP TCP 102 RFC 1006 UDP 135 RPC-DCOM UDP 161 SNMP_REQUEST TCP, UDP 34962 PNIO TCP, UDP 34963 PNIO TCP, UDP 34964 PNIO UDP 65532 NTP UDP 65533 NTP UDP 65534 NTP UDP 65535 NTP Vedere anche http://www.iana.org/assignments/port-numbers. Avvertenza Non utilizzare i numeri di porta riservati all'assegnazione da parte del sistema. 462 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Blocco dati per la parametrizzazione del collegamento Per consentire la parametrizzazione di collegamenti di comunicazione aperti tramite TCP e ISO on TCP, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura di dati contiene i parametri necessari per l'attivazione del collegamento. Una struttura di dati di questo tipo è necessaria per tutti i collegamenti e può essere raggruppata in un DB globale. Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un rimando all'indirizzo della descrizione del collegamento interessato (p. es. P#DB100.DBx0.0 byte 64). Struttura della descrizione del collegamento (UDT 65) Byte Parametri Tipo 0 ... 1 block_length WORD W#16#40 Lunghezza dell'UDT 65: 64 byte (fissa) 2 ... 3 id WORD W#16#0001 ID di questo collegamento (campo di valori: da W#16#0001 a W#16#=0FFF) Il valore di questo parametro deve essere indicato nell'ID del relativo blocco. 4 connection_type BYTE B#16#01 Varianti dei protocolli: 5 active_est BOOL Valore iniziale FALSE Descrizione • B#16#11: TCP • B#16#12: ISO on TCP • B#16#01: TCP (modo compatibile) ID per il tipo di inizializzazione del collegamento: • FALSE: inizializzazione del collegamento passiva • TRUE: inizializzazione del collegamento attiva Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 463 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Byte Parametri Tipo Valore iniziale Descrizione 6 local_device_id BYTE B#16#02 • B#16#00: comunicazione tramite CP 443-1EX4x (con l'S7-400 tuttavia soltanto con connection_type = B#16#12) • B#16#01: comunicazione tramite l'interfaccia IE sul posto connettore 1 (IF1) in WinAC RTX (soltanto TCP) • B#16#02: comunicazione tramite l'interfaccia IE integrata nelle CPU 315-2 PN/DP e 317-2 PN/DP • B#16#03: comunicazione tramite l'interfaccia IE integrata nella CPU 319-3 PN/DP • B#16#05: comunicazione tramite l'interfaccia IE integrata nelle CPU 414-3 PN/DP, 416-3 PN/DP e 416-3F PN/DP • B#16#06: comunicazione tramite l'interfaccia IE sul posto connettore 2 (IF2) in WinAC RTX (soltanto TCP) • B#16#0B. comunicazione tramite l'interfaccia IE sul posto connettore 3 (IF3) in WinAC RTX (soltanto TCP) • B#16#0F: comunicazione tramite l'interfaccia IE sul posto connettore 4 (IF4) in WinAC RTX (soltanto TCP) 7 B#16#02 Lunghezza del parametro local_tsap_id applicata; valori possibili: • 0 o 2, se connection_type = B#16#01 (parte attiva: 0, parte passiva: 2) • 0 oppure 2, se connection_type = B#16#11 (parte attiva: 0 o 2, parte passiva: 2) • 2 ...16, se connection_type = B#16#12 8 rem_subnet_id_le BYTE n B#16#00 Questo parametro non viene attualmente impiegato. Assegnare il valore B#16#00. 9 rem_staddr_len B#16#00 Lunghezza dell'indirizzo del punto finale del collegamento remoto: 10 11 464 local_tsap_id_len BYTE rem_tsap_id_len next_staddr_len BYTE BYTE BYTE B#16#00 B#16#00 • 0: non specificato, ovvero parametro rem_staddr non di rilievo. • 4: indirizzo IP valido nel parametro rem_staddr Lunghezza utilizzata del parametro rem_tsap_id; valori possibili: • 0 o 2 se connection_type = B#16#01 Per il lato passivo è ammesso solo il valore B#16#00. • 0 o 2 se connection_type = B#16#11 • 0 o 2-16 se connection_type = B#16#12 (Lato attivo: 2-16; lato passivo: 0 o 2-16, 0 significa non specificato) Lunghezza del parametro next_staddr applicata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Byte Parametri Tipo Valore iniziale Descrizione 12 ... 27 local_tsap_id ARRAY [1..16] of BYTE B#16#07 B#16#D0 B#16#00 ... in connection_type = • B#16#11: N. porta locale (valori possibili Vedere Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet), local_tsap_id[1] = high byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[2] = low byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[3-16] = B#16#00 • B#16#12: :ID del TSAP locale: Vedere nel seguito. • B#16#01: N. porta locale (valori possibili: Vedere Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet), local_tsap_id[1] = low byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[2] = high byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[3-16] = B#16#00 Avvertenza: quando sussistono più collegamenti al medesimo partner di comunicazione, accertarsi che tutti i valori di local_tsap_id, impiegati nella CPU siano univoci. 28 ... 33 rem_subnet_id ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene attualmente impiegato. Assegnare il valore 0. 34 ... 39 rem_staddr ARRAY [1..6] of BYTE B#16#00 ... IP del punto finale del collegamento remoto p. es 192.168.0.1:: in connection_type = B#16#1x: rem_staddr[1] = B#16#C0 (192), rem_staddr[2] = B#16#A8 (168), rem_staddr[3] = B#16#02 (002), rem_staddr[4] = B#16#03 (003), rem_staddr[5-6]= B#16#00 (riservato) B#16#01: rem_staddr[1] = B#16#03 (003), rem_staddr[2] = B#16#02 (002), rem_staddr[3] = B#16#A8 (168), rem_staddr[4] = B#16#C0 (192), rem_staddr[5-6]= B#16#00 (riservato) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 465 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Byte Parametri Tipo Valore iniziale Descrizione 40 ... 55 rem_tsap_id ARRAY [1..16] of BYTE B#16#00 ... in connection_type = 56 ... 61 62 ... 63 466 next_staddr spare ARRAY [1..6] of BYTE WORD B#16#00 ... W#16#0000 • B#16#11: N. porta remota (valori possibili: Vedere Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet), rem_tsap_id[1] = high byte del N. della porta nella rappresentazione esadecimale, rem_tsap_id[2] = low byte del N. della porta nella rappresentazione esadecimale, rem_tsap_id[3-16] = B#16#00 • B#16#12: ID del TSAP remoto: Vedere nel seguito. • B#16#01: N. porta remota (valori possibili: Vedere Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet), local_tsap_id[1] = low byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[2] = high byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[3-16] = B#16#00 in local_device_id = • B#16#00: next_staddr[1]: slot e posto connettore del rispettivo CP (locale) (bit 0 .. 4: posto connettore, bit 5 e 7: N. slot) next_staddr[2-6]: B#16#00 • B#16#02, B#16#03, B#16#05: next_staddr[1-6]: B#16#00 Reserve. Assegnare il valore 0 a questo parametro 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Lunghezza e configurazione dell'ID TSAP locale e remoto nella comunicazione ISO on TCP • • Inizializzazione attiva del collegamento: - ID TSAP locale: Nell'interfaccia IE integrata sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 1 e 16 byte. Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF. - ID TSAP remoto: Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 1 e 16 byte. Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF Inizializzazione passiva del collegamento: - ID TSAP locale: loc_tsap_id_len local_tsap_id[1] local_tsap_id[2] 2 B#16#E0 (tipo di collegamento: collegamento T) 0 (soltanto nell'interfaccia Non disponibile IE integrata) oppure telaio di montaggio e posto connettore della CPU propria (bit da 0 a 4 per il posto connettore, bit da 5 a 7 per il numero del telaio di montaggio) >2 B#16#E0 (tipo di collegamento: collegamento T) 0 (soltanto nell'interfaccia Ampliamento TSAP IE integrata) oppure telaio di montaggio e posto connettore della CPU propria (bit da 0 a 4 per il posto connettore, bit da 5 a 7 per il numero del telaio di montaggio) Soltanto nell'interfaccia IE integrata: un carattere ASCII (B#16#20 a B#16#7E) irrilevante - local_tsap_id[3 ... 16] Ampliamento TSAP ID TSAP locale remoto: Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 0 e 16 byte. Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF Incidenza delle varianti di protocollo TCP e ISO on TCP richieste dalla CPU sulla lunghezza dei dati trasferibili Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili indica quale delle due varianti di protocollo, TCP e ISO on TCP, vada impiegata per ogni singola CPU. Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 467 Comunicazione aperta tramite Industrial Ethernet 24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP Inizializzazione del collegamento Il partner di comunicazione A deve dare avvio all'inizializzazione attiva ed il partner di comunicazione B all'inizializzazione passiva del collegamento. Quando entrambe i partner hanno avviato la comunicazione, il sistema operativo può attivare completamente il collegamento. Nel corso della progettazione del collegamento è possibile determinare quale partner di comunicazione debba eseguire l'inizializzazione del collegamento attivo e quale, su richiesta dell'altro, il collegamento passivo. Con il protocollo UDP la creazione del collegamento passivo deve essere avviata da entrambi i partner. 468 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP 24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Struttura dei dati per la parametrizzazione del punto di accesso alla comunicazione locale Per consentire la parametrizzazione del punto di accesso alla comunicazione locale, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura contiene i parametri necessari per la configurazione del collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un riferimento all’indirizzo della descrizione del collegamento interessato (p. es. P#DB100.DBX0.0 byte 64). Struttura della descrizione del collegamento con il protocollo UDP (UDT 65) Byte Parametri Tipo di dati Valore iniziale Descrizione 0-1 block_length WORD W#16#40 Lunghezza dell‘UDT 65: 64 byte (fissa) 2-3 id WORD W#16#0001 ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo (campo di valori: W#16#0001 .... W#16#0FFF) Il valore di questo parametro deve essere indicato nell'ID del relativo blocco. 4 connection_type BYTE B#16#13 Varianti di protocollo: 5 active_est BOOL FALSE ID per il tipo di inizializzazione del collegamento: assegnare il valore FALSE a questo parametro 6 local_device_id BYTE B#16#02 • B#16#01: comunicazione tramite l'interfaccia IE sul posto connettore 1 (IF1) in WinAC RTX • B#16#02: comunicazione tramite l'interfaccia IE integrata con la CPU 317-2 PN/DP • B#16#03: comunicazione tramite l'interfaccia IE integrata con la CPU 319-3 PN/DP • B#16#05: comunicazione tramite l'interfaccia IE integrata con le CPU 414-3 PN/DP, 416-3 PN/DP e 416-3F PN/DP • B#16#06: comunicazione tramite l'interfaccia IE sul posto connettore 2 (IF2) in WinAC RTX • B#16#0B. comunicazione tramite l'interfaccia IE sul posto connettore 3 (IF3) in WinAC RTX • B#16#0F: comunicazione tramite l'interfaccia IE sul posto connettore 4 (IF4) in WinAC RTX • B#16#13: UDP 7 local_tsap_id_len BYTE B#16#02 Lunghezza del parametro impiegatalolocal_tsap_id: 2 byte 8 rem_subnet_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 9 rem_staddr_len B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. BYTE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 469 Comunicazione aperta tramite Industrial Ethernet 24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Byte Parametri Tipo di dati Valore iniziale Descrizione 10 rem_tsap_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 11 next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 12 27 local_tsap_id ARRAY B#16#07 N. della porta locale (valori possibili: Vedere [1..16] of B#16#D0 Funzionamento degli FB per la comunicazione aperta BYTE B#16#00 .... tramite Industrial Ethernet), local_tsap_id[1] = high byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[2] = low byte del N. della porta nella rappresentazione esadecimale local_tsap_id[3-16] = B#16#00(riservato) Avvertenza: accertarsi che tutti i valori di local_tsap_id, impiegati nella CPU siano univoci. 28 33 rem_subnet_id ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 34 39 rem_staddr ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 40 55 rem_tsap_id ARRAY B#16#00 ... [1..16] of BYTE Questo parametro non viene impiegato. Assegnargli il valore 0. 56 61 next_staddr ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. WORD W#16#0000 Reserve: assegnare il valore 0 a questo parametro. 62 ... spare 63 Incidenza della variante di protocollo UDP richiesta dalla CPU sulla lunghezza dei dati trasferibili Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili indica le CPU che richiedono la variante di protocollo UDP. Il numero dei collegamenti possibili tra il programma utente e il livello di comunicazione del sistema operativo è indicato nei dati tecnici della CPU. Configurazione del punto di accesso alla comunicazione locale Ciascun partner di comunicazione deve configurare, indipendentemente dagli altri, il proprio punto di accesso alla comunicazione locale, ovvero provvedere alla creazione del collegamento tra il programma utente e il livello di comunicazione del sistema operativo. Nella comunicazione UDP entrambi i partner di collegamento devono avviare la creazione del collegamento passivo. 470 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.5 Struttura dell’ informazione di indirizzo del partner remoto con il protocollo UDP 24.5 Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Panoramica L'FB 67 "TUSEND" consente di trasferire al parametro ADDR l’indirizzo del ricevente. Quest’informazione deve presentare la struttura indicata nel seguito. L'FB 68 "TURCV" fornisce nel parametro ADDR l’indirizzo del mittente dei dati ricevuti. Quest’informazione deve presentare la struttura indicata nel seguito. Blocco dati per l’informazione di indirizzo del partner remoto È necessaria la creazione di un DB contenente una o più strutture di dati secondo l‘UDT 66 "TADDR_PAR". Nel parametro ADDR dell'FB 67 "TUSEND" il puntatore viene trasferito e nel parametro ADDR dell'FB 68 "TURCV" il puntatore viene inserito sull’indirizzo del rispettivo partner remoto (p. es. P#DB100.DBX0.0 byte 8). Struttura del l’informazione di indirizzo del partner remoto (UDT 66) Byte Parametri Tipo didati Valore iniziale Descrizione 0-3 rem_ip_addr ARRAY [1..4] of BYTE B#16#00 ... Indirizzo IP del partner remoto, p. es. 192.168.002.003: 4-5 6 ... 7 rem_port_nr spare ARRAY [1..2] of BYTE ARRAY [1..2] of BYTE B#16#00 ... B#16#00 ... • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) • rem_ip_addr[3] = B#16#02 (002) • rem_ip_addr[4] = B#16#03 (003) N. porta remota (valori possibili: Vedere Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet) • rem_port_nr[1] = high byte del N. della porta nella rappresentazione esadecimale • rem_port_nr[2] = low byte del N. della porta nella rappresentazione esadecimale Reserve. Assegnare il valore 0 a questo parametro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 471 Comunicazione aperta tramite Industrial Ethernet 24.6 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili 24.6 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili La tabella sottostante indica le varianti di protocollo richieste da ogni singola CPU e la lunghezza dati trasferibile. Variante di protocollo Parametro "connection _type" in UDT 65 CPU Lunghezza dati in byte nella comunicazione tramite interfaccia IE integrata TCP B#16#11 CPUs 31x-2 PN/DP a partire dalla 1 … 8192 versione firmware V2.4 Lunghezza dati in byte nella comunicazione tramite CP - CPUs 31x-2 PN/DP a partire dalla 1 … 32767 versione firmware V3.1 CPUs 31x-3 PN/DP a partire dalla 1 … 32767 versione firmware V3.2 ISO on TCP CPUs 41x-3 PN/DP 1 … 32767 - B#16#01 CPUs 31x-2 PN/DP 1 … 1472 - B#16#12 CPUs 31x-2 PN/DP a partire dalla 1 … 8192 versione firmware V2.4 - CPUs 31x-2 PN/DP a partire dalla 1 … 32767 versione firmware V3.1 CPUs 31x-3 PN/DP a partire dalla 1 … 32767 versione firmware V3.2 UDP 472 B#16#13 CPUs 41x a partire dalla versione firmware V4.1 (senza CPU 41x-4H) 1 … 1452 CPUs 41x-3 PN/DP 1 … 1452 1 … 32767 CPUs 31x-2 PN/DP a partire dalla 1 … 1472 versione firmware V2.4, CPUs 41x-3 PN/DP - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Esempio 1: Comunicazione tra due CPU S7-400 tramite ISO on TCP e CP 443-1 Adv. Entrambe i partner di comunicazione sono due CPU 414-2 con versione firmware V4.1.0. La comunicazione si svolge tramite due CP 443-1 Advanced.con versione firmware V2.2. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione. Proprietà Partner di comunicazione A: CPU 414-2 (FW V4.1.0) con CP 443-1 Adv. (FW V2.2) Partner di comunicazione B: CPU 414-2 (FW V4.1.0) con CP 443-1 Adv. (FW V2.2) Attivazione del collegamento Attivo Passivo Indirizzo IP 192.168.4.14 192.168.4.16 Indirizzo fisico della CPU Rack 0, slot 3 Rack 0, slot 4 Indirizzo fisico del rispettivo CP Rack 0, slot 6 Rack 1, slot 8 ID del TSAP locale (avvertenza: il coordinamento del TSAP per la distinzione del collegamento inizia dal byte 3) 0xE0 03 54 43 50 2D 31 0xE0 04 54 43 50 2D 31 La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento attivo da parte del partner di comunicazione A: Parametri Tipo di dati Valore iniziale Descrizione id WORD W#16#0414 ID di collegamento connection_type BYTE B#16#12 Varianti di protocollo: ISO on TCP active_est BOOL TRUE Creazione attiva del collegamento local_device_id BYTE B#16#00 Comunicazione AS interna tramite CP local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: indirizzo IP valido del parametro rem_staddr rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata rem_tsap_id next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata next_staddr Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 473 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Parametri Tipo di dati Valore iniziale Descrizione local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 • local_tsap_id[2] = B#16#03 ID del TSAP locale: 0xE0035443502D31 • local_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • local_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • local_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • local_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • local_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • local_tsap_id[8-16] = B#16#00 rem_staddr rem_tsap_id next_staddr 474 ARRAY [1..6] of BYTE ARRAY [1..16] of BYTE ARRAY [1..6] of BYTE "192.168.4.16" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#04 (4) • rem_staddr[4] = B#16#10 (16) • rem_staddr[5-6] = B#16#00 • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#04 • rem_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • rem_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • rem_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • rem_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • rem_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • rem_tsap_id[8-16] = B#16#00 • next_staddr[1] = B#16#06 • next_staddr[2-6] = B#16#00 Indirizzo IP del punto finale del collegamento remoto ID delTSAP remoto: 0xE0045443502D31 Rack = 0, posto connettore = 6 (bit 7 ... 5: N rack, bit 4 ... 0: N slot.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento passivo da parte del partner di comunicazione B: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#0416 ID di collegamento connection_type BYTE B#16#12 Varianti del protocollo: ISO on TCP active_est BOOL FALSE Creazione passiva del collegamento local_device_id BYTE B#16#00 Comunicazione interna all'AS mediante CP local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: Indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata rem_tsap_id next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata next_staddr local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 • local_tsap_id[2] = B#16#04 ID del TSAP locale: 0xE0045443502D31 • local_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • local_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • local_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • local_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • local_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • local_tsap_id[8-16] = B#16#00 rem_staddr ARRAY [1..6] of BYTE "192.168.4.14" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#04 (4) • rem_staddr[4] = B#16#0E (14) • rem_staddr[5-6] = B#16#00 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Indirizzo ID del punto finale del collegamento remoto 475 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Parametri Tipo di dati Valore nell'esempio Descrizione rem_tsap_id ARRAY [1..16] of BYTE • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#03 ID del TSAP remoto 0xE0035443502D31 • rem_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • rem_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • rem_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • rem_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • rem_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • rem_tsap_id[8-16] = B#16#00 • next_staddr[1] = B#16#28 • next_staddr[2-6] = B#16#00 next_staddr 476 ARRAY [1..6] of BYTE Rack = 1, slot = 8 (bit 7 ... 5: N. di slot., bit 4 ... 0: N. di posto connettore.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Esempio 2: comunicazione tra una CPU S7-400 ed una CPU S7-300 tramite TCP e interfaccia integrata PROFINET Un partner di comunicazione è costituito da una CPU 416-3 PN/DP con versione del firmware V5.0, l'altro da una CPU 319-3 PN/DP con versione del firmware V2.4.0. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione: Proprietà Partner di comunicazione A: CPU 416-3 PN/DP (FW V5.0) Partner di comunicazione B: CPU 319-3 PN/DP (FW V2.4.0) Attivazione del collegamento Attivo Passivo Indirizzo IP 192.168.3.142 192.168.3.125 N. della porta locale Non di rilievo 2005 La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento attivo per il partner di comunicazione A: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#0014 ID di collegamento connection_type BYTE B#16#11 Varianti di protocollo: TCP active_est BOOL TRUE Creazione del collegamento attivo local_device_id BYTE B#16#05 Comunicazione tramite interfaccia Ethernet integrata nella CPU S7-400 local_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Il parametro local_tsap_id non viene valore) impiegato rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: Indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata valore) rem_tsap_id rem_staddr ARRAY [1..6] of BYTE "192.168.3.125" rem_tsap_id ARRAY [1..16] of BYTE • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#03 (3) • rem_staddr[4] = B#16#7D (125) • rem_staddr[5-6] = B#16#00 "2005" • rem_tsap_id[1] = B#16#07 • rem_tsap_id[2] = B#16#D5 • rem_tsap_id[3-16] = B#16#00 Indirizzo IP del punto finale di comunicazione remoto N. della porta remota: 2005 = W#16#07D5 La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento passivo per il partner di comunicazione B: Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 477 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#000F ID di collegamento connection_type BYTE B#16#11 Variante di protocollo: TCP active_est BOOL FALSE Creazione passiva del collegamento local_device_id BYTE B#16#03 Comunicazione tramite interfaccia Ethernet integrata nella CPU 319-3 PN/DP local_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata valore) local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • rem_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Lunghezza del parametro applicata valore) rem_tsap_id local_tsap_id ARRAY [1..16] of BYTE "2005" rem_staddr 478 4: indirizzo IP valido nel parametro rem_staddr ARRAY [1..6] of BYTE N. della porta locale: 2005 = W#16#07D5 • local_tsap_id[1] = B#16#07 • local_tsap_id[2] = B#16#D5 • local_tsap_id[3-16] = B#16#00 "192.168.3.142" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#03 (3) • rem_staddr[4] = B#16#8E (142) • rem_staddr[5-6] = B#16#00 Indirizzo IP del punto finale del collegamento Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Esempio 3: comunicazione tra una CPU S7-300 ed una CPU S7-400 tramite UDP e interfaccia integrata PROFINET Un partner di comunicazione è costituito da una CPU 319-3 PN/DP con versione del firmware V2.4.0, l'altro da una CPU 414-3 PN/DP con versione del firmware V5.0. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione: Proprietà Partner di comunicazione A: CPU 319-3 PN/DP (FW V2.4.0) Partner di comunicazione B: CPU 414-3 PN/DP (FW V5.0) Mittente/ricevente Mittente Ricevente Indirizzo IP 192.168.3.142 192.168.3.125 N. della porta locale 2004 2005 La tabella sottostante indica i parametri di rilievo per il mittente (partner di comunicazione A) registrati nel DB per la parametrizzazione del punto di accesso alla comunicazione locale: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#0014 ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo connection_type BYTE B#16#13 Varianti di protocollo: UDP active_est BOOL FALSE Con la variante di protocollo UDP è possibile soltanto questo valore. local_device_id BYTE B#16#03 Comunicazione tramite interfaccia Ethernet integrata nella CPU 319-3 PN/DP local_tsap_id_len BYTE B#16#02 Lunghezza del parametro local_tsap_id applicata local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#07 N. porta locale: 2004 = W#16#07D4 • local_tsap_id[2] = B#16#D4 • local_tsap_id[3-16] = B#16#00 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 479 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti La tabella sottostante indica i parametri di rilievo per il ricevente (partner di comunicazione B) registrati nel DB per la parametrizzazione del punto di accesso alla comunicazione locale: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#000F ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo connection_type BYTE B#16#13 Varianti di protocollo: UDP active_est BOOL FALSE Con la variante di protocollo UDP è possibile soltanto questo valore. local_device_id BYTE B#16#05 Comunicazione tramite interfaccia Ethernet integrata con le CPU S7-400 local_tsap_id_len BYTE B#16#02 Lunghezza del parametro local_tsap_id applicata local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#07 N. porta locale: 2005 = W#16#07D5 • local_tsap_id[2] = B#16#D5 • local_tsap_id[3-16] = B#16#00 Richiamando nel mittente il parametro FB 67 "TUSEND", in un DB vengono inoltrati i seguenti parametri di indirizzo del ricevente: Parametri Tipo di dati Valore nell'esempio Descrizione rem_ip_addr ARRAY [1..4] of BYTE • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) Indirizzo IP del ricevente: 192.168.3.125 • rem_ip_addr[3] = B#16#3 (3) • rem_ip_addr[4] = B#16#7D (125) • rem_port_nr[1] = B#16#07 • rem_port_nr[2] = B#16#D5 rem_port_nr ARRAY [1..2] of BYTE N. porta del ricevente: 2005 = W#16#07D5 Richiamando nel ricevente il parametro FB 68 "TURCV", in un DB vengono inoltrati i seguenti parametri di indirizzo del mittente: Parametri Tipo di dati Valore nell'esempio Descrizione rem_ip_addr ARRAY [1..4] of BYTE • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) Indirizzo IP del mittente: 192.168.3.142 • rem_ip_addr[3] = B#16#3 (3) • rem_ip_addr[4] = B#16#8E (142) • rem_port_nr[1] = B#16#07 • rem_port_nr[2] = B#16#D4 rem_port_nr 480 ARRAY [1..2] of BYTE N. porta del mittente: 2004 = W#16#07D4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Esempio 4: Comunicazione tra due CPU S7-400 tramite ISO on TCP e interfaccia integrata PROFINET Un partner di comunicazione è costituito da una CPU 414-3 PN/DP con versione del firmware V5.0, l'altro da una CPU 416-3 PN/DP con versione del firmware V5.0. La comunicazione si svolte tramite interfaccia integrata PROFINET. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione: Proprietà Partner di comunicazione A: CPU 414-3 PN/DP (FW V5.0) Partner di comunicazione B: CPU 416-3 PN/DP (FW V5.0) Mittente/Ricevente Mittente Ricevente Creazione del collegamento Passivo Attivo Indirizzo IP 192.168.0.14 192.168.0.16 La tabella sottostante indica tutti i parametri del partner di comunicazione A nel rispettivo DB. Parametri Tipo di dati Valori nell'esempio Descrizione block_length WORD W#16#40 Lunghezza dell'UDT65: 64 byte (fissa) id WORD W#16#0001 ID del collegamento connection_type BYTE B#16#12 Variante di protocollo: • B#16#12: ISO on TCP active_est BOOL FALSE Creazione passiva del collegamento local_device_id BYTE B#16#05 Comunicazione tra le CPU 414-3 PN/DP, 416-3 PN/DP e 416-3F PN/DP tramite interfaccia IE integrata local_tsap_id_len BYTE B#16#03 Lunghezza del parametro local_tsap_id applicata rem_subnet_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnare il valore B#16#00. rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#03 Lunghezza del parametro rem_tsap_id impiegata next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato (in quanto la comunicazione avviene tramite interfaccia integrata). Assegnare il valore B#16#00. local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 ID del TSAP locale: 0xE00301 • local_tsap_id[2] = B#16#03 • local_tsap_id[3] = B#16#01 • local_tsap_id[4-16] = B#16#00 rem_subnet_id ARRAY [1..6] of BYTE rem_subnet_id[1-6] = B#16#00 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Questo parametro non viene impiegato. Assegnare il valore 0. 481 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Parametri Tipo di dati Valori nell'esempio Descrizione rem_staddr ARRAY [1..6] of BYTE "192.168.0.16" Indirizzo IP del punto finale del collegamento remoto rem_tsap_id ARRAY [1..16] of BYTE • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#00 (0) • rem_staddr[4] = B#16#10 (16) • rem_staddr[5-6] = B#16#00 • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#03 • rem_tsap_id[3] = B#16#01 • rem_tsap_id[4-16] = B#16#00 ID del TSAP remoto: 0xE00301 next_staddr ARRAY [1..6] of BYTE next_staddr[1-6] = B#16#00 Questo parametro non viene impiegato (in quanto la comunicazione avviene tramite interfaccia integrata): spare WORD W#16#0000 Questo parametro non viene impiegato. Assegnare il valore 0. La tabella sottostante indica tutti i parametri del partner di comunicazione B nel rispettivo DB Parametri Tipo di dati Valori nell'esempio Descrizione block_length WORD W#16#40 Lunghezza dell'UDT65: 64 byte (fissa id WORD W#16#0001 ID del collegamento connection_type BYTE B#16#12 Variante di protocollo: active_est BOOL TRUE Creazione passiva del collegamento local_device_id BYTE B#16#05 Comunicazione tra le CPU 414-3 PN/DP, 416-3 PN/DP e 416-3F PN/DP tramite interfaccia IE integrata local_tsap_id_len BYTE B#16#03 Lunghezza del parametro local_tsap_id applicata rem_subnet_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnare il valore B#16#00. rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • • 482 B#16#12: ISO on TCP 4: indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#03 Lunghezza del parametro rem_tsap_id impiegata next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato (in quanto la comunicazione avviene tramite interfaccia integrata). Assegnare il valore B#16#00. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti Parametri Tipo di dati Valori nell'esempio Descrizione local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 ID del TSAP locale: 0xE00301 • local_tsap_id[2] = B#16#03 • local_tsap_id[3] = B#16#01 • local_tsap_id[4-16] = B#16#00 rem_subnet_id ARRAY [1..6] of BYTE rem_subnet_id[1-6] = B#16#00 Questo parametro non viene impiegato. Assegnare il valore 0. rem_staddr ARRAY [1..6] of BYTE "192.168.0.14" Indirizzo IP del punto finale del collegamento remoto rem_tsap_id ARRAY [1..16] of BYTE • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#00 (0) • rem_staddr[4] = B#16#0E (14) • rem_staddr[5-6] = B#16#00 • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#03 • rem_tsap_id[3] = B#16#01 • rem_tsap_id[4-16] = B#16#00 ID del TSAP remoto: 0xE00301 next_staddr ARRAY [1..6] of BYTE next_staddr[1-6] = B#16#00 Questo parametro non viene impiegato (in quanto la comunicazione avviene tramite interfaccia integrata) spare WORD W#16#0000 Questo parametro non viene impiegato. Assegnare il valore 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 483 Comunicazione aperta tramite Industrial Ethernet 24.8 Inizializzazione del collegamento con l'FB 65 "TCON" 24.8 Inizializzazione del collegamento con l'FB 65 "TCON" Il numero dei possibili collegamenti TCP oppure UDP è indicato nei dati tecnici della CPU. Impiego dell'FB 65 "TCON" con i protocolli TCP e ISO on TCP Entrambe i partner di comunicazione richiamano il parametro FB 65 "TCON" per la configurazione e la creazione del collegamento di comunicazione. Nel corso della parametrizzazione è possibile determinare quale punto finale della comunicazione debba essere attivo e quale passivo. Il collegamento configurato e creato viene ora controllato e mantenuto automaticamente dalla CPU. In caso di interruzione del collegamento dovuta, p. es. alla rottura del conduttore o causata da un partner di comunicazione remoto, la CPU attiva cerca di ripristinare il collegamento configurato. Non è necessario chiamare nuovamente FB 65 "TCON". Richiamando il parametro FB 66 "TDISCON" o attivando lo stato di funzionamento STOP della CPU si ha l'interruzione del collegamento esistente e la rimozione del collegamento configurato. Per il ripristino e la nuova configurazione del collegamento richiamare nuovamente il parametro FB 65 "TCON" Impiego dell'FB 65 "TCON" con il protocollo UDP Per consentire la configurazione del punto di accesso alla comunicazione locale (porta locale), entrambi i partner di comunicazione richiamano l'FB 65 "TCON". Viene così configurato il collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. La creazione collegamento con il partner remoto non ha luogo. Il punto di accesso locale viene utilizzato nell’invio e nella ricezione di telegrammi UDP. Durante la parametrizzazione del punto di accesso locale (UDT65) oppure durante la parametrizzazione del partner remoto (UDT 66) i seguenti parametri devono essere uguali: • 484 con il protocollo UDP: ID del collegamento e N. della porta locale. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.8 Inizializzazione del collegamento con l'FB 65 "TCON" Modalità operative L'FB 65 "TCON" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende più richiami dell'FB. L'avvio dell'ordine per la creazione e la configurazione del collegamento avviene richiamando FB 65 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL e BUSY nelle SFC asincrone). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 65 ovvero il momento della creazione o della configurazione del collegamento (con la comunicazione TCP e ISO on TCP). BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST avvia l'ordine di creazione del collegamento tramite ID. L'avvio dell'ordine avviene con fronte di salita. ID INPUT WORD M, D, Cost. ID del collegamento da creare con il partner remoto oppure tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a DONE OUTPUT BOOL E, A, M, D, L W#16#0FFF BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L Parametro di stato DONE: • 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • STATUS OUTPUT WORD M, D ERROR=1: si è verificato un errore durante l'elaborazione. STATUS offre informazioni dettagliate sul tipo di errore Parametro di stato STATUS: informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 485 Comunicazione aperta tramite Industrial Ethernet 24.8 Inizializzazione del collegamento con l'FB 65 "TCON" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione CONNECT IN_OUT ANY D Il puntatore si trova sulla relativa descrizione del collegamento (UDT 65), vedere Parametrizzazione dei collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP und Parametrizzazione del punto di accesso della comunicazione locale tramite il protocollo UDP Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 È stato possibile creare il collegamento 0 7000 Nessuna elaborazione dell'ordine attiva 0 7001 Avvio dell'elaborazione dell'ordine in corso 0 7002 Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in 1 8086 L'ID si trova al di fuori del campo ammesso. 0 8087 È stato raggiunto il numero max. dei collegamenti, non sono possibili ulteriori collegamenti 1 8089 Il parametro CONNECT non indica u n blocco dati 1 809A Il parametro CONNECT indica un campo che non presenta la lunghezza della descrizione del collegamento (UDT65) 1 809B Il parametro local_device_id indicato nella descrizione del collegamento non si addice alla CPU 1 80A0 Errore cumulativo per i codici di errore W#16#80A1 e W#16#80A2 1 80A1 Il collegamento o la porta sono già stati assegnati dall'utente 1 80A2 La porta locale o remota è stata assegnata dal sistema 1 80A3 Corso È stato effettuato il tentativo di creare nuovamente una comunicazione già esistente. 486 1 80A4 L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide eventualmente con l'indirizzo IP proprio 1 80A7 Errore di comunicazione: è stato richiamato TDISCON mentre TCON non aveva ancora terminato. Mediante il richiamo di TDISCON viene ora eseguita la disconnessione anticipata. 1 80B2 Il parametro CONNECT indica un blocco dati creato con la parola chiave UNLINKED. 1 80B3 Parametrizzazione incoerente: errore cumulativo per i codici di errore W#16#80A0 ... W#16#80A2, W#16#80A4, W#16#80B4 .... W#16#80B9 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.8 Inizializzazione del collegamento con l'FB 65 "TCON" ERROR STATUS (W#16#...) Spiegazione 1 80B4 Inosservanza della condizione ISO on TCP (connection_type = B#16#12) durante la creazione passiva del collegamento (active_est = FALSE) oppure inosservanza di una delle seguenti condizioni: • local_tsap_id_len >= B#16#02 • local_tsap_id[1] = B#16#E0 • In local_tsap_id_len >= B#16#03 local_tsap_id[1] è un carattere ASCII • local_tsap_id[1] è un carattere ASCII e local_tsap_id_len >= B#16#03 1 80B5 Errore nel parametro active_est (UDT 65) nella variante del protocollo UDP 1 80B6 Errore di parametrizzazione relativo al parametro connection_type (UDT 65) 1 80B7 Errore in uno dei seguenti parametri dell'UDT 65: block_length, local_tsap_id_len, rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len, next_staddr_len 1 80B8 L'ID del parametro nella descrizione del collegamento locale (UDT 65) e l'ID del parametro non coincidono. 1 80C3 • 1 80C4 Errore di comunicazione temporaneo: 1 8xyy Tutte le risorse di collegamenti sono occupate. • il collegamento non può essere per ora creato. • l'interfaccia viene nuovamente parametrizzato. Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 487 Comunicazione aperta tramite Industrial Ethernet 24.9 Sconnessione con l'FB 66 "TDISCON" 24.9 Sconnessione con l'FB 66 "TDISCON" Impiego dell'FB 66 "TDISCON" con i protocolli TCP e ISO on TCP L'FB 66 "TDISCON" disconnette il collegamento della CPU con un partner di comunicazione Impiego dell'FB 66 "TDISCON" con il protocollo UDP L'FB 66 "TDISCON" disconnette il punto di accesso alla comunicazione locale ovvero il collegamento tra il programma utente e il livello di comunicazione del sistema operativo. Modalità operative L'FB 66 "TDISCON" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende più richiami dell'FB. L'attivazione dell'ordine di disconnessione avviene richiamando l'FB 66 mediante REQ = 1. Dopo l’esecuzione riuscita del parametro FB 66 "TDISCON", l’ID indicato nell'FB 65"TCON" non è più valido e non può più essere impiegato né per l’invio né per la ricezione. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL e BUSY nelle SFC asincrone). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 66 ovvero quando l'inizializzazione del collegamento è terminata. 488 BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori.. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.9 Sconnessione con l'FB 66 "TDISCON" Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva l'ordine di disconnessione del collegamento indicato dall'ID. L'avvio dell'ordine avviene con fronte in salita. ID INPUT WORD M, D, Cost. ID del collegamento al partner remoto da sconnettere oppure della sconnessione tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L • 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • STATUS OUTPUT WORD M, D ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore. Parametro di stato STATUS: Informazioni di errore Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 È stato possibile creare il collegamento 0 7000 Nessuna elaborazione dell'ordine attiva 0 7001 Avvio dell'elaborazione dell'ordine in corso 0 7000 Primo richiamo di REQ=0, non è stato dato avvio alla disconnessione 0 7001 Primo richiamo di REQ=1, attivazione del collegamento in corso 0 7002 Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in corso 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 80A3 È stato effettuato il tentativo disconnettere una comunicazione inesistente 1 80C4 Errore di comunicazione temporaneo: l'interfaccia viene nuovamente parametriizzata oppure il collegamento viene attualmente configurato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 489 Comunicazione aperta tramite Industrial Ethernet 24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND 24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND Descrizione L'FB 63 "TSEND" invia dati mediante un collegamento di comunicazione esistente. Modalità operative L'FB 63 "TSEND" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. Per iniziare l'operazione di invio, richiamare l'FB 63 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL e BUSY nelle SFC asincrone). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 63 ovvero quando l'inizializzazione del collegamento è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di Elaborazione dell'ordine in corso rilievo FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Avvertenza Per effetto del funzionamento asincrono dell'FB 63 "TSEND", la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore TRUE. 490 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva l'ordine di invio con fronte di salita. I dati vengono trasferiti dall’area indicata nei parametri DATA e LEN ID INPUT WORD M, D, Cost. ID del relativo collegamento. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Numero max. di byte da inviare con l'ordine; vedere anche Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L • 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. Non è possibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • STATUS OUTPUT WORD M, D ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore Parametro di stato STATUS: Informazioni di errore DATA IN_OUT ANY E, A, M, D Area di trasmissione; contiene indirizzo e lunghezza L'indirizzo indica: • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati • Avvertenza: non utilizzare ARRAY of BOOL come area di trasmissione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 491 Comunicazione aperta tramite Industrial Ethernet 24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 L'ordine di invio dati si è concluso senza errori 0 7000 Nessuna elaborazione del collegamento attiva 0 7001 Avvio dell'elaborazione del collegamento Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nell'area di invio DATA. 0 7002 Richiamo intermedio (non di rilievo per REQ), ordine in corso Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nell'area di invio DATA. 1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA 1 80A1 Errore di comunicazione: Non è ancora stato richiamato il collegamento indicato • il collegamento indicato viene attualmente interrotto. Impossibile effettuare un'operazione di invio tramite questo collegamento. • L'interfaccia viene nuovamente inizializzata 1 80B3 Il collegamento parametrizzato (parametro connection_type nella descrizione del collegamento) è di tipo UDP. Impiegare il parametro FB 67 "TUSEND". 1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità. • Scarsità di risorse interne 1 1 492 • 80C4 8xyy Errore di comunicazione temporaneo: • è attualmente impossibile creare il collegamento con il partner di comunicazione. • Parametrizzazione dell'interfaccia o creazione del collegamento in corso Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" Descrizione L'FB 64 "TRCV" riceve dati mediante un collegamento di comunicazione. Area di ricezione Questo termine indica l'area nella quale il blocco funzionale inserisce i dati ricevuti. L'area di ricezione è determinata da due grandezze: • Puntatore all'inizio dell'area • Lunghezza dell'area La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo impiegate, tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza del parametro DATA (se LEN = 0). Modalità di ricezione dell'FB 64 "TRCV" La tabella sottostante illustra l'inserimento da parte dell'FB 64 dei dati ricevuti nell'area di ricezione. Variante di protocollo Inserimento dei dati nell'area di ricezione Parametro "connection_type" Valore del parametro LEN TCP Modalità B#16#01, B#16#11 0 TCP Datenempfang mit vorgegebener Länge B#16#01, B#16#11 <> 0 ISO on TCP Comandato dal protocollo B#16#12 0 (raccomandato) o <> 0 Modalità Ad hoc / TCP La modalità Ad hoc è disponibile soltanto nella variante di protocollo TCP. Per impostare questa modalità, assegnare il valore 0 al parametro LEN. L'area di ricezione è identica a quella creata con il parametro DATA. Vengono ricevuti max. 8192 byte. L'FB 64 provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di ricezione e ad impostare su 1 il valore di NDR. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 493 Comunicazione aperta tramite Industrial Ethernet 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" TCP / Ricezione dati con lunghezza prestabilita Per impostare la ricezione dati con lunghezza prestabilita, assegnare al parametro LEN un valore diverso da 0. La creazione dell'area di ricezione avviene tramite i parametri LEN e DATA. Subito dopo la ricezione dei byte LEN, l'FB 64 inserisce questi dati nell'area di ricezione e imposta NDR su 1. Trasmissione dati comandata dal protocollo ISO on TCP Con la variante di protocollo ISO on TCP il trasferimento dati avviene comandato da protocollo. I parametri LEN e DATA formano l'area di ricezione. Non appena la ricezione di tutti i dati di un ordine si è conclusa, l'FB 64 trasferisce questi dati nell'area di ricezione ed imposta NDR su 1. Scambio di dati del tipo STRING Per scambiare dati del tipo STRING con gli FB "TSEND" e "TRCV" è opportuno utilizzare solo la modalità Ad-hoc con LEN=0. Inoltre è necessario scegliere una lunghezza della stringa per l'FB "TRCV" che sia almeno pari a quella dell'FB "TSEND". Il mancato rispetto di questa regola può causare errori nella successiva elaborazione della stringa. Se si utilizza un ARRAY of BYTE come area di ricezione di una stringa di caratteri, il primo byte contiene la lunghezza massima predefinita dal mittente e il secondo la lunghezza attuale della stringa. 494 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" Modalità operative L'FB 64 "TRCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. L'avvio dell'ordine di ricezione avviene richiamando FB 64 mediante EN_R = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL_e BUSY nelle SFC asincrone). La tabella sottostante illustra la correlazione tra i parametri BUSY, NDR e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 64 "TRCV"ovvero quando l'operazione di ricezione è terminata BUSY NDR ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Avvertenza Per effetto del funzionamento asincrono dell'FB 64 "TRCV", la coerenza dei dati presenti nell’area di ricezione viene raggiunta soltanto quando il parametro NDR assume il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 495 Comunicazione aperta tramite Industrial Ethernet 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive: tramite EN_R = 1 l'FB 64 "TRCV" è pronto alla ricezione. Elaborazione dell'ordine di ricezione in corso ID INPUT WORD M, D, Cost. ID del rispettivo collegamento. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale. Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Lunghezza dell'area di ricezione in byte. Significato di LEN = 0 o LEN <> 0: vedere sopra (Modalità di ricezione dell'FB 64 "TRCV"). Campo valori: consultare il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili. NDR ERROR 496 OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L Parametro di stato NDR: • NDR = 0: l'ordine non è ancora stato avviato o è ancora corso • NDR = 1: l'ordine è stato eseguito senza errori Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS offre informazioni dettagliate sul tipo di errore BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: ordine non è ancora terminato. Impossibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. STATUS OUTPUT WORD M, D Parametro di stato STATUS: Informazione di errore RCVD_LEN OUTPUT INT E, A, M, D, L Numero in byte dei dati effettivamente ricevuti DATA IN_OUT ANY E, A, M, D Area di ricezione (vedere la definizione sopra riportata); contiene lunghezza e indirizzo L'indirizzo indica: • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati • Avvertenza: non utilizzare ARRAY of BOOL come area di ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 Sono stati acquisiti nuovi dati. La lunghezza effettiva dei dati ricevuti viene visualizzata in RCVD_LEN 0 7000 Il blocco è pronto alla ricezione 0 7001 Il blocco è pronto alla ricezione, l'ordine di ricezione è stato attivato 0 7002 Richiamo intermedio, ordine di ricezione in corso Avvertenza: durante la fase di elaborazione, l'FB scrive dati nell'area di ricezione che, in caso di errori, può pertanto contenere dati incoerenti. 1 8085 Il parametro LEN supera il valore max. consentito oppure il valore di uno dei parametri LEN o DATA è stato modificato dopo il primo richiamo 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 8088 • L'area di ricezione è troppo ridotta • Il valore indicato in LEN supera quello dell'area di ricezione prefissato tramite DATA 1 80A1 Errore di comunicazione: • non è ancora stato creato il collegamento indicato • il collegamento indicato viene attualmente interrotto. Impossibile ricevere dati tramite questo collegamento. • l'interfaccia viene nuovamente parametrizzata 1 80B3 La variante di protocollo parametrizzata (parametro connection_type nella descrizione del collegamento) è di tipo UDP. Impiegare l'FB 68 "TURCV". 1 80C3 • Un blocco dati recante questo ID viene attualmente elaborato in un'altra classe di priorità • Scarsità di risorse interne 1 1 80C4 8xyy Errore di comunicazione temporaneo: • La creazione del collegamento con il partner di comunicazione è provvisoriamente impossibile. • Nuova parametrizzazione dell'interfaccia e creazione del collegamento in corso. Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 497 Comunicazione aperta tramite Industrial Ethernet 24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND" 24.12 Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Descrizione L‘FB 67 "TUSEND" invia i dati tramite il protocollo UDP al partner remoto il cui indirizzo è indicato nel parametro ADDR ! Avviso Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma e quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata nel blocco Avvertenza In presenza di una successione di operazioni di invio di cui sono destinatari partner diversi, è necessario adeguare il parametro ADDR al richiamo dell‘FB 67 "TUSEND". Si rende invece superfluo il richiamo degli FB 65 "TCON" e 66 "TDISCON". Modalità operative L'FB 67 "TUSEND" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 67 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL e BUSY nelle SFC). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 67 ovvero quando l’operazione di invio è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Avvertenza Per effetto del funzionamento asincrono dell'FB 67 "TUSEND", la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore TRUE. 498 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND" Parametri Parametri Dichiara zione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST avvia l’ordine di invio con fronte di salita. I dati vengono trasferiti dell’area indicata nei parametri DATA e LEN ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale. Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Numero dei byte da inviare con l‘ordine Campo di valori: da 1 a 1472 DONE OUTPUT BOOL E, A, M, D, L BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L Parametro di stato DONE: • 0: l'ordine non è ancora stato avviato o è ancora corso. • l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. Impossibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di errore DATA IN_OUT ANY E, A, M, D Area di invio: contiene indirizzo e lunghezza L'indirizzo indica: ADDR IN_OUT ANY D • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Il puntatore indica l’indirizzo del ricevente (p. es. P#DB100.DBX0.0 byte 8), vedere Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 499 Comunicazione aperta tramite Industrial Ethernet 24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND" Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 L’ordine di invio si è concluso senza errori 0 7000 Nessuna elaborazione dell'ordine attiva 0 7001 Avvio dell' elaborazione dell'ordine, invio dati in corso Avvertenza: durante questa fase dell'elaborazione il sistema operativo accede ai dati nell'area di invio DATA. 0 7002 Richiamo intermedio ( REQ non di rilievo ), ordine in corso Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nell'area di invio DATA. 1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito 1 8086 L'ID del parametro si trova in un campo valori non ammesso 0 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA 1 8089 Il parametro ADDR non indica un blocco dati 1 80A1 il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo non è ancora stato creato. • il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo viene momentaneamente interrotto. Un'operazione di invio tramite questo collegamento non è possibile. • L'interfaccia viene nuovamente inizializzata 1 80A4 L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide eventualmente con l'indirizzo IP proprio 1 80B3 • La variante di protocollo parametrizzata (parametro connection_type nella descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 63 "TSEND". • Parametro ADDR: indicazioni errate del n. della porta 1 80B7 Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte. 1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità. • Scarsità di risorse interne 1 1 500 Errore di comunicazione: • 80C4 8xyy Errore di comunicazione temporaneo: • La creazione del collegamento tra il programma utente ed il livello di comunicazione del sistema operativo non è momentaneamente possibile. • L'interfaccia viene nuovamente parametrizzata. Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV" 24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV" Descrizione L'FB 68 "TURCV" riceve i dati tramite il protocoll_o UDP. Al termine della ricezione da parte dell‘FB 68 "TURCV", nel parametro ADDR viene indicato l’indirizzo del partner remoto ovvero del mittente. ! Avviso Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma e quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata nel blocco. Modalità operative L'FB 68 "TURCV" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende più richiami dell'FB. L'attivazione dell’ordine di invio avviene richiamando FB 68 mediante EN_R = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. . STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato di REQ, RET_VAL e BUSY nelle SFC asincrone). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 68 ovvero quando la ricezione è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Avvertenza Per effetto del funzionamento asincrono dell'FB 68 "TURCV" la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando il parametro NDR avrà assunto il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 501 Comunicazione aperta tramite Industrial Ethernet 24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV" Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive: Mediante EN_R = 1, l‘FB 68 "TURCV" è pronto alla ricezione. Elaborazione dell'ordine di ricezione in corso ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Per quanto concerne la lunghezza dell'area di ricezione in byte, consultare il capitolo Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet : 0 (empfohlen) oppure 1 ... 1472 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: ERROR BOOL E, A, M, D, L NDR = 0: l'ordine non è ancora stato avviato o è ancora corso. • NDR = 1: l'ordine è stato eseguito senza errori Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato terminato. Impossibile avviare un nuovo ordine • BUSY = 0: l'ordine è terminato. STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di errore RCVD_LEN OUTPUT INT E, A, M, D, L Numero dei dati effettivamente ricevuti in byte DATA IN_OUT ANY E, A, M, D Area di ricezione (per la definizione consultare il capitolo Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet ) L'indirizzo indica: ADDR 502 OUTPUT • IN_OUT ANY D • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Il puntatore indica l’indirizzo del mittente (p. es. P#DB100.DBX0.0 byte 8), vedere Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV" Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 Acquisizione di nuovi dati. La lunghezza attuale dei dati ricevuti viene visualizzata in RCVD_LEN. 0 7000 Il blocco è pronto alla ricezione 0 7001 Il blocco è pronto alla ricezione. L'ordine di ricezione è stato attivato 0 7002 Richiamo intermedio, ordine di ricezione in corso Avvertenza: in questa fase di elaborazione l'FB 68 scrive i dati nell'area di ricezione che, in caso di errori, può pertanto contenere dati incoerenti. 1 8085 Il parametro LEN supera il valore massimo consentito oppure il valore di uno dei parametri LEN oppure DATA è stato modificato rispetto al primo richiamo 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 8088 • l'area di destinazione (DATA) è troppo ridotta • Il valore del parametro LEN è maggiore rispetto a quello prefissato in DATA per l’area di ricezione 1 8089 Il parametro ADDR non inidica un blocco dati 1 80A1 Errore di comunicazione: • il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo non è ancora stato creato. • il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo viene momentaneamente interrotto. Un'operazione di ricezione tramite questo collegamento non è possibile. • L'interfaccia viene nuovamente parametrizzata 1 80B3 La variante di protocollo parametrizzata (parametro connection_type nella descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 64 "TRCV". 1 80B7 Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte. 1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità. • Scarsità di risorse interne 1 80C4 Errore di comunicazione temporaneo: nuova parametrizzazione dell'interfaccia in corso. 1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 503 Comunicazione aperta tramite Industrial Ethernet 24.14 Accoppiamento mediante TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 210 "FW_TCP" 24.14 Accoppiamento mediante TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 210 "FW_TCP" Descrizione L'FB 210 "FW_TCP" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 210 deve essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve essere inserita la descrizione del rispettivo collegamento TCP passivo. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione ENABLE INPUT BOOL E, A, M, D, L Questo parametro consente di inizializzare l'attivazione e la disattivazione del collegamento: • 0 = il collegamento viene disattivato • 1 = il collegamento viene attivato CONNECT INPUT ANY D Puntatore sulla descrizione del relativo collegamento TCP passivo (UDT 65) ADDRMODE INPUT INT E, A, M, D, L Questo parametro stabilisce il tipo di interpretazione della struttura della richiesta di dati: • 0= • 1 = modo di indirizzamento S5 (orientato alla parola) modo di indirizzamento S7 (orientato ai byte) NDR OUTPUT BOOL E, A, M, D, L Questo parametro indica l'avvenuta acquisizione dei dati del job WRITE nonché la generazione e l'invio del telegramma di conferma. ERROR OUTPUT BOOL E, A, M, D, L Questo parametro viene impostato al verificarsi di un errore durante la creazione o la separazione del collegamento oppure durante l'invio o la ricezione di dati MODE OUTPUT BYTE E, A, M, D, L Questo parametro indica l'esecuzione in corso di un job FETCH o WRITE: STATUS OUTPUT WORD M, D • 0 = nessun job attivo • 1 = job WRITE • 2 = job FETCH Nel parametro STATUS vengono emessi i bit di stato della comunicazione interni Ulteriori informazioni La descrizione dettagliata dell'FB 210 "S5FW_TCP" è disponibile sul DVD di STEP 7 nella directory CD_2\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e per la lingua italiana, x=b per la lingua inglese). 504 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Comunicazione aperta tramite Industrial Ethernet 24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "S5FW_IOT" 24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "S5FW_IOT" Descrizione L'FB 220 "S5FW_IOT" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 220 deve essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve essere inserita la descrizione del rispettivo collegamento ISO-on-TCP passivo. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione ENABLE INPUT BOOL E, A, M, D, L Su questo parametro è stato preimpostato il valore "TRUE". Il collegamento ISO-on-TCP viene così creato automaticamente. CONNECT INPUT ANY D Puntatore sulla descrizione del relativo collegamento ISO-on-TCP passivo (UDT 65) ADDRMODE INPUT INT E, A, M, D, L Questo parametro stabilisce il tipo di interpretazione della struttura della richiesta di dati: • 0 = modo di indirizzamento S7 (orientato ai byte) • 1 = modo di indirizzamento S5 (orientato alla parola) NDR OUTPUT BOOL E, A, M, D, L Questo parametro indica l'avvenuta acquisizione dei dati del job WRITE nonché la generazione e l'invio del telegramma di conferma. ERROR OUTPUT BOOL E, A, M, D, L Questo parametro viene impostato al verificarsi di un errore durante la creazione o la separazione del collegamento oppure durante l'invio o la ricezione di dati MODE OUTPUT BYTE E, A, M, D, L Questo parametro indica l'esecuzione in corso di un job FETCH o WRITE. STATUS OUTPUT WORD M, D • 0 = job WRITE • 1 = job FETCH Nel parametro STATUS vengono emessi i bit di stato della comunicazione interni Ulteriori informazioni La descrizione dettagliata dell'FB 220 "FW_IOT" è disponibile sul DVD di STEP 7 nella directory CD_2\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e per la lingua italiana, x=b per la lingua inglese). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 505 Comunicazione aperta tramite Industrial Ethernet 24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "S5FW_IOT" 506 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 25 Creazione di segnalazioni riferite ai blocchi 25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB SFB per la creazione di segnalazioni riferite ai blocchi Una segnalazione riferita ai blocchi si crea richiamando sul programma uno dei seguenti SFB: • SFB 36 "NOTIFY_8P" • SFB 33 "ALARM_8" • SFB 35 "ALARM_8P" Questi SFB hanno le seguenti caratteristiche: • Con gli SFB 36 "NOTIFY” e 31 "NOTIFY_8P” ogni cambio di segnale 0 -> 1 o 1 -> 0 riconosciuto al richiamo del blocco determina la trasmissione di una segnalazione. • Anche con gli SFB 33 "ALARM, 34 "ALARM 8” e 35 "ALARMP 8P” ogni cambio di segnale rilevato al richiamo del blocco determina la trasmissione di una segnalazione in caso di impostazione di default della procedura di segnalazione (segnalazione con conferma inattiva). • Se al contrario la segnalazione con conferma è attiva, ogni rilevamento di transizione di segnale non determina la trasmissione di una segnalazione (per maggiori informazioni vedere di seguito). • Una volta elaborato il blocco, le variabili (ingressi SD_i) sono completamente rilevate e assegnate alla segnalazione (vedere "Parametri di trasmissione e ricezione" in Parametri comuni delle SFB/FB e delle SFC/FC della comunicazione S7). Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i criteri seguenti: ogni variabile SD_i è di per sé coerente. • Con i parametri di stato DONE, ERROR e STATUS viene controllato lo stato di elaborazione del blocco (vedere "Parametri di stato" in Parametri comuni delle SFB/FB e delle SFC/FC della comunicazione S7). Avvertenza I parametri ID e EV_ID vengono rilevati solo al primo richiamo del blocco (i parametri attuali o i valori predefiniti dall'istanza). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 507 Creazione di segnalazioni riferite ai blocchi 25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB Collegamenti di controllori visualizzati La premessa per la trasmissione di una segnalazione da parte degli SFB per la creazione di segnalazioni riferite ai blocchi quando questi riconoscono una transizione di segnale, è che si sia collegato almeno un controllore visualizzato (ad es. WinCC) per segnalazioni riferite ai blocchi. In mancanza di segnalazioni il parametro STATUS fornisce il valore 1. Rilevamento di transizioni di segnale Per ogni istanza di un blocco di segnalazione è disponibile una memoria segnalazioni con due spazi. Inizialmente questa memoria segnalazioni è vuota. Non appena l'SFB individua una transizione di segnale nell'ingresso SIG o in uno degli ingressi SIG 1,… SIG 8, questa viene registrata nel primo spazio, che rimane occupato fino a quando la rispettiva segnalazione viene trasmessa. La successiva transizione di segnale rilevata nell'ingresso SIG o in uno degli ingressi SIG_1 … SIG 8, viene registrata nel secondo spazio. Se il primo spazio è ancora occupato, e seguono altre transizioni di segnale, viene sovrascritto sempre il secondo spazio nella memoria segnalazioni. Questa perdita di segnalazioni viene visualizzata tramite i parametri d'uscita ERROR e STATUS (ERROR=0, STATUS=11). Inoltre i controllori visualizzati ne ricevono comunicazione con la successiva segnalazione che può essere trasmessa. Nel caso in cui si liberi il primo spazio, il contenuto del secondo spazio viene trasferito nel primo, liberando così il secondo spazio. Segnalazione con conferma Per ridurre la quantità di segnalazioni nell'impianto è possibile utilizzare la procedura di segnalazione con conferma con gli SFB 33 "ALARM”, 34 "ALARM_8” e 35 "ALARM 8P”. Questa procedura prevede che dopo la creazione di una segnalazione entrante (transizione di segnale da 0 a 1) non vengano più create segnalazioni per lo stesso segnale fino a quando l'utente fornisce conferma su un sistema di visualizzazione. La segnalazione successiva, mostrata sul sistema di visualizzazione dopo la conferma, è un messaggio uscente (transizione del segnale da 1 a 0). Quindi il ciclo di segnalazioni ricomincia con una segnalazione entrante (transizione del segnale da 0 a 1), che deve essere confermata. In questo modo l'utente può controllare attraverso il sistema di visualizzazione la segnalazione di transizioni del segnale (fino alla segnalazione uscente). La procedura di segnalazione (segnalazione con conferma attiva o inattiva) per gli SFB da 33 a 35 si definisce nella progettazione con STEP 7 per tutta la CPU. Di default la segnalazione con conferma è disattivata. Affinché l'analisi delle segnalazioni sia uniforme all'interno dell'impianto, occorre assicurarsi che in caso di impiego della segnalazione con conferma tutti i controllori siano in grado di eseguire questa procedura. Avvertenza in caso di impiego di controllori non in grado di eseguire la segnalazione con conferma Qualora nella propria CPU sia stata attivata la segnalazione con conferma, la CPU trasmette le segnalazioni solamente ai controllori che supportano questa procedura di segnalazione. Qualora nessuno dei controllori sia in grado di eseguire tale procedura, la CPU non trasmette alcuna segnalazione. Questo viene segnalato una volta con ERROR=1 e STATUS=1. 508 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB Conferma delle segnalazioni con gli SFB 33 "ALARM", 34 "ALARM_8" e 35 "ALARM_8P" Viene utilizzato il concetto di conferma centrale. Cioè, se una segnalazione è stata confermata in un controllore visualizzato, questa informazione di conferma viene trasmessa in un primo momento alla CPU che ha generato la segnalazione. Da qui l'informazione di conferma viene trasmessa a tutti i nodi allacciati. Si conferma sempre un segnale e non una singola segnalazione. Nel caso per esempio, che siano stati segnalati più fronti di salita di un segnale e l'evento entrante venga confermato, tutti gli eventi precedentemente arrivati con lo stesso numero di segnalazione si ritengono confermati. Visualizzazione della conferma L'SFB 36 "NOTIFY" e l'SFB 31 "NOTIFY_8P” non dispongono di visualizzazione della conferma. Con l'SFB 33 "ALARM" è possibile rilevare lo stato di conferma nei parametri d'uscita ACK_UP e ACK_DN e con gli SFB 35 "ALARM_8P" e 34 "ALARM_8" nel parametro di uscita ACK_STATE. Queste uscite vengono aggiornate al momento del richiamo del blocco se il parametro di comando EN_R ha valore 1. Inibizione e abilitazione delle segnalazioni mediante SFC o controllore (WinCC) Può essere utile sopprimere delle segnalazioni, per esempio in caso di modifiche all'impianto. Si ha perciò la possibilità di inibire e poi riabilitare le segnalazioni partendo da un controllore visualizzato o dal programma. L'inibizione/abilitazione vale per tutti i nodi che si sono allacciati per la relativa segnalazione. L'inibizione rimane in essere fino a che non viene riabilitata la segnalazione relativa. Tramite i parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 21) viene comunicato se delle segnalazioni sono state inibite. Fabbisogno di memoria degli SFB per la creazione di segnalazioni riferite ai blocchi Per poter svolgere senza problemi la loro funzione, gli SFB per la creazione di segnalazioni riferite ai blocchi necessitano di un buffer di dati di comunicazione dipendente dalla variabile nell'area di lavoro della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente. Tipo di blocco Fabbisogno di memoria di lavoro della CPU in byte NOTIFY 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 NOTIFY_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 ALARM 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 ALARM_8 100 ALARM_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 AR_SEND 54 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 509 Creazione di segnalazioni riferite ai blocchi 25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB Numero dei dati da trasmettere Il numero dei dati che si possono trasmettere tramite le variabili SD_i degli SFB NOTIFY, NOTIFY_8P, ALARM e ALARM_8P non deve superare una lunghezza massima. Questa lunghezza dati massima viene calcolata nel modo seguente: maxleng = min (pdu_lokal, pdu_remote) - diff - 4 * numero parametri SD_i utilizzati Per questa formula vale quanto segue: • min (pdu_lokal, pdu_remote): valore minimo dei numeri pdu_lokal e pdu_remote • pdu_lokal: lunghezza massima dei blocchi dati della propria CPU (vedere relativi dati tecnici) • pdu_remote: lunghezza massima dei blocchi dati dei display • diff = 48 se è attiva la segnalazione con conferma e 44 se non è attiva Esempio: Una CPU 414-2 trasmette messaggi tramite un Industrial Ethernet a WinCC. La segnalazione con conferma è inattiva. Vengono utilizzate le variabili SD_1, SD_2 e SD_3. pdu_lokal = 480 byte, pdu_remote = 480 byte. Numero dei parametri SD_i utilizzati: 3 Utilizzando la formula: maxleng = min (480, 480) - 44 - 4 * 3 = 480 - 44 - 12 = 424 La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 424 byte. 510 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" 25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" Descrizione L'SFB 36 "NOTIFY" controlla un segnale. Sia in presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento uscente), l'SFB 36 genera una segnalazione, alla quale possono essere attribuiti fino a dieci variabili. La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale. Le variabili vengono registrate al momento del rilevamento del fronte e assegnate alla segnalazione. Per ogni istanza dell'SFB 36 "NOTIFY” è disponibile una memoria segnalazioni con due spazi. Maggiori informazioni sulla memoria intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. L'SFB 36 "NOTIFY" è conforme alla norma IEC 1131-5. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SIG INPUT BOOL E, A, M, D, L Segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L,) Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 36 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. ID rilevata solo al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero di messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità) Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di una informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 511 Creazione di segnalazioni riferite ai blocchi 25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SD_i, IN_OUT E, A, M, D, T, Z i-esima variabile ANY 1≤i ≤10 Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (ad es.: P# DB10.DBX5.0 Byte 10) Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 36 che possono essere emesse tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato. 0 22 • Errore nel puntatore sulle variabili SD_i: - in riferimento a lunghezza o a tipo di dati variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. - • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione attivata viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento 1 3 Per la EV_ID specificata non è presente alcun collegamento 1 4 Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 36 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo dell'SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 36 • un DB globale invece di un DB di istanza. 1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 La memoria di lavoro non è sufficiente 1 21 Sistema H: richiamo dell'SFB durante l'aggiornamento 512 La segnalazione con la EV_ID specificata è inibita. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P" 25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P" Descrizione L'SFB 31 "NOTIFY_8P" è la versione ampliata a otto segnali dell'SFB 36 "NOTIFY". Viene creata una segnalazione se è stata rilevata una transizione di segnale in almeno un segnale. Al primo richiamo dell'SFB 31 viene sempre creata una segnalazione. Per tutti gli otto segnali è previsto un numero di segnalazione comune, che viene suddiviso in otto segnalazioni parziali nel controllore. Per ogni istanza dell'SFB 31 "NOTIFY_8P" è disponibile una memoria segnalazioni con due spazi. Maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale sono riportate nel paragrafo "Rilevamento di transizioni di segnale" Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. Avvertenza Nonostante la perdita di segnalazioni, al display vengono comunicati gli ultimi due cambiamenti di ogni segnale. ! Pericolo Prima di richiamare l'SFB 31 "NOTIFY_8P" in un sistema di automazione occorre essere certi che tutti i display collegati riconoscano questo blocco. Ciò è possibile se la versione del sistema di automazione utilizzato soddisfa almeno uno dei seguenti requisiti: STEP 7 dalla versione V5.1 Service Pack 3, WinCC dalla V5.1 Hot Fix 1, PCS 7 dalla V5.2 Service Pack 2, SIMATIC Device Driver dalla versione V5.6. In caso di mancata osservanza di tale indicazione, la comunicazione tra il sistema di automazione e i display collegati verrà interrotta. Di conseguenza non sarà possibile accedere all'impianto con i sistemi di visualizzazione collegati. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 513 Creazione di segnalazioni riferite ai blocchi 25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L. i-esimo segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE ID rilevata solo al primo richiamo. EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 31 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità); valore di default: 64 Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di una informazione di errore SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile 1 ≤ i ≤ 10 Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) 514 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 31 che possono essere trasmette tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato. 0 22 • Errore nel puntatore sulle variabili SD_i - in riferimento a lunghezza o a tipo di dati variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. - • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento 1 4 Al primo richiamo 1 10 • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 31 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 La memoria di lavoro non è sufficiente 1 21 Sistema H: richiamo dell'SFB durante l'aggiornamento La segnalazione con la EV_ID specificata è inibita. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 515 Creazione di segnalazioni riferite ai blocchi 25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM" 25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM" Descrizione L'SFB 33 "ALARM" controlla un segnale. • Funzionamento standard (vale a dire che la segnalazione con conferma è disattivata): sia in presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento uscente), il blocco genera una segnalazione, alla quale possono essere attribuite fino a dieci variabili. • Segnalazione con conferma attivata: dopo la creazione di una segnalazione entrante per il segnale, il blocco non genera altre segnalazioni fino a quando il messaggio entrante non viene confermato in un controllore (vedere anche Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale. L'uscita ACK_UP viene azzerata se è presente un fronte di salita. L'uscita viene impostata se la conferma dell'evento in entrata proviene da un controllore visualizzato collegato. Lo stesso vale per l'uscita ACK_DN, che viene azzerata in presenza di un fronte di discesa. L'uscita viene impostata se la conferma dell'evento in uscita proviene da un controllore visualizzato allacciato. Dopo l'arrivo della conferma da un controllore visualizzato collegato, l'informazione di conferma viene comunicata a tutti i nodi collegati. Per ogni istanza dell'SFB 33 "ALARM" è disponibile una memoria con due spazi. Per maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. L'SFB 33 "ALARM" è conforme alla norma IEC 1131-5. 516 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enable to receive fa in modo che le uscite ACK_UP e ACK_DN vengano aggiornate (EN_R=1) o non vengano aggiornate (EN_R=0) al richiamo del blocco. Con EN_R=0 i parametri di uscita ACK_UP e ACK_DN rimangono invariati. SIG INPUT BOOL E, A, M, D, L Segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L,) Canale dati per segnalazioni: W#16#EEEE ID analizzata solo al primo richiamo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM" Parametri Dichiarazione Tipo di dati EV_ID INPUT Area di memoria Descrizione DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 33 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore zero significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazioni terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT INT E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore ACK_DN OUTPUT BOOL E, A, M, D, L L'evento in uscita è stato confermato su un controllore visualizzato. Stato di inizializzazione: 1 ACK_UP OUTPUT BOOL E, A, M, D, L L'evento in arrivo è stato confermato su un controllore visualizzato. Stato di inizializzazione: 1 SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. 1≤i ≤10 Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (ad es.: P# DB10.DBX5.0 byte 10) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 517 Creazione di segnalazioni riferite ai blocchi 25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 33 che possono essere emesse tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato. 0 22 • • Errore nel puntatore sulle variabili SD_i - in riferimento a lunghezza o a tipo di dati - variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo - La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento. In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 Per la EV_ID specificata non è presente alcun collegamento 1 4 Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 33 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo degli SFB è stato indicato: 1 18 • un DB di istanza che non appartiene all'SFB 33 • un DB globale invece di un DB di istanza L'EV_ID è già stata utilizzata da uno degli SFB 31 0 da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco le uscite ACK_UP e ACK_DN hanno valore 1 e il valore storico dell'ingresso SIG viene assunto a 0. 518 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" 25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" Descrizione L'SFB 35 "ALARM_8P" è il lineare ampliamento a otto segnali dell'SFB 33 "ALARM". Qualora la procedura di segnalazione con conferma non sia stata attivata, viene sempre generata una segnalazione se almeno per un segnale è stato riconosciuta una transizione di segnale (eccezione: al primo richiamo viene sempre trasmessa una segnalazione). Per tutti otto i segnali c'è un numero di segnalazione comune, che viene suddiviso sul controllore visualizzato in otto segnalazioni parziali. È possibile confermare ogni singola segnalazione parziale oppure più segnalazioni parziali in una sola volta. Tramite il parametro di uscita ACK_STATE è possibile continuare ad elaborare nel programma lo stato di conferma delle singole segnalazioni. In caso di inibizione o di abilitazione di una segnalazione di un blocco ALARM_8P, viene inibito o abilitato sempre tutto il blocco ALARM _8P. Non è possibile inibire o abilitare singoli segnali. Per ogni istanza dell'SFB 35 "ALARM_8P" è disponibile una memoria con due spazi. Per maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enable to receive fa in modo che l'uscita ACK_STATE venga aggiornata al richiamo del blocco (EN_R=1) oppure non venga aggiornata (EN_R=0). i-esimo segnale da controllare SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE ID rilevata solo al primo richiamo. EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 35 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore zero significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazioni terminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 519 Creazione di segnalazioni riferite ai blocchi 25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" Parametri Dichiarazione Tipo Area di memoria Descrizione ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore ACK_STATE OUTPUT WORD E, A, M, D, L Campo di bit con l'attuale stato di conferma di tutte e otto le segnalazioni (1: evento confermato; 2: evento non confermato) SD_j, 1≤ j ≤10 IN_OUT ANY E, A, M, D, T, Z • I bit 0 … 7 sono impostati per l'evento in entrata con SIG_1 …SIG_7 • I bit 8 … 15 sono impostati per l'evento in uscita con SIG_1 … SIG_7 • Stato dell'inizializzazione: W#16#FFFF, cioè tutti gli eventi entranti e uscenti sono confermati j-esima variabile Le variabili valgono per tutti i messaggi. Sono ammessi solo i tipi di dati BOOL (non consentito campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 Byte 10) 520 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 35 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato. 0 22 • Errore nel puntatore sulle variabili SD_i - in riferimento a lunghezza o a tipo di dato variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. - • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 35 ERROR STATUS (decimale) Spiegazione 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo degli SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 35 • un DB globale invece di un DB di istanza 1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle entrate SIG_i, 1≤i≤8 sono assunti a 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 521 Creazione di segnalazioni riferite ai blocchi 25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8" 25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8" Descrizione L'SFB 34 "ALARM_8" - a prescindere dal fatto che le variabili D_1 ... SD_10 non sono presenti - è identico all'SFB 35 "ALARM_8P". Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enabled to receive fa in modo che l'uscita ACK_STATE venga aggiornata al richiamo del blocco (EN_R=1) oppure non venga aggiornata (EN_R=0). SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L i-esimo segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 34 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. ID rilevata solo al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY 522 INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8" Parametri Dichiarazione Tipo Area di memoria Descrizione ACK_STATE OUTPUT WORD E, A, M, D, L Campo di bit con l'attuale stato di conferma di tutte e otto le segnalazioni (1: evento confermato; 0: evento non confermato) • I bit 0 … 7 sono impostati per l'evento in entrata con SIG_1 …SIG_7 • I bit 8 … 15 sono impostati per l'evento in uscita con SIG_1 … SIG_7 • Stato dell'inizializzazione: W#16#FFFF, cioè tutti gli eventi entranti e uscenti sono confermati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 523 Creazione di segnalazioni riferite ai blocchi 25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 34 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato. 0 22 Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa: La segnalazione attivata viene trasmessa con SEVERITY = 127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento. In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 Al primo richiamo la EV_ID specificata è posta al di fuori dell'area ammessa. 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo degli SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 34 • un DB globale invece di un DB di istanza 1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle entrate SIG_i, 1≤i≤8 vengono assunti a 0. 524 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" 25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" Descrizione L'SFB 37 "AR_SEND" trasmette dati di archivio a tutti i sistemi di servizio e di controllo collegati a questo scopo. Questi comunicano nel telegramma di collegamento della CPU il numero di archivio rilevante. A seconda della memoria di lavoro della CPU e dell'area di operandi utilizzata, i dati di archivio possono arrivare fino a 65.534 byte. Nel creare i dati di archivio si deve tenere presente in struttura predefinita del sistema di servizio e di controllo utilizzato. L'attivazione del procedimento di trasmissione avviene dopo il richiamo del blocco e del fronte di salita all'ingresso di comando REQ. L'indirizzo di partenza dei dati di archivio da trasmettere viene assegnato attraverso SD_1, la lunghezza del blocco dati viene assegnata tramite LEN. La trasmissione dei dati avviene in modo asincrono rispetto all'esecuzione del programma utente. La conclusione positiva del procedimento di trasmissione viene visualizzata nel parametro di stato DONE con 1. Il procedimento di trasmissione in corso viene interrotto in presenza di un fronte di salita all'ingresso di comando R. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando request R INPUT BOOL E, A, M, D, L cost. Parametro di comando reset: interruzione del job attuale ID INPUT WORD E, A, M, D, cost. Canale dati per segnalazioni: W#16#EEEE AR_ID INPUT DWORD Cost. (E, A, M, D, L) Numero di archivio (non consentito: 0) ID rilevata solo al primo richiamo. AR_ID viene rilevata solamente al primo richiamo. Poi, per ogni richiamo dell'SFB 37 con il relativo DB di istanza vale il numero di archivio usato al primo richiamo. Il numero di archivio viene assegnato automaticamente da STEP7. Viene così garantita la coerenza dei numeri di archivio. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: trasmissione terminata ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 525 Creazione di segnalazioni riferite ai blocchi 25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SD_1 IN_OUT E, A, M, D, T, Z Puntatore sui dati di archivio. L'indicazione della lunghezza non viene analizzata. ANY Sono ammessi solo i tipi di dati BOOL ( non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. I dati di archivio devono essere configurati per il sistema di destinazione specifico. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) LEN 526 IN_OUT WORD E, A, M, D, L Lunghezza del blocco dati da trasmettere in byte Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 37 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Messaggio di avviso: nuovo job inefficace perché job precedente non ancora concluso. 0 25 La comunicazione è stata avviata. Il job è in fase di esecuzione. 1 1 Problemi di comunicazione 1 2 Conferma negativa, funzione non eseguibile 1 3 Per la AR_ID specificata non è presente alcun collegamento 1 4 • Errore nel puntatore dei dati di archivio SD_1 in riferimento a lunghezza o a tipo di dati. • Al primo richiamo la AR_ID specificata si trova al di fuori dell'area ammessa. 1 5 La richiesta di reset è stata eseguita 1 7 Job di reset irrilevante poiché la funzione in corso è stata conclusa oppure non è stata attivata (blocco in stato errato) 1 8 Errore di accesso del partner remoto 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellato) 1 12 Al richiamo degli SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 37 • un DB globale invece di un DB di istanza 1 18 AR_ID è già stata utilizzata da un SFB 37. 1 20 Memoria di lavoro insufficiente. Coerenza dei dati Per garantire la coerenza dei dati è possibile scrivere nella parte attualmente utilizzata dell'area di trasmissione SD_1 solo dopo che l'attuale trasmissione è terminata, quando p. es. il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 527 Creazione di segnalazioni riferite ai blocchi 25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG" 25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG" Descrizione Con la SFC 10 "DIS_MSG" (disable message) vengono inibite segnalazioni riferite ai blocchi creati con gli SFB, segnalazioni riferite ai simboli (SCAN) e segnalazioni cumulative tecnologiche. I messaggi da inibire vengono definiti tramite i parametri di ingresso MODE e MESGN. La condizione necessaria per l'avviamento positivo di un procedimento di inibizione con la SFC 10 "DIS_MSG" è che non sia attivo al momento alcun ulteriore procedimento di inibizione della SFC 10. Le segnalazioni che al richiamo della SFC 10 sono già pronti per essere trasmesse ma si trovano ancora in un buffer interno, non subiscono più l'inibizione, cioè vengono ancora trasmesse. Le uscite ERROR e STATUS degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e "ALARM_8" comunicano che la trasmissione di messaggi è inibita. Il procedimento di inibizione viene avviato se, al richiamo della SFC 10, viene occupato il parametro di ingresso REQ con 1. Modo di funzionamento Il procedimento di inibizione viene condotto in modo asincrono, cioè si può estendere a più richiami della SFC 10 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono: • Al primo richiamo (REQ = 1) la SFC 10 verifica i parametri di ingresso e cerca di occupare le risorse di sistema necessarie. In caso di riuscita W#16#7001 viene registrato in RET_VAL, BUSY viene impostato e l'inibizione avviata. In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato. BUSY in tal caso non può essere analizzato. • Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in corso. All'ultimo richiamo in RET_VAL viene registrato W#16#0000, se non è presente alcun errore. BUSY in questo caso viene indicato con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere analizzato. 528 Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: avvia inibizione MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della segnalazione da inibire MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione Rilevante solo per MODE = 5, 6, 7. In tal modo può essere inibita una singola segnalazione. RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: il procedimento di inibizione non è ancora terminato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG" Parametri di ingresso MODE Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi. Valore Significato 0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e quelle cumulative tecnologiche della CPU. 1 Tutte le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutte le segnalazioni degli SFB "NOTIFY", "NOTIFY_8P”,"ALARM", "ALARM_8P" e "ALARM_8". 2 Tutte le segnalazioni cumulative tecnologiche della CPU 3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN) 5 Segnalazione singola della classe "segnalazioni riferite ai simboli" 6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB" 7 Segnale singolo della classe "segnalazioni cumulative tecnologiche" Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Inibizione terminata senza errori 7000 Primo richiamo con REQ = 0: inibizione non attivata 7001 Primo richiamo con REQ = 1: inibizione avviata 7002 Richiamo intermedio: inibizione già attiva 8081 Errore nell'accesso ad un parametro 8082 MODE ha valore non ammesso 8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa 8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente alcun collegamento 80C3 L'inibizione della segnalazione specificata tramite MODE ed eventualmente tramite MESGN non può essere avviata al momento, perché è già attivo un altro procedimento di inibizione della SFC 10. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 529 Creazione di segnalazioni riferite ai blocchi 25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG" 25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG" Descrizione Con la SFC 9 "EN_MSG" (enable message) vengono riabilitate le segnalazioni inibite riferite ai blocchi e ai simboli e le segnalazioni cumulative tecnologiche inibiti. L'inibizione può essere stata attivata da un controllore visualizzato o con la SFC 10 "DIS_MSG". Le segnalazioni da abilitare devono essere definite tramite i parametri di ingresso MODE e MESGN. Presupposto per l'avviamento positivo di un procedimento di abilitazione con la SFC 9 "EN_MSG" è che momentaneamente non sia attivo alcun altro procedimento di abilitazione della SFC 9. Il procedimento di abilitazione viene avviato se, al richiamo della SFC 9, il parametro di ingresso REQ viene occupato con 1. Modo di funzionamento Il procedimento di abilitazione viene condotto in modo asincrono, cioè si può estendere a più richiami della SFC 9 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. • Al primo richiamo (REQ = 1) la SFC 9 verifica i parametri di ingresso e cerca di occupare le risorse di sistema necessarie. In caso di riuscita in RET_VAL viene registrato W#16#7001, BUSY viene impostato e l'abilitazione avviata. In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato. BUSY in tal caso non può essere analizzato. • Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in corso. All'ultimo richiamo in RET_VAL viene registrato W#16#0000 se non è presente alcun errore. BUSY in questo caso viene descritto con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere analizzato. 530 Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1 : avvia abilitazione MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della segnalazione da abilitare MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione Rilevante solo per MODE = 5, 6, 7. In tal modo può essere abilitata una singola segnalazione RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore, vedere tabella NO TAG BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1 : il procedimento di abilitazione non è ancora terminato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG" Parametri di ingresso MODE Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi. Valore Significato 0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e tutte quelle cumulative tecnologiche della CPU. 1 Tutti le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutti le segnalazioni degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e "ALARM_8". 2 Tutte le segnalazioni cumulative tecnologiche della CPU 3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN) 5 Segnalazione singola della classe "segnalazioni riferite ai simboli" 6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB" 7 Segnale singolo della classe "segnalazioni cumulative tecnologiche" Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Abilitazione terminata senza errori 7000 Primo richiamo con REQ = 0: abilitazione non attivata 7001 Primo richiamo con REQ = 1: abilitazione avviata 7002 Richiamo intermedio: abilitazione già attiva 8081 Errore nell'accesso ad un parametro 8082 MODE ha valore non ammesso 8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa 8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente alcun collegamento 80C3 L'abilitazione delle segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non può essere momentaneamente avviata, perché è già attivo un altro procedimento di abilitazione della SFC 9. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 531 Creazione di segnalazioni riferite ai blocchi 25.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi 25.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi Comportamento al nuovo avviamento (avviamento a caldo) Al nuovo avviamento (avviamento a caldo) i DB di istanza degli SFB per la creazione di segnalazioni riferite ai blocchi vengono spostati nello stato non inizializzato. I parametri attuali memorizzati nei DB di istanza rimangono invariati. Con il successivo richiamo di blocco vengono nuovamente analizzati i parametri ID e EV_ID. Comportamento all'avviamento a freddo All'avviamento a freddo il contenuto dei DB di istanza degli SFB per la creazione di segnalazioni riferite ai blocchi vengono impostati ai valori iniziali. Comportamento al riavviamento Al riavviamento gli SFB per la creazione di segnalazioni riferite ai blocchi si comportano come blocchi funzionali utente che possono essere ripresi. Essi proseguono dal punto di interruzione. Comportamento dopo cancellazione totale La cancellazione totale porta sempre all'interruzione di tutti i collegamenti cosicché nessun nodo è più collegato per le segnalazioni. Il programma utente viene cancellato. Se è stata inserita una flashcard, le parti del programma rilevanti per lo svolgimento vengono nuovamente caricate nella CPU a partire da quel punto e la CPU esegue un nuovo avviamento (avviamento a caldo) o avviamento a freddo (implicitamente sempre avviamento a freddo poiché tutti i dati utente sono inizializzati dopo la cancellazione totale). 532 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi 25.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi Interruzione di collegamento I collegamenti assegnati alle istanze SFB vengono controllati in caso di interruzione. All'interruzione del collegamento il nodo colpito viene tolto dalla lista interna della CPU dei nodi allacciati per le segnalazioni riferite ai blocchi. Le segnalazioni ancora presenti per questo nodo vengono cancellate. Se dopo un'interruzione di collegamento sono allacciati ancora altri nodi, essi continuano a ricevere le segnalazioni. Gli SFB smettono di trasmettere solo quando i collegamenti a tutti i nodi allacciati sono interrotti. Avviene allora una visualizzazione nei parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 1). Interfaccia di errore per programma utente Se nell'esecuzione di un SFB per la creazione di segnalazioni riferite ai blocchi si verifica un errore, il parametro di uscita ERROR viene impostato a 1 e la relativa identificazione di errore viene registrata nel parametro di uscita STATUS. Questa informazione di errore può essere analizzata nel programma. Esempi di errori possibili: • Trasmissione non possibile per insufficienza di risorse • Errore nell'accesso ad uno dei segnali da controllare. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 533 Creazione di segnalazioni riferite ai blocchi 25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC 25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC SFC per la creazione di segnalazioni riferite ai blocchi Con le seguenti SFC è possibile creare una segnalazione riferita ai blocchi: • SFC 17 "ALARM_SQ" • SFC 18 "ALARM_S" • SFC 107 "ALARM_DQ" • SFC 108 "ALARM_D" Queste SFC hanno le seguenti caratteristiche: • le segnalazioni della SFC 17 "ALARM_SQ" e della SFC 107 "ALARM_DQ" trasmesse con stato di segnale 1 si possono confermare tramite un controllore visualizzato attivato. Le segnalazioni della SFC 18 "ALARM_S" e della SFC 108 "ALARM_D" sono sempre confermate implicitamente. • Una segnalazione non viene creata da un cambio di fronte riconosciuto, bensì da ogni richiamo di SFC. Consultare in questo caso i paragrafi Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi e Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D". • Una volta che è stato elaborato il blocco, la variabile SD è stata completamente rilevata ed è stata attribuita alla segnalazione. Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i criteri seguenti: coerenti sono • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte fino ad una lunghezza massima specifica della CPU. (vedere /71/, /101/). SFC 19 "ALARM_SC" Con l'aiuto della SFC 19 "ALARM_SC" è possibile rilevare: • lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17/SFC 107, oppure • lo stato di segnale all'ultimo richiamo della SFC 18/SFC 108. Collegamento di controllori visualizzati Premessa per la trasmissione di una segnalazione quando vengono richiamate le SFC per la creazione di segnalazioni riferite ai blocchi è che si sia collegato almeno un controllore visualizzato per segnalazioni riferite ai blocchi. 534 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC Bufferizzazione delle segnalazioni Affinché non vada persa alcuna segnalazione anche in presenza di un alto carico del sistema di comunicazione, le SFC 17, 18, 107 e 108 possono memorizzare temporaneamente due segnalazioni ciascuna. Se nonostante ciò dovessero andare perse delle segnalazioni se ne riceve comunicazione tramite RET_VAL. Con la successiva segnalazione trasmessa anche i controllori visualizzati collegati ne vengono informati. Conferma della segnalazione con la SFC 17 "ALARM_SQ" e la SFC 107 "ALARM_DQ" Se su un controllore visualizzato viene confermata una "segnalazione arrivata", questa informazione di conferma viene trasmessa in un primo momento alla CPU che ha causato la segnalazione. Da qui l'informazione di conferma viene distribuita a tutti i nodi allacciati. Inibizione e abilitazione delle segnalazioni Le segnalazioni riferite ai blocchi create con la SFC 17 "ALARM_SQ", la SFC 18 "ALARM_S", la SFC 107 "ALARM_DQ" o la SFC 108 "ALARM_D" non possono essere inibite per essere poi successivamente abilitate. Modifiche al programma che contiene richiami di SFC 17/SFC 18 Avvertenza Caricando un blocco già presente nella CPU con richiami delle SFC 17 e SFC 18 è possibile che il blocco esistente abbia già trasferito una segnalazione entrante e che il nuovo blocco non trasferisca la relativa segnalazione uscente. In questo modo la segnalazione rimane nella memoria delle segnalazioni interna della CPU. Tale situazione si può verificare anche quando si cancellano dei blocchi con richiami delle SFC 17 e SFC 18. Queste segnalazioni possono essere eliminate dalla memoria delle segnalazioni interna della CPU commutando la CPU nello stato di funzionamento STOP ed eseguendo poi un nuovo avviamento (avviamento a caldo) o un avviamento a freddo. Modifiche del programma utente che contiene richiami SFC 107/SFC 108 Anche se il programma dell'utente contiene richiami di SFC 107 e/o SFC 108, con le modifiche del programma sopra descritte le segnalazioni possono restare nella memoria interna delle segnalazioni e quindi occupare risorse del sistema in modo permanente. Al contrario delle risorse di sistema occupate da richiami di SFC 17/SFC 18, quelle occupate dai richiami delle SFC 107/SFC 108 possono essere riabilitate dall'utente senza dover portare la CPU in stato di STOP. Ciò succede impiegando la SFC 106 "DEL_SI", vedere Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI". Prima di abilitare le risorse di sistema a occupazione dinamica richiamando la SFC 106 "DEL_SI", può essere opportuno leggere con l'aiuto della SFC 105 "READ_SI" le informazioni sulle risorse del sistema attualmente occupate dinamicamente della propria CPU; vedere Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 535 Creazione di segnalazioni riferite ai blocchi 25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC Numero dei dati da trasmettere Il numero dei dati che si possono trasmettere tramite le variabili SD delle SFC ALARM_S, ALARM_SQ, ALARM_D e ALARM_DQ non deve superare una lunghezza massima. Questa lunghezza dati massima viene calcolata nel modo seguente: maxleng = min (pdu_lokal, pdu_remote) - 48 Dove: • pdu_lokal la lunghezza massima dei blocchi dati della propria CPU (SZL_ID W#16#0131, INDEX 1, pdu) • pdu_remote la lunghezza massima dei blocchi dati del controllore visualizzato Esempio: Una CPU 414-2 trasmette messaggi ad un PG 760 (tramite MPI). pdu_lokal = 480 byte, pdu_remote = 480 byte. Utilizzando la formula: maxleng = min (480, 480) - 48 = 480 - 48 = 432 La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 432 byte. 536 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" 25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" Avvertenza Nei programmi nuovi è opportuno utilizzare solo le SFC 107 e 108 (a condizione che la CPU supporti le SFC 107 e 108), perché offrono migliori funzioni di gestione delle risorse del sistema. Descrizione Le SFC 17 "ALARM_SQ" e SFC 18 "ALARM_S" generano ad ogni richiamo una segnalazione alla quale è possibile aggiungere una variabile. La segnalazione viene trasmessa a tutti i nodi allacciati. La SFC 17 e la SFC 18 mettono dunque a disposizione un semplice meccanismo di segnalazione. Si deve fare attenzione a richiamare le SFC 17/SFC 18 solo quando il valore del segnale SIG, che attiva le segnalazioni, è in negativo rispetto all'ultimo richiamo. Se ciò non avviene, se ne riceve comunicazione tramite RET_VAL e non viene trasmessa alcuna segnalazione. Fare anche attenzione che al primissimo richiamo delle SFC 17/SFC 18 all'ingresso SIG sia presente 1. Altrimenti RET_VAL fornisce un'informazione di errore e non viene trasmessa alcuna segnalazione. Avvertenza Richiamare la SFC 17 e la SFC 18 da un FB al quale sono stati prima assegnati gli attributi di sistema! Informazioni dettagliate per l'assegnazione di attributi di sistema ai blocchi si trovano in /234/ Occupazione delle risorse del sistema Durante la generazione delle segnalazioni con le SFC 17 "ALARM_SQ" e 18 "ALARM_S" il sistema operativo occupa una risorsa del sistema per la durata del ciclo del segnale. • Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati. Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio (avvio a caldo). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 537 Creazione di segnalazioni riferite ai blocchi 25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" Conferma delle segnalazioni Le segnalazioni trasmesse dalla SFC 17 "ALARM_RQ" con lo stato di segnale 1 possono essere confermate su un controllore visualizzato collegato. Lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17 possono essere rilevati con l'aiuto della SFC 19 "ALARM_SC". Le segnalazioni trasmesse con la SFC 18 "ALARM_S" sono sempre confermate implicitamente. Lo stato di segnale all'ultimo richiamo di SFC 18 può essere rilevato con l'aiuto della SFC 19 "ALARM_SC". Memorizzazione intermedia di stati di segnale La SFC 17 "ALARM_SQ" e la SFC 18 "ALARM_S" occupano momentaneamente delloe risorse del sistema. Qui vengono memorizzati temporaneamente tra l'altro entrambi gli ultimi stati di segnale, incluso la registrazione del tempo e la variabile. Se un richiamo della SFC 17/SFC 18 avviene in un momento in cui gli stati di segnale di entrambi gli ultimi richiami della SFC "validi" non sono ancora stati trasmessi (overflow di segnale), l'ultimo stato di segnale e quello attuale vengono annullati e viene impostata un'identificazione di overflow nella memoria intermedia. Non appena possibile sia il penultimo segnale che l'identificazione di overflow vengono trasmessi. Esempio: t t0 t1 t2 t0, t1 e t2 sono i punti di tempo di richiamo delle SFC 17/SFC 18. Se al punto di tempo t2 gli stati di segnale di t0 e t1 non sono ancora stati trasmessi, gli stati di segnale di t1 e t2 vengono annullati e allo stato di segnale di t0 viene impostata l'identificazione di overflow. 538 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" Overflow di istanza Se il numero dei richiami di SFC 17/SFC 18 è maggiore del numero massimo di risorse di sistema della CPU, si può arrivare ad una mancanza di risorse (overflow di istanze). Ciò viene comunicato sia tramite un'informazione di errore in RET_VAL, sia nei controllori visualizzati collegati. Il numero massimo di richiami delle SFC 17/SFC 18 dipende dalla CPU. Queste informazioni si trovano in /70/ e /101/ Parametri Dichiarazione Tipo Area di memoria Descrizione SIG INPUT BOOL E, A, M, D, L Segnale che attiva il messaggio ID INPUT WORD E, A, M, D, L cost. Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero della segnalazione (non consentito: 0). SD INPUT ANY E, A, M, D, T, Z Variabile Lunghezza massima: 12 byte Sono ammessi solo i tipi di dati: BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 539 Creazione di segnalazioni riferite ai blocchi 25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" Informazioni d'errore 540 Codice errore (W#16#...) Spiegazione 0000 Nessun errore 0001 • La variabile supera la lunghezza massima consentita oppure • L'accesso alla memoria utente non è possibile (p. es. accesso a DB cancellati). Il messaggio viene inviato • La variabile indica un valore nell'area dati locale. Il messaggio viene inviato. 0002 Avviso: È stata occupata l'ultima memoria libera di conferma segnalazione (soltanto nell' S7-400) . 8081 La EV_ID specificata è posta al di fuori dell'area ammessa. 8082 Perdita della segnalazione perché la CPU non ha più alcuna risorsa libera per la creazione di segnalazioni riferite ai blocchi attraverso le SFC. 8083 Perdita della segnalazione perché è già presente lo stesso cambio di segnale, ma non è stato ancora possibile trasmetterlo (overflow di segnale). 8084 Al richiamo attuale delle SFC 17/SFC 18 e a quello precedente il segnale SIG che attiva la segnalazione ha lo stesso valore. 8085 Per la EV_ID specificata non è presente alcun collegamento. 8086 Un richiamo di SFC per la EV_ID specificata è già in elaborazione in una classe di priorità con priorità minore. 8087 Al primo richiamo delle SFC 17/SFC 18 il segnale che ha attivato la segnalazione aveva valore 0. 8088 La EV_ID specificata viene già utilizzata da un altro risorsa di sistema (per SFC 17, 18, 107, 108). 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" 25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" Descrizione Con l'aiuto della SFC 19"ALARM_SC" è possibile rilevare • lo stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata e lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 17 "ALARM_SQ"/SFC 107 "ALARM_DQ" oppure • lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 18 "ALARM_S"/SFC 108 "ALARM_D". La segnalazione, oppure il segnale, è identificato in modo univoco tramite il numero della segnalazione assegnato, se sono stati attribuiti numeri delle segnalazioni con l'aiuto della progettazione delle segnalazioni. La SFC 19 "ALARM_SC" accede alla memoria delle SFC 17/SFC 18/SFC 107/SFC 108 temporaneamente occupata. Parametri Dichiarazione Tipo Area di memoria Descrizione EV_ID INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione della quale si desidera rilevare lo stato di segnale all'ultimo richiamo di SFC, oppure lo stato di conferma dell'ultima segnalazione arrivata (solo per SFC 17 e SFC 107) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore STATE OUTPUT BOOL E, A, M, D, L Stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC Q_STATE OUTPUT BOOL E, A, M, D, L Se il parametro specificato EV_ID appartiene a un richiamo di SFC 18/SFC 108: 1 Se il parametro specificato EV_ID appartiene a un richiamo di SFC 17/SFC 107: stato di conferma dell'ultimo messaggio arrivato: 0: non confermato 1: confermato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 541 Creazione di segnalazioni riferite ai blocchi 25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" Informazioni d'errore 542 Codice errore (W#16#...) Spiegazione 0000 Nessun errore 8081 La EV_ID specificata è posta al di fuori dell'area ammessa. 8082 Nessuna area di memoria momentaneamente assegnata a questa EV_ID (possibile causa: il relativo segnale non ha mai avuto lo stato 1, oppure ha nuovamente assunto lo stato 0). 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" 25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" Descrizione Le SFC 107 "ALARM_DQ" e 108 "ALARM_D" generano, a ogni richiamo, una segnalazione alla quale l'utente può annettere una variabile. Sotto questo aspetto esse coincidono con le SFC 17 "ALARM_SQ" e 18 "ALARM_S". Al momento della creazione delle segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" il sistema operativo occupa una risorsa di sistema per la durata del ciclo del segnale. • Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati. Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio (avvio a caldo). La migliore funzionalità delle SFC 107 "ALARM_DQ" e 108 "ALARM_D" rispetto alle SFC 17 e 18 consiste nel fatto che l'utente può gestire le risorse del sistema occupate: • con l'aiuto della SFC 105 "READ_SI" è possibile leggere informazioni sulle risorse del sistema occupate • con la SFC 106 "DEL_SI" è possibile abilitare nuovamente le risorse del sistema occupate. Questo aspetto è particolarmente importante nel caso di risorse del sistema occupate in modo duraturo. Una risorsa di sistema momentaneamente occupata, p. es., resta occupata in modo duraturo se l'utente, modificando il programma, cancella un richiamo di FB che contiene richiami di SFC107 o SFC108. Se nel modificare il programma si ricarica un FB con richiami di SFC 107 o SFC 108, può succedere che le SFC 107 e 108 non creino più le segnalazioni. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 543 Creazione di segnalazioni riferite ai blocchi 25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" Le SFC 107 e 108 hanno un parametro in più rispetto alle SFC 17 e 18, vale a dire l'ingresso CMP_ID. Questo permette di assegnare le segnalazioni create con le SFC 107 e 108 ad aree logiche, p. es. a impianti parziali. Se si richiamano le SFC 107/SFC 108 in un FB, è possibile occupare l'ingresso CMP_ID con il numero del relativo DB di istanza. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione SIG INPUT BOOL E, A, M, D, L Segnale che attiva la segnalazione ID INPUT WORD E, A, M, D, L, cost. Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero della segnalazione (non consentito: 0) CMP_ID INPUT DWORD E, A, M, D, L, cost. Component identifier (non consentito: 0) Identificazione del sistema parziale al quale è assegnata la segnalazione. Valori consigliati: • low word: 1 - 65535 • high word: 0 Seguendo queste raccomandazioni, si evita qualunque conflitto con pacchetti di programmazione Siemens SD INPUT ANY E, A, M, D, T, Z Variabile Lunghezza massima: 12 byte Sono ammessi solo i tipi di dati BOOL (non ammesso: campo bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME RET_VAL 544 OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 0001 • (soltanto nell'S7-400) • La variabile supera la lunghezza massima consentita oppure • L'accesso alla memoria utente non è possibile (p. es. accesso a un DB cancellato). Il messaggio viene inviato. • La variabile indica un valore nell'area dati locali. Il messaggio viene inviato 0002 Avviso: l'ultimo spazio di memoria disponibile per le segnalazioni è occupato (soltanto nell'S7-400). 8081 L'EV_ID indicata non è compresa nell'area consentita. 8082 Perdita della segnalazione perché la CPU non ha più risorse disponibili per creare segnalazioni riferite ai blocchi tramite SFC. 8083 Perdita della segnalazione perché lo stesso cambio di segnale è presente ma non ha ancora potuto essere inviato (overflow di segnale). 8084 Nel richiamo attuale delle SFC 107/SFC 108 e in quello precedente, il segnale di attivazione SIG ha lo stesso valore. 8085 Per l'EV_ID manca la registrazione utente. 8086 Un richiamo di SFC per l'EV_ID indicata è già in elaborazione in una classe di priorità inferiore. 8087 Con il primo richiamo delle SFC 107/SFC 108 il segnale di attivazione della segnalazione aveva il valore 0. 8088 L'EV_ID indicata viene già utilizzata da un'altra risorsa di sistema (con SFC 17, 18, 107, 108). 8089 L'utente ha assegnato a CMP_ID il valore 0. 808A CMP_ID non compatibile con EV_ID 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 545 Creazione di segnalazioni riferite ai blocchi 25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" 25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni con le SFC 107 e 108 Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo occupa momentaneamente uno spazio nella memoria del sistema. Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate correttamente. Descrizione Con la SFC 105 "READ_SI" è possibile leggere risorse di sistema occupate al momento della creazione di segnalazioni con le SFC 107 e 108, grazie ai valori qui utilizzati di EV_ID e CMP_ID. Questi vengono assegnati alla SFC 105 "READ_SI" nel parametro SI_ID. La SFC 105 "READ_SI" dispone di 4 tipi di funzionamento possibili, descritti nella tabella seguente. Il tipo di funzionamento desiderato si può impostare con il parametro MODE. MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono lette? 546 1 Tutte (richiamo della SFC 105 eseguito con SI_ID:=0) 2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=ev_id) 3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=cmp_id) 0 Ulteriori risorse di sistema che nel richiamo precedente non hanno potuto essere lette con MODE=1 o MODE=3 perché l'area di destinazione selezionata SYS_INST era troppo piccola Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" Procedimento Se al momento del richiamo della SFC 105 con MODE=1 o MODE=3 si sceglie un'area di destinazione SYS_INST sufficientemente grande, dopo il richiamo essa riporta il contenuto di tutte le risorse di sistema selezionate tramite il parametro MODE attualmente occupate. Se il numero delle risorse occupate al momento è molto elevato, il tempo di esecuzione della SFC è proporzionalmente lungo. In caso di carico elevato della CPU è possibile che venga superato il tempo massimo progettato per il controllo del ciclo. Questo problema di tempo di esecuzione si può evitare nella maniera seguente: selezionare un'area di destinazione SYS_INST abbastanza piccola. Se la SFC non è in grado di registrare in SYS_INST tutte le risorse di sistema da leggere, il problema viene comunicato all'utente tramite RET_VAL=W#16#0001. Richiamare quindi la SFC 105 con MODE=0 e la stessa SI_ID del richiamo precedente finché RET_VAL non avrà il valore W#16#0000. Avvertenza Poiché il sistema operativo non coordina i richiami di SFC 105 relativi a un job di lettura, è opportuno eseguire tutti i richiami di SFC 105 in una stessa classe di priorità. Struttura dell'area di destinazione SYS_INST L'area di destinazione per le risorse di sistema occupate lette deve trovarsi in un DB. È opportuno definire l'area di destinazione come campo di strutture nel quale ogni struttura sia configurata nel modo seguente: Elemento struttura Tipo Descrizione SFC_NO WORD N. della SFC che ha occupato tutte le risorse di sistema LEN BYTE Lunghezza della struttura in byte, incl. SFC_NO e LEN: B#16#0C SIG_STAT BOOL Stato del segnale ACK_STAT BOOL Stato della conferma dell'evento entrante (fronte di salita) EV_ID DWORD Numero della segnalazione CMP_ID DWORD Identificazione del sistema parziale Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 547 Creazione di segnalazioni riferite ai blocchi 25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. SI_ID INPUT DWORD E, A, M, D, L, cost. Identificazione del job Valori consentiti: • 1: lettura di tutte le risorse del sistema • 2: lettura della risorsa di sistema occupata da EV_ID = ev_id al momento del richiamo delle SFC 107/SFC 108 • 3: lettura delle risorse di sistema occupate da CMP_ID = cmp_id al momento del richiamo delle SFC 107/SFC 108 • 0: richiamo successivo Identificazione della risorsa o delle risorse di sistema da leggere Valori consentiti: • 0, se MODE=1 • N. della segnalazione ev_id, se MODE= 2 • Identificazione cmp_id del sistema parziale con MODE=3 RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (informazione di errore o stato del job) N_SI OUTPUT INT E, A, M, D, L Numero delle risorse di sistema emesse in SYS_INT SYS_INT OUTPUT ANY D Area di destinazione per le risorse di sistema lette Informazioni di errore 548 Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 0001 Non è stato possibile leggere tutte le risorse di sistema poiché l'area di destinazione SYS_INST scelta è troppo piccola. 8081 (Solo con MODE=2 o 03): è stato assegnato il valore 0 a SI_ID. 8082 (Solo con MODE= 1): a SI_ID è stato assegnato un valore diverso da 0. 8083 (Solo con MODE= 0): a SI_ID è stato assegnato un valore diverso da quello del richiamo SFC precedente con MODE= 1 o 3. 8084 È stato assegnato un valore non consentito a MODE. 8085 La SFC 105 viene momentaneamente elaborata in un altro OB. 8086 L'area di destinazione SYS_INST è troppo piccola per una risorsa di sistema. 8087 L'area di destinazione SYS_INST non si trova in un DB. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Creazione di segnalazioni riferite ai blocchi 25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI" 25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI" Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni con le SFC 107 e 108 Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo occupa momentaneamente uno spazio nella memoria del sistema • Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate correttamente. Descrizione Con la SFC 106 "DEL_SI" è possibile cancellare risorse di sistema momentaneamente occupate. La SFC 106 "DEL_SI" dispone di 3 tipi di funzionamento possibili, descritti nella tabella seguente. Il tipo di funzionamento desiderato si può impostare con il parametro MODE. MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono cancellate? 1 Tutte (richiamo della SFC 106 eseguito con SI_ID:=0) 2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=ev_id) 3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=cmp_id) Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MODE INT E, A, M, D, L, cost. Identificazione del job SI_ID INPUT INPUT DWORD E, A, M, D, L, cost. Valori consentiti: • 1: cancellazione di tutte le risorse di sistema • 2: cancellazione della risorsa di sistema occupata da EV_ID = ev_id al momento del richiamo delle SFC 107/SFC 108 • 3: cancellazione delle risorse di sistema occupate da CMP_ID = cmp_id al momento del richiamo delle SFC 107/SFC 108 Identificazione della risorsa o delle risorse di sistema da cancellare Valori consentiti: RET_VAL OUTPUT INT E, A, M, D, L • 0, se MODE=1 • N. della segnalazione ev_id, se MODE=2 • Identificazione cmp_id del sistema parziale con MODE=3 Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 549 Creazione di segnalazioni riferite ai blocchi 25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI" Informazioni di errore 550 Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 8081 (Solo con MODE= 2 o 3): è stato assegnato il valore 0 a SI_ID. 8082 (Solo con MODE=1): a SI_ID è stato assegnato un valore diverso da 0. 8084 È stato assegnato un valore non consentito a MODE. 8085 La SFC 106 viene momentaneamente elaborata in un altro OB. 8086 Non è stato possibile cancellare tutte le risorse di sistema selezionate poiché almeno una di queste era in elaborazione al momento del richiamo della SFC 106. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 26 Temporizzatore IEC e contatore IEC 26.1 Creazione di un impulso con l'SFB 3 "TP" Descrizione L'SFB 3 "TP" crea un impulso di lunghezza PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN causa l'avviamento dell'impulso. L'uscita Q rimane impostata per la durata di tempo PT, indipendentemente dalla successiva esecuzione del segnale di ingresso (cioè anche se l'ingresso IN cambia nuovamente da 0 a 1, prima che il tempo PT sia trascorso). L'uscita ET fornisce il tempo, mentre l'uscita Q è già impostata. Essa può assumere al massimo il valore dell'ingresso PT e viene resettata se l'ingresso IN cambia in 0, tuttavia non prima che il tempo PT sia trascorso. L'SFB 3 "TP" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 3 "TP" all'avviamento a freddo. Nel caso le istanze di questo SFB 3 "TP" debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), è necessario richiamare nell'OB 100 le istanze da inizializzare con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 551 Temporizzatore IEC e contatore IEC 26.1 Creazione di un impulso con l'SFB 3 "TP" Diagramma di tempo IN Q PT PT PT ET PT 552 Parametri Dichiarazione Tipo Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata dell'impulso. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Temporizzatore IEC e contatore IEC 26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON" 26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON" Descrizione L'SFB 4 "TON" ritarda un fronte di salita di un tempo PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN ha come conseguenza un fronte di salita all'uscita Q dopo che è trascorsa la durata di tempo PT. Q rimane impostato fino a che l'ingresso IN cambia in 0. Se l'ingresso IN cambia in 0, prima che sia trascorso il tempo PT, l'uscita Q rimane su 0. L'uscita ET fornisce il tempo che è trascorso all'ingresso IN dall'ultimo fronte di salita, tuttavia al massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 0. L'SFB 4 "TON" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 4 "TON" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Diagramma di tempo IN Q PT PT ET PT Parametri Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata dell'impulso. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 553 Temporizzatore IEC e contatore IEC 26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" 26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" Descrizione L'SFB 5 "TOF" ritarda un fronte di discesa di un tempo PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN causa un fronte di salita all'uscita Q. Un fronte di discesa all'ingresso IN ha come conseguenza un fronte di discesa all'uscita Q dopo che è trascorsa la durata di tempo PT. Se l'ingresso IN cambia nuovamente in 1 prima che il tempo PT sia trascorso, l'uscita Q rimane su 1. L'uscita ET fornisce il tempo, che è trascorso all'ingresso IN dall'ultimo fronte di discesa, tuttavia al massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 1. L'SFB 5 "TOF" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 5 "TOF" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Diagramma di tempo IN Q PT PT ET PT 554 Parametri Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata del tempo di ritardo del fronte di discesa all'ingresso IN. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo di dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Temporizzatore IEC e contatore IEC 26.4 Conteggio in avanti con l'SFB 0 "CTU" 26.4 Conteggio in avanti con l'SFB 0 "CTU" Descrizione Con l'SFB 0 "CTU" è possibile contare in avanti. In presenza di un fronte di salita all'ingresso CU (di fronte all'ultimo richiamo SFB) il contatore viene aumentato di 1. Quando il valore di conteggio raggiunge il limite massimo di 32.767 non può essere più aumentato. Ogni ulteriore fronte di salita all'ingresso CU rimane senza alcun effetto. Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0 indipendentemente da quale valore sia presente all'ingresso CU. All'uscita Q viene visualizzato se il valore di conteggio attuale è maggiore o se è uguale al valore predefinito PV. L'SFB 0 "CTU" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 0 "CTU" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo Area di memoria Descrizione CU INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su CU PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Per gli effetti di PV vedere parametro Q. Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore 1, se CV ≥ PV 0 diversamente CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da 0 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 555 Temporizzatore IEC e contatore IEC 26.5 Conteggio all'indietro con l'SFB 1 "CTD" 26.5 Conteggio all'indietro con l'SFB 1 "CTD" Descrizione Con l'SFB 1 "CTD" è possibile contare all'indietro. In presenza di un fronte di salita all'ingresso CD (di fronte all'ultimo richiamo SFB) il contatore viene diminuito di 1. Quando il valore di conteggio raggiunge il limite minimo di -32.768 non può essere più diminuito. Ogni ulteriore fronte di salita all'ingresso CD rimane senza alcun effetto. Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore prestabilito PV, indipendentemente da quale valore sia presente all'ingresso CD. All'uscita Q viene visualizzato se il valore di conteggio attuale è minore o se è uguale a zero. L'SFB 1 "CTD" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 1 "CTD" all'avviamento a freddo. Se le istanze di questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare 1 devono essere richiamate nell'OB 100 con LOAD = 1 e PV = valore di partenza desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo Area di memoria Descrizione CD INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su CD. PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene preimpostato su PV se all'ingresso LOAD è presente il livello 1. Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore 1, se CV ≤ 0 0 diversamente CV 556 OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da - 32.768 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Temporizzatore IEC e contatore IEC 26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" 26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" Descrizione Con l'SFB 2 "CTUD" è possibile contare in avanti e all'indietro. Il contatore in presenza di un fronte di salita (di fronte all'ultimo richiamo SFB) • viene aumentato di 1 all'ingresso CU • viene diminuito di 1 all'ingresso CD. Se il valore di conteggio raggiunge • il limite minimo di -32.768 non può più essere diminuito; • il limite massimo di 32.767 non può più essere aumentato. Se in un ciclo è presente un fronte di salita sia all'ingresso CU che all'ingresso CD il contatore manterrà il suo valore attuale. Questo comportamento si discosta dalla norma IEC 1131-3, dove, se i segnali CU e CD sono contemporanei, prevale l'ingresso CU. Questa proposta di modifica è stata presentata alla IEC. Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore predefinito PV, indipendentemente da quali valori siano presenti agli ingressi CU e CD. Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0, indipendentemente da quali valori siano presenti agli ingressi CU, CD e LOAD. All'uscita QU viene visualizzato se il valore di conteggio attuale è maggiore o uguale al valore predefinito PV: all'uscita QD viene visualizzato se è minore o uguale a zero. Il sistema operativo resetta le istanze dell'SFB 2 "CTUD" all'avviamento a freddo. Se le istanze di questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 come segue: • utilizzando come contatore in avanti con R = 1 • utilizzando come contatore all'indietro con R = 0 e LOAD = 1 e PV = valore di partenza desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione CU INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio in avanti. CD INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio all'indietro. R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su LOAD. LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su CU e CD. PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene preimpostato su PV se all'ingresso LOAD è presente il livello 1. QU OUTPUT BOOL E, A, M, D, L Stato di conteggio in avanti QU ha valore 1, se CV ≥ PV 0 diversamente Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 557 Temporizzatore IEC e contatore IEC 26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione QD OUTPUT E, A, M, D, L Stato di conteggio all'indietro: QD ha valore BOOL 1, se CV ≤ 0 0 diversamente CV 558 OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da -32.768 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 27 Funzioni IEC 27.1 Sommario È possibile copiare le funzioni IEC elencate qui di seguito (IEC: International Electrotechnical Commission) dalla biblioteca di STEP 7 "S7libs\Stdlib30" nella directory di programma. Nome Famiglia di blocco IEC Funzione FC 3 D_TOD_DT Convert Conversione di DATE e TIME_OF_DAY in DT FC 6 DT_DATE Convert Dissociazione di DATE da DT FC 7 DT_DAY Convert Dissociazione del giorno della settimana da DT FC 8 DT_TOD Convert Dissociazione di TIME_OF_DAY da DT FC 33 S5TI_TIM Convert Conversione del formato S5TIME in TIME FC 40 TIM_S5TI Convert Conversione del formato TIME in S5TIME FC 16 I_STRNG Convert Conversione del formato INT in STRING FC 5 DI_STRNG Convert Conversione del formato DINT in STRING FC 30 R_STRNG Convert Conversione del formato REAL in STRING FC 38 STRNG_I Convert Conversione del formato STRING in INT FC 37 STRNG_DI Convert Conversione del formato STRING in DINT FC 39 STRNG_R Convert Conversione del formato STRING in REAL DT Confronto di DT se uguale FC 9 EQ_DT FC 12 GE_DT DT Confronto di DT se maggiore o uguale FC 14 GT_DT DT Confronto di DT se maggiore FC 18 LE_DT DT Confronto di DT se minore o uguale FC 23 LT_DT DT Confronto di DT se minore FC 28 NE_DT DT Confronto di DT se diverso FC 10 EQ_STRNG String Confronto di STRING se uguale FC 13 GE_STRNG String Confronto di STRING se maggiore o uguale FC 15 GT_STRNG String Confronto di STRING se maggiore FC 19 LE_STRNG String Confronto di STRING se minore o uguale FC 24 LT_STRNG String Confronto di STRING se minore FC 29 NE_STRNG String Confronto di STRING se diverso FC 21 LEN String Lunghezza di una variabile STRING FC 20 LEFT String Parte sinistra di una variabile STRING FC 32 RIGHT String Parte destra di una variabile STRING FC 26 MID String Parte centrale di una variabile STRING String Combinazione di due variabili STRING FC 2 CONCAT Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 559 Funzioni IEC 27.1 Sommario Nome FC 17 FC 4 INSERT Funzione String Inserimento in una variabile STRING String Cancellazione in una variabile STRING FC 31 REPLACE String Sostituzione in una variabile STRING FC 11 FIND String Ricerca in una variabile STRING FC 1 DELETE Famiglia di blocco IEC Floating Point Math Addizione di una durata di tempo ad un istante FC 35 AD_DT_TM SB_DT_TM Floating Point Math Sottrazione di una durata di tempo da un istante FC 34 SB_DT_DT Floating Point Math Sottrazione di due istanti FC 22 LIMIT Floating Point Math Limitatore FC 25 MAX Floating Point Math Selezione massimo FC 27 MIN Floating Point Math Selezione minimo FC 36 SEL Floating Point Math Selezione binaria Informazioni sui blocchi di comunicazione conformi a IEC si trovano nella guida contestuale relativa agli SFB/SFC (vedere: Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7) 560 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Funzioni IEC 27.2 Dati tecnici relativi alle funzioni IEC 27.2 Dati tecnici relativi alle funzioni IEC Requisiti della memoria La tabella seguente mostra la quantità di memoria di lavoro e di memoria di carico nonché la quantità di byte di dati locali necessarie per le singole funzioni IEC. N° FC Nome Assegnazione (quantità byte) in Dati locali (byte) Memoria lavoro Memoria carico FC 3 D_TOD_DT 634 810 12 FC 6 DT_DATE 340 466 10 FC 7 DT_DAY 346 472 10 FC 8 DT_TOD 114 210 6 FC 33 S5TI_TIM 94 208 2 FC 40 TIM_S5TI 104 208 6 FC 16 I_STRNG 226 340 10 FC 5 DI_STRNG 314 440 18 FC 30 R_STRNG 528 684 28 FC 38 STRNG_I 292 420 12 FC 37 STRNG_DI 310 442 12 FC 39 STRNG_R 828 1038 30 FC 9 EQ_DT 96 194 2 FC 12 GE_DT 174 288 4 FC 14 GT_DT 192 310 4 FC 18 LE_DT 168 280 4 FC 23 LT_DT 192 310 4 FC 28 NE_DT 96 194 2 FC 10 EQ_STRNG 114 220 4 FC 13 GE_STRNG 162 282 8 FC 15 GT_STRNG 158 278 8 FC 19 LE_STRNG 162 282 8 FC 24 LT_STRNG 158 278 8 FC 29 NE_STRNG 150 266 8 FC 21 LEN 38 132 2 FC 20 LEFT 200 320 8 FC 32 RIGHT 230 350 8 FC 26 MID 302 390 8 FC 2 CONCAT 358 452 14 FC 17 INSERT 488 644 20 FC 4 DELETE 376 512 8 FC 31 REPLACE 562 726 20 FC 11 FIND 236 360 14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 561 Funzioni IEC 27.2 Dati tecnici relativi alle funzioni IEC N° FC Nome Assegnazione (quantità byte) in Memoria lavoro 562 Dati locali (byte) Memoria carico FC 1 AD_DT_TM 1350 1590 22 FC 35 SB_DT_TM 1356 1596 22 FC 34 SB_DT_DT 992 1178 30 FC 22 LIMIT 426 600 12 FC 25 MAX 374 532 8 FC 27 MIN 374 532 8 FC 36 SEL 374 560 8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 Funzioni IEC 27.3 Data e ora come tipi di dati composti 27.3 Data e ora come tipi di dati composti Parametri attuali per DATE_AND_TIME DATE_AND_TIME è un tipo di dato composto come ARRAY, STRING e STRUCT. Le aree di memoria ammissibili per i tipi di dati composti sono il blocco dati (DB) e l´area di memoria dei dati locali (L-Stack). Se si impiega il tipo di dati DATE_AND_TIME come parametro formale in un´istruzione, allora è possibile, dato che si tratta di un tipo di dato composto, specificare i parametri attuali solo in uno dei formati seguenti : • Come simbolo locale al blocco dalla tabella di dichiarazione variabili per un determinato blocco • Come nome simbolico per un blocco dati, ad es. "DB_sys_info.Systemzeit", costituito dalle seguenti parti: - Un nome che è definito nella tabella dei simboli per il numero del blocco dati (ad es. "DB_sys_info" für DB5) - Un nome che è definito nel blocco dati per l´elemento DATE_AND_TIME (ad es. "Tempo di sistema" per una variabile del tipo di dati DATE_AND_TIME contenuta in DB5) Non è possibile impiegare costanti come parametri attuali per parametri formali di tipi di dati composti, incluso DATE_AND_TIME. Non è neppure possibile trasferire indirizzi assoluti come parametri attuali a DATE_AND_TIME. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2 Manuale di riferimento, 05/2010, A5E02790056-01 563 Funzioni IEC 27.4 Funzioni orologio 27.4 Funzioni orologio Descrizione FC 1 AD_DT_TM Con la funzione FC 1 è possibile aggiungere una durata di tempo (formato TIME) ad un istante (formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante (parametro T) deve essere compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione non è possibile eseguire una verifica dell´ingresso. Se il risultato dell´addizione non si trova nel campo specificato sopra, il risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione T INPUT DATE_AND_TIME D, L Istante nel formato DT D INPUT TIME E, A, M, D, L, Cost. Durata di tempo nel formato TIME RET_VAL OUTPUT DATE_AND_TIME D, L Somma nel formato DT Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 3 D_TOD_DT Con la funzione FC 3 è possibile combinare i formati di dati DATE e TIME_OF_DAY (TOD) e convertirli nel formato di dati DATE_AND_TIME (DT). Il valore di ingresso IN1 deve essere compreso entro i limiti DATE#1990-01-01 e DATE#2089-12-31 (non si hanno verifiche). La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT DATE E, A, M, D, L, Cost. Variabile di ingresso nel formato DATE IN2 INPUT TIME_OF_DAY E, A, M, D, L, Cost. Varia