s Prefazione Indice SIMATIC Software di sistema per S7-300/400 - Funzioni standard e di sistema Volume 1/2 Manuale di riferimento Blocchi organizzativi Parametri generali relativi alle SFC Funzioni di copiatura e di blocco SFC per il controllo del programma SFC per la gestione dell'orologio SFC per la gestione del contatore del tempo di esercizio SFC/SFB per il trasferimento di set di dati SFB DPV1 secondo PNO AK 1131 SFC per la gestione di allarmi dall'orologio SFC per la gestione di allarmi di ritardo SFC per la gestione di eventi di errori di sincronismo SFC per la gestione di allarmi e di eventi di errori di asincronismo SFC per la diagnostica SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Il presente manuale fa parte del pacchetto di documentazione con il numero di ordinazione: 6ES7810-4CA08-8EW1 Edizione 03/2006 A5E00709342-01 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Funzioni di sistema per l'indirizzamento di unità 15 SFC per periferia decentrata o per PROFINET IO 16 PROFInet FB per l'accesso ciclico ai dati utili secondo PNO 17 18 Istruzioni tecniche di sicurezza Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. ! Pericolo ! Avvertenza ! Cautela questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza la morte o gravi lesioni fisiche. il simbolo indica che la mancata osservanza delle relative misure di sicurezza la morte o gravi lesioni fisiche. indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. Cautela indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. Attenzione indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali Personale qualificato L'apparecchio/sistema in questione deve essere installato e messo in servizio solo rispettando le indicazioni contenute in questa documentazione. La messa in servizio e l'esercizio di un apparecchio/sistema devono essere eseguiti solo da personale qualificato. Con riferimento alle indicazioni contenute in questa documentazione in merito alla sicurezza, come personale qualificato si intende quello autorizzato a mettere in servizio, eseguire la relativa messa a terra e contrassegnare le apparecchiature, i sistemi e i circuiti elettrici rispettando gli standard della tecnica di sicurezza. Uso regolamentare delle apparecchiature/dei sistemi: Si prega di tener presente quanto segue: ! Avvertenza L'apparecchiatura può essere destinata solo agli impieghi previsti nel catalogo e nella descrizione tecnica e può essere utilizzata solo insieme a apparecchiature e componenti di Siemens o di altri costruttori raccomandati o omologati dalla Siemens. Per garantire un funzionamento ineccepibile e sicuro del prodotto è assolutamente necessario che le modalità di trasporto, di immagazzinamento, di installazione e di montaggio siano corrette, che l'apparecchiatura venga usata con cura e che si provveda ad una manutenzione appropriata. Marchio di prodotto I nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Automation and Drives Postfach 4848 90437 NÜRNBERG GERMANIA Copyright © Siemens AG 2006 A5E00709342-01 Siemens AG 2006 Con riserva di eventuali modifiche tecniche. Prefazione Scopo del manuale Questo manuale, suddiviso in volume 1 A5E00709342-01 e volume 2 A5E00739862-01 offre una panoramica completa dei blocchi organizzativi (OB), delle funzioni di sistema (SFC), dei blocchi funzionali di sistema e dei blocchi funzionali standard (SFB) nonché delle funzioni IEC, contenuti nei sistemi operativi delle CPU dei sistemi S7-300 e S7-400. Nell’appendice sono descritti i dati di diagnostica, la lista di stato di sistema (SZL) e gli eventi. Avvertenza Quali di queste funzioni e blocchi sono integrati in quale CPU viene descritto nella parte bibliografica del manuale “Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 31xC e CPU 31x“ e "Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 312 IFM 318-2 DP" /70/ o del manuale “Sistemi di automazione S7-400, M7-400, Dati delle unità /101/ o della lista operazioni: “Sistema di automazione S7-400: Dati della CPU“ /102/, nella versione valida per la CPU utilizzata. Le caratteristiche funzionali per le SFB di comunicazione per i collegamenti progettati e le funzioni di segnalazione S7 si trovano nei manuali /70/ e /101/. Informazioni relative ai sistemi operativi delle CPU, allo sviluppo di programmi e alle possibilità di comunicazione e di diagnostica delle CPU sono riportate nel manuale /234/. Come potete richiamare le funzioni e i blocchi funzionali dal proprio programma è spiegato nelle descrizioni dei linguaggi. Tutte le funzioni indicate vengono programmate e parametrizzate con il software di base STEP 7, che non viene spiegato in questo manuale. La relativa documentazione è offerta dal manuale /231/ e dalla Guida online STEP 7. Destinatari I destinatari di questo manuale sono i programmatori e gli ingegneri che hanno familiarità con il controllo dei processi e che scrivono programmi per i sistemi di automazione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 iii Prefazione Pacchetti di documentazione STEP 7 La tabella seguente riporta un riepilogo della documentazione relativa a STEP 7. Documentazione Scopo Nozioni fondamentali di STEP 7 mediante Conoscenze di base per il personale 6ES7810-4CA08-8EW0 tecnico: procedure per la realizzazione di compiti di controllo con STEP 7 e S7-300/400 • Primi passi ed esercitazioni con STEP 7 • Programmazione con STEP 7 • Configurazione dell’hardware e progettazione di collegamenti con STEP 7 • Manuale di conversione: STEP 7, da S5 a S7 Nozioni di riferimento di STEP 7 con • Manuali KOP/FUP/AWL per S7 300/400 • Funzioni standard e di sistema per S7-300/400 Volume 1 A5E00709342-01 e Volume 2 A5E00739862-01 Numero di ordinazione Nozioni di riferimento sui linguaggi 6ES7810-4CA08-8EW1 di programmazione KOP, FUP, AWL, nonché sulle funzioni standard e di sistema; perfezionamento delle conoscenze di base di STEP 7. Guide online Scopo Numero di ordinazione Guida a STEP 7 Conoscenze di base per la programmazione e la configurazione hardware con STEP 7 Parte del pacchetto software STEP 7 Guide di riferimento a AWL/KOP/FUP Guida di riferimento a SFB/SFC Guida di riferimento ai blocchi organizzativi Guida di riferimento sensibile al contesto Parte del pacchetto software STEP 7 iv Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Prefazione Altri manuali Le singole CPU dell’S7-300 e S7-400 nonché le unità S7-300 e S7-400 sono descritte • per il sistema di automazione S7-300 nei manuali /70/, /71/ e in /72/. • per il sistema di automazione S7-400 nel manuale /101/ e in /102/. Guida Il presente manuale è suddiviso in base ai seguenti temi. • Il capitolo 1 spiega tutti i blocchi organizzativi. • Il capitolo 2 descrive i parametri generali RET_VAL, REQ e BUSY. • I capitoli da 3 a 29 descrivono le SFC, gli SFB e le IEC-FC. • I capitoli da 30 a 35 contengono la struttura dei dati di diagnostica, la panoramica delle ID SZL, i possibili eventi, le liste con SFC, SFB e FC di questo manuale, una panoramica degli SDB e la bibliografia. • Nel glossario vengono spiegati concetti importanti. • L’indice analitico permette di trovare rapidamente i passi relativi a voci importanti. Convenzioni I riferimenti ad altra documentazione vengono indicati da un numero racchiuso tra due barre /.../. In base a questo numero, nella bibliografia alla fine del manuale è possibile risalire al titolo esatto di tale documentazione. lteriore supporto Per tutte le domande sull'uso dei prodotti descritti nel manuale, che non trovano risposta nella documentazione, rivolgersi al rappresentante Siemens locale. Sito Internet delle rappresentanze Siemens: http://www.siemens.com/automation/partner Per la guida alla documentazione tecnica dei singoli prodotti e sistemi SIMATIC, consultare il sito: http://www.siemens.com/simatic-tech-doku-portal Il catalogo in linea e il sistema di ordinazione in linea si trova al sito: http://mall.automation.siemens.com/ Centro di addestramento Per facilitare l'approccio al sistema di automazione SIMATIC S7, la Siemens organizza corsi specifici. Rivolgersi a questo proposito al centro di addestramento locale più vicino o al centro di addestramento centrale di Norimberga. Telefono: +49 (911) 895-3200. Internet: http://www.sitrain.com Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 v Prefazione Technical Support Per tutti i prodotti A&D è possibile rivolgersi al Technical Support • mediante il modulo Web per la Support Request http://www.siemens.com/automation/support-request • Telefono: + 49 180 5050 222 • Fax: + 49 180 5050 223 Per ulteriori informazioni sul Technical Support, consultare in Internet il sito http://www.siemens.com/automation/service Service & Support in Internet Aggiuntivamente alla documentazione, mettiamo a disposizione della clientela diversi servizi in linea all'indirizzo sottoindicato. http://www.siemens.com/automation/service&support Su questo sito si possono trovare: vi • la Newsletter con informazioni sempre aggiornate sui prodotti; • i documenti appropriati relativi alla ricerca in Service & Support; • il Forum, luogo di scambio di informazioni tra utenti e personale specializzato di tutto il mondo; • il partner di riferimento locali di Automation & Drives; • informazioni su assistenza tecnica sul posto, riparazioni, parti di ricambio e maggiori dettagli alla voce "Service". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Indice 1 Blocchi organizzativi................................................................................................................ 1-3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 2 Panoramica degli OB.................................................................................................. 1-3 Programma ciclico (OB 1)........................................................................................... 1-3 OB di allarme dall'orologio (da OB 10 a OB 17) ......................................................... 1-3 OB di allarme di ritardo (da OB 20 a OB 23) .............................................................. 1-3 OB di schedulazione orologio (da OB 30 a OB 38) .................................................... 1-3 OB di interrupt di processo (da OB 40 a OB 47) ........................................................ 1-3 OB di allarme di stato (OB 55).................................................................................... 1-3 OB di allarme di aggiornamento (OB 56) ................................................................... 1-3 OB per allarmi produttore (OB 57).............................................................................. 1-3 OB di allarme di multicomputing (OB 60) ................................................................... 1-3 OB di allarme in sincronismo di clock (da OB 61 a OB 64) ........................................ 1-3 OB di allarme di sincronismo tecnologico (OB 65) ..................................................... 1-3 OB di errore di ridondanza della periferia (OB 70) ..................................................... 1-3 OB di errore di ridondanza della CPU (OB 72)........................................................... 1-3 OB di errore di ridondanza di comunicazione OB (OB 73)......................................... 1-3 OB di errore temporale (OB 80).................................................................................. 1-3 OB di errore di alimentazione (OB 81)........................................................................ 1-3 OB di allarme di diagnostica (OB 82) ......................................................................... 1-3 OB di estrazione/inserimento (OB 83) ........................................................................ 1-3 OB di errore hardware CPU (OB 84) .......................................................................... 1-3 OB di errore esecuzione programma (OB 85)............................................................ 1-3 OB di guasto telaio di montaggio (OB 86) .................................................................. 1-3 OB di errore di comunicazione (OB 87)...................................................................... 1-3 OB di interruzione di elaborazione (OB 88)................................................................ 1-3 OB di priorità bassa (OB 90)....................................................................................... 1-3 OB di avviamento (OB 100, OB 101 e OB 102) ......................................................... 1-3 OB di errore di programmazione (OB 121)................................................................. 1-3 OB di errore di accesso alla periferia (OB 122).......................................................... 1-3 Parametri generali relativi alle SFC ........................................................................................ 2-3 2.1 2.2 Riconoscimento di errore con il parametro di uscita RET_VAL ................................. 2-3 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono................................................................................. 2-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 vii Indice 3 Funzioni di copiatura e di blocco ........................................................................................... 3-3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 4 SFC per il controllo del programma ....................................................................................... 4-3 4.1 4.2 4.3 4.4 4.5 5 Scrittura e lettura di set di dati .................................................................................... 7-3 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" .................................... 7-3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA"................................... 7-3 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" ...................................... 7-3 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................. 7-3 Parametrizzazione di unità con la SFC 57 "PARM_MOD" ......................................... 7-3 Scrittura di set di dati con la SFC 58 "WR_REC" ....................................................... 7-3 Lettura di set di dati con la SFC 59 "RD_REC" .......................................................... 7-3 Altre informazioni di errore delle SFC 55 fino a 59..................................................... 7-3 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR".......................................... 7-3 SFB DPV1 secondo PNO AK 1131.......................................................................................... 8-3 8.1 8.2 8.3 8.4 viii Contatore del tempo di esercizio ................................................................................ 6-3 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" ....................... 6-3 Impostazione del contatore con la SFC 2 "SET_RTM" .............................................. 6-3 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ......................................... 6-3 Lettura del contatore con la SFC 4 "READ_RTM" ..................................................... 6-3 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ......................................... 6-3 SFC/SFB per il trasferimento di set di dati ............................................................................ 7-3 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 8 Impostazione dell'orologio con la SFC 0 "SET_CLK"................................................. 5-3 Lettura dell’orologio con la SFC 1 "READ_CLK"........................................................ 5-3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" ................................ 5-3 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"............ 5-3 SFC per la gestione del contatore del tempo di esercizio ................................................... 6-3 6.1 6.2 6.3 6.4 6.5 6.6 7 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR".......................... 4-3 Commutazione della CPU in STOP con la SFC 46 "STP" ......................................... 4-3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT" ................... 4-3 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" ............................ 4-3 Comando dell’operazione CiR con la SFC 104 "CiR" ................................................ 4-3 SFC per la gestione dell'orologio ........................................................................................... 5-3 5.1 5.2 5.3 5.4 6 Copia di un'area di memoria con la SFC 20 "BLKMOV" ............................................ 3-3 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV"......................... 3-3 Inizializzazione di aree di memoria con la SFC 21 "FILL" .......................................... 3-3 Creazione di un blocco dati con la SFC 22 "CREAT_DB".......................................... 3-3 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"......................................... 3-3 Test di un blocco dati con la SFC 24 "TEST_DB" ...................................................... 3-3 Compressione della memoria utente con la SFC 25 "COMPRESS".......................... 3-3 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"................... 3-3 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" ...................................................................................... 3-3 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" ...................................................................................... 3-3 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" ....................................................................................... 3-3 Creazione di un blocco dati con la SFC 85 "CREA_DB"............................................ 3-3 Lettura di un set di dati con l'SFB 52 "RDREC".......................................................... 8-3 Scrittura di un set di dati con l'SFB 53 "WRREC"....................................................... 8-3 Ricezione di un allarme con l'SFB 54 "RALRM"......................................................... 8-3 Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................. 8-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Indice 9 SFC per la gestione di allarmi dall'orologio .......................................................................... 9-3 9.1 9.2 9.3 9.4 9.5 9.6 10 SFC per la gestione di allarmi di ritardo .............................................................................. 10-3 10.1 10.2 10.3 10.4 11 12.3 12.4 12.5 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo.................... 12-3 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT".......................................................................................... 12-3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT" ............................................................................................. 12-3 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT"........................................................... 12-3 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT"............................................................ 12-3 SFC per la diagnostica .......................................................................................................... 13-3 13.1 13.2 13.3 13.4 13.5 13.6 13.7 14 Mascheramento di eventi di errori di sincronismo .................................................... 11-3 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT" ........ 11-3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" . 11-3 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" ............................. 11-3 SFC per la gestione di allarmi e di eventi di errori di asincronismo................................. 12-3 12.1 12.2 13 Gestione di allarmi di ritardo ..................................................................................... 10-3 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" .............................. 10-3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"....... 10-3 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" ......................... 10-3 SFC per la gestione di eventi di errori di sincronismo....................................................... 11-3 11.1 11.2 11.3 11.4 12 Gestione di allarmi dall'orologio .................................................................................. 9-3 Caratteristiche delle SFC 28 ... 31.............................................................................. 9-3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" ........................ 9-3 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" ...................... 9-3 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"............................ 9-3 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT"...................... 9-3 Diagnostica di sistema.............................................................................................. 13-3 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" ......... 13-3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"....................................................................................... 13-3 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" ........................................................... 13-3 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT".............................................................................................. 13-3 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" ...... 13-3 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" .................................................................................. 13-3 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit ...................................................................................................................... 14-3 14.1 14.2 14.3 14.4 14.5 14.6 14.7 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI" ...................................................................................... 14-3 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" .... 14-3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" ................................. 14-3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO" .................................. 14-3 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" ................... 14-3 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"................... 14-3 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"...... 14-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 ix Indice 15 Funzioni di sistema per l'indirizzamento di unità ............................................................... 15-3 15.1 15.2 15.3 15.4 15.5 16 SFC per periferia decentrata o per PROFINET IO ............................................................... 16-3 16.1 16.2 16.3 16.4 16.5 16.6 17 17.3 17.4 Informazioni sulle SFC 112, 113 e 114..................................................................... 17-3 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFInet con la SFC 112 "PN_IN" ................................................ 17-3 Aggiornamento delle uscite dell'interfaccia PROFInet dei componenti PROFInet con l’SFC 113 "PN_OUT" .............................................. 17-3 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP" ........................ 17-3 FB per l'accesso ciclico ai dati utili secondo PNO ............................................................. 18-3 18.1 18.2 18.3 18.4 18.5 x Attivazione di un interrupt di processo nel master DP con l’SFC 7 "DP_PRAL" ...... 16-3 Sincronizzazione di gruppi di slave DP con l’SFC 11 "DPSYC_FR"........................ 16-3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l‘FC 12 "D_ACT_DP" ......................................................................................... 16-3 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l’SFC 13 "DPNRM_DG" ..................................................................................... 16-3 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l’SFC 14 "DPRD_DAT" ...................................................................................... 16-3 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l’SFC 15 "DPWR_DAT"...................................................................................... 16-3 PROFInet ................................................................................................................................. 17-3 17.1 17.2 18 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC" ... 15-3 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR".................................................................................... 15-3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR"........ 15-3 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" ......... 15-3 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" ...................................................................................... 15-3 Introduzione agli FB per l’accesso ciclico ai dati utili secondo PNO ........................ 18-3 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l‘FB 20 "GETIO" ............................................................................................ 18-3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l‘FB 21 "SETIO".................................................................................................. 18-3 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l‘FB 22 "GETIO_PART" ................................................ 18-3 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l‘FB 23 "SETIO_PART"................................................. 18-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1 Blocchi organizzativi 1.1 Panoramica degli OB Blocchi organizzativi I blocchi organizzativi formano l'interfaccia tra il sistema operativo della CPU e il programma utente. Con l'aiuto degli OB si possono far eseguire parti di programma: • all'avviamento della CPU • nell'esecuzione ciclica o anche nell'esecuzione temporizzata • a determinati orari o giorni • al termine di una durata di tempo assegnata • quando si presentano errori • quando si presentano interrupt di processo. I blocchi organizzativi vengono elaborati in base alla priorità ad essi assegnata. OB disponibili Non tutte le CPU possono elaborare tutti gli OB disponibili per S7. Consultare le liste operazioni /72/ e /102/ della CPU per sapere quali OB sono inclusi nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-1 Blocchi organizzativi Altre informazioni Altre informazioni possono essere rilevate dalla guida online e dai seguenti manuali: • /70/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse CPU S7-300. • /101/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse CPU S7-400. OB Evento di avvio Classe di priorità preimpostata Spiegazione OB 1 OB 10 OB 11 OB 12 OB 13 OB 14 OB 15 OB 16 OB 17 OB 20 OB 21 OB 22 OB 23 OB 30 OB 31 OB 32 OB 33 OB 34 OB 35 OB 36 OB 37 OB 38 Fine avviamento o fine OB 1 Allarme dall'orologio 0 Allarme dall'orologio 1 Allarme dall'orologio 2 Allarme dall'orologio 3 Allarme dall'orologio 4 Allarme dall'orologio 5 Allarme dall'orologio 6 Allarme dall'orologio 7 Allarme di ritardo 0 Allarme di ritardo 1 Allarme di ritardo 2 Allarme di ritardo 3 Allarme di schedulazione orologio 0 (default: clock 5 s) Allarme di schedulazione orologio 1 (default: clock 2 s) Allarme di schedulazione orologio 2 (default: clock 1 s) Allarme di schedulazione orologio 3 (default: clock 500 ms) Allarme di schedulazione orologio 4 (default: clock 200 ms) Allarme di schedulazione orologio 5 (default: clock 100 ms) Allarme di schedulazione orologio 6 (default: clock 50 ms) Allarme di schedulazione orologio 7 (default: clock 20 ms) Allarme di schedulazione orologio 8 (default: clock 10 ms) Interrupt di processo 0 Interrupt di processo 1 Interrupt di processo 2 Interrupt di processo 3 Interrupt di processo 4 Interrupt di processo 5 Interrupt di processo 6 Interrupt di processo 7 Allarme di stato Allarme di aggiornamento Allarme produttore Richiamo della SFC 35 "MP_ALM" 1 2 2 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ciclo libero Nessuna assegnazione clock default 16 17 18 19 20 21 22 23 2 2 2 25 Interrupt di processo OB 40 OB 41 OB 42 OB 43 OB 44 OB 45 OB 46 OB 47 OB 55 OB 56 OB 57 OB 60 1-2 Nessuna assegnazione clock default Allarmi di schedulazione orologio Allarmi DPV1 Allarme di multicomputing Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi OB Evento di avvio Classe di priorità preimpostata Spiegazione OB 61 OB 62 OB 63 OB 64 OB 65 Allarme in sincronismo di clock 1 Allarme in sincronismo di clock 2 Allarme in sincronismo di clock 3 Allarme in sincronismo di clock 4 Allarme di sincronismo tecnologico 25 25 25 25 25 Allarmi di sincronismo di clock OB 70 OB 72 OB 73 25 28 25 OB 80 Errore di ridondanza della periferia (solo nelle CPU H) Errore di ridondanza della CPU (solo nelle CPU H) OB di errore di ridondanza di comunicazione (solo nelle CPU H) Errore temporale OB 81 Errore di alimentazione OB 82 Allarme di diagnostica OB 83 Allarme di estrazione/inserimento OB 84 Errore hardware CPU OB 85 Errore di esecuzione programma OB 86 Avaria di un'apparecchiatura di ampliamento, di un sistema master DP o di una stazione con periferia decentrata Errore di comunicazione 26, 28 con S7-300, 1) 25, 28 con S7-400 e CPU 318 26, 28 1) con S7-300, 25, 28 1) con S7-400 e CPU 318 26, 28 1) con S7-300, 25, 28 1) con S7-400 e CPU 318 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 26, 28 1) con S7-300, 1) 25, 28 con S7-400 e CPU 318 28 29 2) OB 87 OB 88 OB 90 OB 100 OB 101 OB 102 OB 121 Interruzione elaborazione Nuovo avviamento (avviamento a caldo) o avviamento a freddo o cancellazione di un blocco in esecuzione nell'OB 90 o caricamento di un OB 90 nella CPU o fine dell'OB 90. Nuovo avviamento (avviamento a caldo) Riavviamento Avviamento a freddo Errore di programmazione OB 122 Errore di accesso alla periferia 1) 2) Allarme di sincronismo tecnologico Allarmi di errore di ridondanza 26, 28 1 Allarmi di errori di asincronismo 1) 27 1) 27 1) 27 1) Priorità dell'OB che causa l'errore Priorità dell'OB che causa l'errore Ciclo di sfondo Avviamento Allarmi di errori di sincronismo Le classi di priorità 27 e 28 sono valide nel modello della classe di priorità dell'avviamento. La classe di priorità 29 corrisponde alla priorità 0.29. Il ciclo di sfondo ha dunque una priorità più bassa rispetto al ciclo libero. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-3 Blocchi organizzativi 1.2 Programma ciclico (OB 1) Descrizione Il sistema operativo della CPU S7 elabora ciclicamente l'OB 1; al termine dell'elaborazione dell'OB 1, il sistema operativo inizia una nuova elaborazione dello stesso. L'elaborazione ciclica di OB 1 viene iniziata al termine dell'avviamento. Si può usare OB 1 per richiamare altri blocchi funzionali (FB, SFB) o altre funzioni (FC, SFC). Funzionamento di OB 1 OB 1 ha la priorità più bassa rispetto a tutti gli altri OB. Ad eccezione di OB 90 tutti gli altri OB possono interrompere l'elaborazione di OB 1. I seguenti eventi possono determinare il richiamo di OB 1 da parte del sistema operativo: • Fine dell'elaborazione dell'avviamento • Fine dell'esecuzione di OB 1 (del ciclo precedente). Quando l'elaborazione dell'OB 1 è terminata, il sistema operativo invia i dati globali. Prima di riavviare OB 1, il sistema operativo scrive l'immagine di processo delle uscite nelle unità di uscita, aggiorna l'immagine di processo degli ingressi e riceve i dati globali per la CPU. S7 offre un controllo del tempo di ciclo massimo, con cui viene garantito il tempo di risposta massimo. Il valore per il tempo di ciclo massimo è preimpostato su 150 ms; questo valore può essere riparametrizzato o il tempo di controllo può essere avviato di nuovo in qualsiasi posizione del programma con la SFC 43 "RE_TRIGR". Se il programma supera il tempo di ciclo massimo per OB 1, il sistema operativo richiama OB 80 (OB di errore temporale); se OB 80 non è programmato, la CPU passa in modalità STOP. Oltre al controllo del tempo di ciclo massimo può essere garantita l'osservanza di un tempo ciclo minimo. Il sistema operativo ritarda l'inizio di un nuovo ciclo (scrittura dell‘immagine di processo delle uscite nelle unità di uscita) fino a quando non è stato raggiunto il tempo di ciclo minimo. I campi dei valori per i parametri del tempo di ciclo massimo e minimo sono riportati nei manuali /70/ e /101/. La modifica dei parametri viene eseguita con STEP 7. 1-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Dati locali per OB 1 La tabella seguente contiene le variabili temporanee (TEMP) di OB 1. Come nomi di variabili sono stati scelti i nomi di default di OB 1. Variabile Tipo Descrizione OB1_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: OB 1 è attivo OB1_SCAN_1 BYTE • B#16#01: Conclusione del nuovo avviamento (avviamento a caldo) • B#16#02: Conclusione del riavviamento • B#16#03: Conclusione del ciclo libero • B#16#04: Conclusione dell'avviamento a freddo • B#16#05: Primo ciclo di OB1 della nuova CPU master dopo la commutazione master-reserve e STOP del master finora valido OB1_PRIORITY BYTE Classe di priorità: 1 OB1_OB_NUMBR BYTE Numero di OB (01) OB1_RESERVED_1 BYTE Riservato OB1_RESERVED_2 BYTE Riservato OB1_PREV_CYCLE INT Tempo ciclo della precedente scansione (ms) OB1_MIN_CYCLE INT Tempo ciclo minimo (ms) dall'ultimo avviamento OB1_MAX_CYCLE INT Tempo ciclo massimo (ms) dall'ultimo avviamento OB1_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-5 Blocchi organizzativi 1.3 OB di allarme dall'orologio (da OB 10 a OB 17) Descrizione S7 mette a disposizione fino a otto blocchi organizzativi (dall'OB 10 all'OB 17) che vengono avviati una volta o periodicamente. L'utente può parametrizzare la CPU con le SFC o con STEP 7 in modo che questi OB vengano elaborati ai seguenti intervalli: • Una volta • Ogni minuto • Ogni ora • Giornalmente • Settimanalmente • Mensilmente • Annualmente • A fine mese Avvertenza In caso di elaborazione mensile di un OB di allarme dall'orologio, lo standard prevede soltanto i giorni 1, 2 ... 28. Funzionamento degli OB di allarme dall'orologio Per avviare un allarme dall'orologio, è necessario impostare prima l'allarme e quindi attivarlo. Esistono le seguenti tre possibilità di avviamento: • Avviamento automatico dell'allarme dall'orologio. Esso ha luogo se sia l'impostazione che l'attivazione dell'allarme dall'orologio sono state eseguite con STEP 7. La tabella 1-3 mostra le possibilità di attivazione di un allarme dall'orologio con STEP 7. • L'allarme dall'orologio viene impostato con STEP 7 e attivato mediante richiamo della SFC 30 "ACT_TINT" dal proprio programma. • L'allarme dall'orologio viene impostato mediante richiamo della SFC 28 "SET_TINT" e viene attivato mediante richiamo della SFC 30 "ACT_TINT". Intervallo Descrizione Non attivato L'OB di allarme dall'orologio non viene elaborato neppure se è caricato nella CPU. L'allarme dall'orologio può essere attivato mediante richiamo della SFC 30. Attivato una volta L'OB dell'allarme dall'orologio viene annullato automaticamente dopo che è stato elaborato una volta come indicato. Il programma utente può impostare di nuovo l'allarme dall'orologio con la SFC 28 e attivarlo di nuovo con la SFC 30. Attivato periodicamente 1-6 Nel momento in cui viene impostato l'allarme dall'orologio la CPU rileva, in base all'ora attuale e al periodo di tempo, l'istante in cui esso deve essere avviato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Il comportamento degli allarmi dall'orologio durante la messa avanti o indietro dell'orologio è descritto in /234/. Avvertenza Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito una volta, la data e l'ora non devono essere nel passato (secondo l'orologio hardware della CPU). Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito a intervalli periodici, ma si imposta nel passato la data e l'ora di inizio, l'OB di allarme dall'orologio viene eseguito al primo intervallo successivo rispetto all'ora attuale. Gli allarmi dall'orologio possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC 39 fino a 42. Tempo di avvio impostato Ora attuale Intervallo impostato Istante della prima esecuzione dell'OB di allarme dall'orologio Condizioni che influiscono sugli OB di allarme dall'orologio Siccome l'allarme dall'orologio viene eseguito solo a intervalli determinati, alcune condizioni possono influire sul funzionamento degli OB corrispondenti durante l'elaborazione del programma. La tabella seguente mostra alcune di queste condizioni e descrive l'effetto dell'esecuzione dell'OB di allarme dall'orologio. Condizione Risultato Il programma richiama SFC 29 "CAN_TINT" Il sistema operativo cancella l'evento di avvio (data e ora) e annulla un allarme dall'orologio. dell'allarme dall'orologio. Occorre reimpostare e attivare l'evento di avvio prima di poter richiamare l'OB. Il programma ha tentato di attivare un OB di allarme dall'orologio, che al momento dell'attivazione non era caricato nella CPU. Il sistema operativo chiama OB 85. Se OB 85 non è stato programmato (caricato nella CPU), la CPU passa in STOP. Nel sincronizzare o correggere l'orologio di sistema della CPU, si è impostata l'ora in avanti e si è saltata la data o l'ora dell'evento di avvio per l'OB ora del giorno. Il sistema operativo chiama OB 80 e codifica il numero di OB (10) e le informazioni dell'evento di avvio in OB 80. Nel sincronizzare o correggere l'orologio di sistema della CPU, l'ora è stata riportata indietro e si ripete la data o l'ora dell'evento di avvio per un OB di allarme dall'orologio. CPU S7-400 e CPU 318: Se l'OB di allarme dall'orologio era già attivato prima di riportare indietro l'orologio, esso non viene di nuovo richiamato per i tempi già trascorsi. Il sistema operativo esegue quindi l'OB di allarme dall'orologio una volta, indipendentemente dal numero di volte che questo OB sarebbe dovuto essere eseguito. Le informazioni di evento di avvio dell'OB 80 mostrano la data e l'ora in cui l'OB di allarme dall'orologio è stato saltato per la prima volta. CPU S7-300: viene eseguito l'OB di allarme dall'orologio Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-7 Blocchi organizzativi Condizione Risultato La CPU esegue un nuovo avviamento (avviamento a caldo) o un avviamento a freddo. Ogni OB di allarme dall'orologio che è stato configurato con una SFC riprende la configurazione che è stata progettata con STEP 7. Se si configura un allarme dall'orologio in modo che il relativo OB venga avviato una volta e l'allarme è stato impostato e attivato con STEP 7 allora l'OB viene richiamato una volta dal sistema operativo dopo un nuovo avviamento (avviamento a caldo) oppure avviamento a freddo se l'istante di avvio progettato è nel passato (riferito all'orologio hardware della CPU ). Un OB di allarme dall'orologio viene ancora eseguito quando si verifica l'evento di avvio per il prossimo intervallo. Il sistema operativo chiama OB 80. Se OB 80 non è programmato, la CPU passa in STOP. Altrimenti, dopo l'esecuzione dell'OB 80 e dell'OB di allarme dall'orologio, viene ripresa l'esecuzione di OB richiesta. Dati locali per gli OB di allarme dall'orologio La tabella seguente contiene le variabili temporanee (TEMP) di un OB di allarme dall'orologio. Come nomi di variabili sono stati scelti i nomi di default di OB 10. Variabile Tipo Descrizione OB10_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#11: allarme attivo OB10_STRT_INFO BYTE B#16#11: Richiesta di avviamento per OB 10 (B#16#12: Richiesta di avviamento per OB 11) : : (B#16#18: Richiesta di avviamento per OB 17) OB10_PRIORITY BYTE OB10_OB_NUMBR BYTE Classe di priorità parametrizzata; valore di default:2 Numero di OB (da 10 a 17) OB10_RESERVED_1 BYTE Riservato OB10_RESERVED_2 BYTE Riservato OB10_PERIOD_EXE OB viene eseguito all'intervallo specificato: WORD W#16#0000: una volta W#16#0201: una volta al minuto W#16#0401: una volta all'ora W#16#1001: una volta al giorno W#16#1201: una volta alla settimana W#16#1401: una volta al mese W#16#1801: una volta all'anno W#16#2001: a fine mese OB10_RESERVED_3 INT Riservato OB10_RESERVED_4 INT Riservato OB10_DATE_TIME 1-8 DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.4 OB di allarme di ritardo (da OB 20 a OB 23) Descrizione S7 mette a disposizione fino a quattro OB (da OB 20 a OB 23) che vengono eseguiti rispettivamente dopo un tempo di ritardo parametrizzabile. Ogni OB di allarme di ritardo viene avviato da un richiamo della SFC 32 "SRT_DINT". Il tempo di ritardo è un parametro di ingresso della SFC. Quando il programma chiama SFC 32 "SRT_DINT", si specifica il numero di OB, il tempo di ritardo e un carattere di identificazione specifico per l'utente. Dopo che è trascorso il tempo di ritardo specificato, il relativo OB si avvia. L'esecuzione di un allarme di ritardo che non è stato ancora avviato può essere annullata. Funzionamento dell'OB di allarme di ritardo Al termine del tempo, il cui valore in ms è stato trasmesso insieme con un numero di OB alla SFC 32, il sistema operativo avvia il rispettivo OB. Per usare gli OB di allarme di ritardo si deve procedere come segue: • Avviare l'allarme di ritardo SFC 32 "SRT_DINT". • Occorre aver caricato l'OB di allarme dall'orologio nella CPU come parte del programma. Gli OB di allarme di ritardo vengono eseguiti solo se la CPU si trova nello stato di funzionamento RUN. Un nuovo avviamento (avviamento a caldo) ed un avviamento a freddo cancellano ogni evento di avvio di un OB di allarme di ritardo. Un allarme di ritardo non ancora attivato può essere annullato con la SFC 33 "CAN_DINT". Il tempo di ritardo viene misurato con una precisione di 1 ms. Un tempo di ritardo può essere avviato di nuovo immediatamente dopo la sua esecuzione. Con l'aiuto della SFC 34 "QRY_DINT" si può determinare lo stato di un allarme di ritardo. Il sistema operativo richiama un OB per errori di asincronismo se si presenta uno dei seguenti eventi: • Se il sistema operativo cerca di avviare un OB che non è caricato e il cui numero è stato indicato al richiamo della SFC 32 "SRT_DINT". • Se il successivo evento di avvio per un allarme di ritardo si verifica prima che sia terminata l'esecuzione del rispettivo OB di allarme di ritardo. Gli allarmi di ritardo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-9 Blocchi organizzativi Dati locali degli OB di allarme di ritardo La tabella seguente contiene le variabili temporali (TEMP) di un OB di allarme di ritardo. Come nomi di variabili sono stati scelti i nomi di default dell'OB 20. Variabile Tipo Dichiarazione Descrizione OB20_EV_CLASS BYTE TEMP OB20_STRT_INF BYTE TEMP Classe d'evento e identificazioni: B#16#11: Allarme attivo B#16#231: Richiesta di avvio per OB 20 (B#16#22: Richiesta di avvio per OB 21) (B#16#23: Richiesta di avvio per OB 22) (B#16#24: Richiesta di avvio per OB 23) OB20_PRIORITY BYTE OB20_OB_NUMBR TEMP Classe di priorità parametrizzata: valori di default da 3 (OB 20) fino a 6 (OB 23) BYTE TEMP Numero di OB (da 20 a 23) OB20_RESERVED_1 BYTE TEMP Riservato OB20_RESERVED_2 BYTE TEMP Riservato OB20_SIGN WORD TEMP Identificazione utente: Parametro di ingresso SIGN dal richiamo della SFC 32 "SRT_DINT" OB20_DTIME TIME TEMP Tempo di ritardo parametrizzato in ms OB20_DATE_TIME DATE_AND_TIME TEMP 1-10 Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.5 OB di schedulazione orologio (da OB 30 a OB 38) Descrizione S7 mette a disposizione fino a nove OB di schedulazione orologio (da OB 30 a OB 38), con il cui aiuto si possono avviare programmi in base ad intervalli di tempo equidistanti. La tabella seguente mostra i valori preimpostati per i reticoli temporali e le classi di priorità degli OB di schedulazione orologio. OB di schedulazione orologio Valore di default per reticolo temporale Valore di default per la classe di priorità OB 30 5s 7 OB 31 2s 8 OB 32 1s 9 OB 33 500 s 10 OB 34 200 s 11 OB 35 100 s 12 OB 36 50 s 13 OB 37 20 s 14 OB 38 10 s 15 Funzionamento degli OB di schedulazione orologio I momenti di avvio equidistanti degli OB di schedulazione orologio risultano dal rispettivo clock e dal rispettivo spostamento delle fasi. In /234/. è illustrato in quale rapporto si trovano il momento di avvio, il clock e lo spostamento delle fasi. Avvertenza È necessario provvedere affinché il tempo di esecuzione di ogni OB di schedulazione orologio sia nettamente inferiore al suo clock. Se un OB di schedulazione orologio non è ancora terminato, ma è di nuovo prossimo all'esecuzione a causa del clock decorso, viene avviato l'OB dell'errore temporale (OB 80). Successivamente viene recuperata la schedulazione orologio che ha causato l'errore. Gli allarmi di tempo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. I campi dei valori per i parametri: clock, classe di priorità e spostamento delle fasi sono riportati nei dati tecnici della CPU. La modifica dei parametri viene eseguita mediante parametrizzazione con STEP 7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-11 Blocchi organizzativi Dati locali degli OB di schedulazione orologio La tabella seguente contiene le variabili temporanee (TEMP) di un OB di schedulazione orologio. Come nomi di variabili sono stati scelti i nomi di default dell'OB 35. Variabile Tipo Descrizione OB35_EV_CLASS BYTE Classe d'evento e identificazioni: OB35_STRT_INF BYTE • B#16#30: Richiesta di avvio per l'OB di schedulazione orologio con trattamento speciale (solo in CPU H e lì solo se è esplicitamente consentito dalla progettazione ) • B#16#31: Richiesta di avvio per OB 30 • B#16#36: Richiesta di avvio per OB 35 • B#16#39: Richiesta di avvio per OB 38 • B#16#3A: Richiesta di avvio per l'OB di schedulazione orologio con trattamento speciale (solo in S7-300 e lì solo se è esplicitamente progettato) B#16#11: Allarme attivo : : OB_35_PRIORITY BYTE Classe di priorità parametrizzata: valori di default: da 7 (OB 30) a 15 (OB 38) OB35_OB_NUMBR BYTE Numero OB (da 30 a 38) OB35_RESERVED_1 BYTE Riservato OB35_RESERVED_2 BYTE Riservato OB35_PHASE_OFFSET WORD • se OB35_STRT_INF=B#16#3A: spostamento delle fasi inµs • in tutti gli altri casi: spostamento delle fasi in ms OB35_RESERVED_3 INT Riservato OB35_EXC_FREQ INT • se OB35_STRT_INF=B#16#3A: frequenza di esecuzione in µs • in tutti gli altri casi: frequenza di esecuzione in ms OB35_DATE_TIME 1-12 DATE_AND_TIME Data e ora in cui è stato richiamato l'OB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.6 OB di interrupt di processo (da OB 40 a OB 47) Descrizione S7 mette a disposizione fino a otto interrupt di processo indipendenti tra di loro con rispettivamente un OB. Mediante parametrizzazione con STEP 7 definire per ogni unità di ingresso/uscita, che deve attivare gli interrupt di processo, • quali canali devono attivare, con quale condizione marginale, un interrupt di processo • quale OB di interrupt di processo viene assegnato ai singoli gruppi di canali (a default vengono eseguiti tutti gli interrupt di processo tramite OB 40). Nei CP e FM è necessario utilizzare il rispettivo software per l'unità. Le classi di priorità per i singoli OB di interrupt di processo vengono definite con STEP 7. Funzionamento degli OB dell'interrupt di processo Dopo l'attivazione di un interrupt di processo da parte dell'unità, il sistema operativo identifica il posto connettore e determina il rispettivo OB di interrupt di processo. Se esso ha una priorità maggiore della classe di priorità momentaneamente attiva, esso viene avviato. La conferma specifica di canale avviene al termine di questo OB di interrupt di processo. Se nell'intervallo tra l'identificazione e la conferma di un interrupt di processo sulla stessa unità si presenta di nuovo un evento che deve attivare un interrupt di processo, valgono le seguenti regole: • Se l'evento si presenta nel canale che ha attivato prima l'interrupt di processo, il rispettivo interrupt va perso. Questo fatto è rappresentato dalla figura seguente sull'esempio di un canale di un'unità di ingresso digitale. L'evento attivante sia il fronte di salita. Il rispettivo OB di interrupt di processo sia l'OB 40. Interrupt di processo non riconosciuto Segnale di processo OB 40 • Elaborazione dell'OB 40 Se l'evento si presenta in un altro canale della stessa unità, momentaneamente non può essere attivato nessun interrupt di processo. Esso non va tuttavia perso, ma viene attivato dopo la conferma dell'interrupt di processo attivo. Se viene attivato un interrupt di processo il cui rispettivo OB è attivo momentaneamente proprio a causa di un interrupt di processo di un'altra unità, la nuova richiesta viene registrata e l'OB viene elaborato al momento opportuno . Gli interrupt di processo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. La parametrizzazione degli interrupt di processo di una unità può essere eseguita non solo con STEP 7, ma anche con le SFC da 55 a 57. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-13 Blocchi organizzativi Dati locali degli OB di interrupt di processo La tabella seguente descrive le variabili temporanee (TEMP) di un OB di interrupt di processo. Come nomi di variabili sono stati scelti nomi di default dell'OB 40. Variabile Tipo Descrizione OB40_EV_CLASS BYTE Classe di evento e identificazioni: OB40_STRT_INF BYTE • B#16#41: Interrupt tramite conduttore interrupt 1 • B#16#42: Interrupt tramite conduttore interrupt 2 (solo con S7-400) • B#16#43: Interrupt tramite conduttore interrupt 3 (solo con S7-400) • B#16#44: Interrupt tramite conduttore interrupt 4 (solo con S7-400) • B#16#45: WinAC: Interrupt azionato dal PC B#16#11: Interrupt attivo OB40_PRIORITY BYTE OB40_OB_NUMBR BYTE Classe di priorità parametrizzata: valori di default: da 16 (OB 40) a 23 (OB 47) Numero OB (da 40 a 47) OB40_RESERVED_1 BYTE Riservato OB40_IO_FLAG Unità di ingresso: B#16#54 BYTE Unità di uscita: B#16#55 OB40_MDL_ADDR WORD Indirizzo logico di base dell'unità che attiva l'interrupt OB40_POINT_ADDR DWORD • Per unità digitali: campo di bit con gli stati degli ingressi sull'unità Per l'assegnazione tra bit dell'OB40_POINT_ADDR e canale dell'unità consultare la descrizione dell'unità impiegata. • Per unità analogiche: campo di bit con le informazioni sul canale e il limite superato (per l'esatta configurazione, vedere /71/ o /101/.). • Per CP o IM: stato dell'allarme dell'unità (non rilevante per l'utente) OB40_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 1-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.7 OB di allarme di stato (OB 55) Avvertenza L'OB di allarme di stato (OB 55) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 55 in seguito a un allarme di stato attivato da un posto connettore di uno slave DPV1. Ciò si può verificare quando un componente (unità o modulo) di uno slave DPV1 cambia stato di funzionamento, p. es. da RUN a STOP. Gli eventi specifici che attivano un allarme di stato sono riportati nella documentazione del produttore dello slave DPV1. Dati locali dell'OB di allarme di stato La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di stato. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 55. Variabile Tipo di dati Descrizione OB55_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB55_STRT_INF BYTE • B#16#55: allarme di stato per DP • B#16#58: allarme di stato per PN IO OB55_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2 OB55_OB_NUMBR BYTE Numero di OB (55) OB55_RESERVED_1 BYTE Riservato OB55_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 Unità/modulo uscite: B#16#55 OB55_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) OB55_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB55_TYPE BYTE Identificazione del tipo di allarme "Allarme di stato" OB55_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB55_SPEC BYTE OB55_DATE_TIME DATE_AND_TIME Specificatore: • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 … 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando l'SFB 54 "RALRM" all'interno dell'OB 55. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-15 Blocchi organizzativi 1.8 OB di allarme di aggiornamento (OB 56) Avvertenza L'OB di allarme di aggiornamento (OB 56) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 56 in seguito a un allarme di aggiornamento attivato da un posto connettore di uno slave DPV1. Ciò si può verificare quando si esegue una modifica di parametrizzazione nel posto connettore di uno slave DPV1 (con accesso locale o remoto). Gli eventi specifici che attivano un allarme di aggiornamento sono riportati nella documentazione del produttore dello slave DPV1. Dati locali dell'OB di allarme di aggiornamento La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di aggiornamento. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 56. Variabile Tipo di dati Descrizione OB56_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB56_STRT_INF BYTE OB56_PRIORITY BYTE • B#16#56: allarme di aggiornamento in DP • B#16#59: allarme di aggiornamento in PN IO Classe di priorità parametrizzata, valore di default: 2 OB56_OB_NUMBR BYTE Numero di OB (56) OB56_RESERVED_1 BYTE Riservato OB56_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 OB56_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) Unità/modulo uscite: B#16#55 OB56_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB56_TYPE BYTE Identificazione del tipo di allarme "Allarme di aggiornamento" OB56_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB56_SPEC BYTE Specificatore: OB56_DATE_TIME DATE_AND_TIME • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 ... 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando l'SFB 54 "RALRM" all'interno dell'OB 56. 1-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.9 OB per allarmi produttore (OB 57) Avvertenza L'OB per allarmi produttore (OB 57) è disponibile solo per le CPU che supportano slave DPV1. Descrizione Il sistema operativo della CPU richiama l'OB 57 in seguito a un allarme produttore attivato da un posto connettore di uno slave DPV1. Dati locali dell'OB per allarmi produttore La tabella seguente contiene le variabili temporanee (TEMP) dell'OB per allarmi produttore. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 57. Variabile Tipo di dati Descrizione OB57_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11 (evento entrante) OB57_STRT_INF BYTE • B#16#57: Manufacture Alarm in DP • B#16#5A: Manufacture Alarm in PN IO • B#16#5B: IO: Profile Specific Alarm OB57_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2 OB57_OB_NUMBR BYTE Numero di OB (57) OB57_RESERVED_1 BYTE Riservato OB57_IO_FLAG BYTE Unità/modulo ingressi: B#16#54 Unità/modulo uscite: B#16#55 OB57_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme (unità o modulo) OB57_LEN BYTE Lunghezza del blocco dati fornito dall'allarme OB57_TYPE BYTE Identificazione del tipo di allarme "Allarme produttore" OB57_SLOT BYTE N. di posto connettore del componente che attiva l'allarme (unità o modulo) OB57_SPEC BYTE OB57_DATE_TIME DATE_AND_TIME Specificatore: • Bit 0 ... 1: specificatore allarme • Bit 2: Add_Ack • Bit 3 ... 7: n. sequenziale Data e ora in cui è stato richiamato l'OB Avvertenza L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando l'SFB 54 "RALRM" all'interno dell'OB 57. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-17 Blocchi organizzativi 1.10 OB di allarme di multicomputing (OB 60) Descrizione Con l'aiuto dell'allarme di multicomputing nel funzionamento multicomputing è possibile reagire ad un segnale in modo sincronico sulla relativa CPU. A differenza degli interrupt di processo, che vengono attivati da unità di segnale, l'allarme di multicomputing può essere emesso solo dalle CPU. Funzionamento degli OB di allarme di multicomputing L'allarme di multicomputing viene attivato richiamando la SFC 35 "MP_ALM". Nel funzionamento multicomputing questo porta all'avvio sincronizzato dell'OB 60 su tutte le CPU inserite del segmento di bus, se queste non hanno inibito l'OB 60 (tramite SFC 39 "DIS_IRT") o non l'hanno ritardato (tramite SFC 41 "DIS_AIRT"). Se su una CPU non è stato caricato l'OB 60, la stessa CPU ritorna subito nella classe di priorità elaborata per ultima e prosegue l'esecuzione del programma partendo da questo punto. Nel funzionamento ad un processore e nel funzionamento in telai segmentati l'OB 60 viene avviato solo su quella CPU sulla quale è stata richiamata la SFC 35 "MP_ALM". Se il programma richiama la SFC 35 "MP_ALM", a questa deve essere assegnata una identificazione di job a scelta. Questa identificazione viene trasmessa a tutte le CPU. Si ha così la possibilità di reagire a seconda dell'evento presente. Nel caso l'OB 60 sia stato programmato nelle singole CPU in modo differente, possono verificarsi dei tempi di elaborazione differenti. In questo caso la classe di priorità interrotta di volta in volta, continua ad essere elaborata in differenti punti di tempo. Se il successivo allarme di multicomputing viene emesso da una CPU, mentre un'altra CPU è ancora impegnata con l'elaborazione dell'OB 60 del precedente allarme di multicomputing, né sulla CPU richiedente, né su nessun'altra CPU inserita del segmento di bus può avvenire un avvio dell'OB 60. Questo funzionamento, che viene rappresentato nella figura seguente sull'esempio di due CPU, viene comunicato attraverso un relativo valore di funzione della SFC 35 richiamata. CPU 1: "CALL SFC 35" Elaborazione dell'OB60 Elaborazione dell'OB60 Ciclo Ciclo "CALL SFC 35" Elaborazione dell'OB60 Elaborazione dell'OB60 CPU 2: Ciclo 1-18 "CALL SFC 35" Ciclo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Dati locali degli OB di allarme di multicomputing La tabella seguente descrive le variabili temporanee (TEMP) degli OB di allarme di multicomputing. Come nomi di variabili sono stati scelti nomi di default dell'OB 60. Variabile Tipo Descrizione OB60_EV_CLASS BYTE Classe di evento e identificazioni: OB60_STRT_INF BYTE OB60_PRIORITY BYTE Classe di priorità: 25 OB60_OB_NUMBR BYTE Numero OB: 60 B#16#11: allarme attivo B#16#61: allarme di multicomputing attivato dalla propria CPU B#16#62: allarme di multicomputing attivato da un'altra CPU OB60_RESERVED_1 BYTE Riservato OB60_RESERVED_2 BYTE Riservato OB60_JOB Identificazione di job: variabile di ingresso JOB dell'SFC 35 "MP_ALM" INT OB60_RESERVED_3 INT Riservato OB60_REVERVED_4 INT Riservato OB60_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-19 Blocchi organizzativi 1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64) Descrizione Gli allarmi in sincronismo di clock consentono di avviare i programmi in modo sincrono rispetto al clock DP. L'allarme in sincronismo di clock TSAL y è costituito dall'OB 6y , <= y <= 4 che funge da OB di interfaccia. È possibile impostare la priorità degli OB da 61 a 64 assegnando un valore compreso tra 0 (OB deselezionato) e 2 - 26. ! Cautela Sia in caso di accessi diretti con comandi L e T (p. es. L PEB, T PAB) che in caso di impiego delle SFC 14 "DPRD_DAT" e 15 "DPWR_DAT", evitare gli accessi ad aree della periferia le cui immagini di processo parziali siano assegnate con collegamenti OB6x (allarmi in sincronismo di clock). Dati locali dell'OB di allarme in sincronismo di clock La tabella seguente descrive le variabili temporanee (TEMP) dell'OB di allarme in sincronismo di clock. Come nomi di variabili sono stati scelti i nomi di default dell'OB 61. Variabile Tipo di dati Descrizione OB61_EV_CLASS BYTE Classe dell'evento e identificazioni: B#16#11: allarme attivo OB61_STRT_INF BYTE B#16#64: richiesta di avvio per l'OB 61 B#16#67: richiesta di avvio per l'OB 64 OB61_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25 OB61_OB_NUMBR BYTE Numero OB: 61 ... 64 OB61_RESERVED_1 BYTE Riservato OB61_RESERVED_2 BYTE Riservato OB61_GC_VIOL BOOL Violazione GC OB61_FIRST BOOL Prima esecuzione dopo l'avviamento o lo stop OB61_MISSED_EXEC BYTE Numero degli avvii dell'OB 61 non avvenuti dall'ultima esecuzione dell'OB61 OB61_DP_ID BYTE ID del sistema master DP del sistema master DP del sincronismo di clock OB61_RESERVED_3 BYTE Riservato OB61_RESERVED_4 WORD Riservato OB61_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.12 OB di allarme di sincronismo tecnologico (OB 65) Avvertenza L'OB di allarme di sincronismo tecnologico (OB 65) riguarda solamente le CPU tecnologiche. Descrizione L'allarme di sincronismo tecnologico offre la possibilità di avviare un programma in sincronismo di clock con l'aggiornamento dei blocchi dati tecnologici. L'OB di allarme di sincronismo tecnologico viene avviato di volta in volta dopo l'aggiornamento dei blocchi dati tecnologici. La classe di priorità dell'OB di allarme di sincronismo tecnologico è fissata a 25 e non è modificabile. Avvertenza Al momento dell'avvio dell'OB di allarme di sincronismo tecnologico non sono ancora disponibili dati di istanza aggiornati delle funzioni tecnologiche. Dati locali dell'OB di allarme di sincronismo tecnologico La tabella seguente mostra le variabili temporanee (TEMP) dell'OB di allarme di sincronismo tecnologico. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 65. Variabile Tipo di dati Descrizione OB65_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: evento entrante, classe di evento 1 OB65_STRT_INF BYTE B#16#6A: richiesta di avvio dell'OB 65 OB65_PRIORITY BYTE Classe di priorità: 25 (fissa) OB65_OB_NUMBR BYTE Numero di OB (65) OB65_RESERVED_1 BYTE Riservato OB65_RESERVED_2 BYTE Riservato OB65_RESERVED_3 BOOL Riservato OB65_FIRST BOOL Prima esecuzione dell'OB 65 dopo l'avviamento OB65_MISSED_EXEC BYTE Numero di avvii mancati dell'OB 65 dall'ultima esecuzione dell'OB 65 OB65_RESERVED_4 BYTE Riservato OB65_RESERVED_5 BYTE Riservato OB65_RESERVED_6 WORD Riservato OB65_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiesto l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-21 Blocchi organizzativi 1.13 OB di errore di ridondanza della periferia (OB 70) Avvertenza L'OB di errore di ridondanza della periferia (OB 70) esiste solo con le CPU H. Descrizione Il sistema operativo della CPU H richiama l‘OB 70 se si verifica una perdita di ridondanza sul PROFIBUS DP (p. es. nel caso di guasto del bus sul master DP attivo oppure in caso di errore nell'interfaccia dello slave DP) oppure se cambia il master DP con gli slave DP con periferia condivisa. La CPU non passa allo stato di funzionamento STOP, se compare un relativo evento di avvio e l'OB 70 non è programmato. Se l'OB 70 è caricato ed il sistema H si trova in funzionamento ridondato, l'OB 70 viene elaborato in entrambe le CPU. Il sistema H rimane in funzionamento ridondato. Dati locali dell'OB d'errore di ridondanza della periferia La seguente tabella contiene le variabili temporanee (TEMP) dell'OB d'errore di ridondanza della periferia. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 70. Variabile Tipo Descrizione OB70_EV_CLASS BYTE Classe di evento e identificazioni: OB70_FLT_ID BYTE • B#16#72: evento uscente • B#16#73: evento entrante Codice d'identificazione d'errore (valori possibili: B#16#A2, B#16#A3) OB70_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB70_OB_NUMBR BYTE Numero di OB (70) OB70_RESERVED_1 WORD Riservato OB70_INFO_1 WORD Dipendente dal codice di identificazione d‘errore OB70_INFO_2 WORD Dipendente dal codice di identificazione d‘errore OB70_INFO_3 WORD Dipendente dal codice di identificazione d‘errore OB70_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l‘OB La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 70. OB70_EV_CLASS OB70_FLT_ID Evento di avvio dell'OB 70 B#16#73 B#16#A2 Guasto di un master DP o di un sistema master DP B#16#73/B#16#72 B#16#A3 Perdita di ridondanza/ritorno della ridondanza sullo slave DP 1-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Le variabili dipendenti dal codice di errore hanno il significato seguente: Codice errore Bit Significato B#16#A2 • OB70_INFO_1: Indirizzo logico di base del master DP interessato • OB70_INFO_2: Riservato • OB70_INFO_3: da 0 a 7: Riservato da 8 a 15: ID del sistema master DP interessato B#16#A3 • OB70_INFO_1: Indirizzo logico di base del master DP interessato • OB70_INFO_2: Slave DP interessato. • OB70_INFO_3 da 0 a 14: Indirizzo logico di base di uno slave S7 o indirizzo di diagnostica di uno slave DP standard 15: Identificazione I/O Slave DP interessato: da 0 a 7: N. della stazione DP da 8 a 15: ID del sistema master DP Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-23 Blocchi organizzativi 1.14 OB di errore di ridondanza della CPU (OB 72) Avvertenza L'OB d'errore di ridondanza della CPU (OB 72) esiste solo con le CPU H. Descrizione Il sistema operativo della CPU H richiama l'OB 72 quando compare uno degli eventi seguenti: • Perdita di ridondanza delle CPU • Commutazione riserva-master • Errore di sincronizzazione • Errore in un modulo SYNC • Annullamento dell'operazione di aggiornamento • Errore di confronto (p. es. RAM, PAA) L'OB 72 viene eseguito da tutte le CPU che si trovano negli stati di funzionamento RUN o AVVIAMENTO dopo un evento di avvio corrispondente. Dati locali dell'OB d'errore di ridondanza della CPU La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di ridondanza della CPU. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 72. Variabile Tipo Descrizione OB72_EV_CLASS BYTE Classe di evento e identificazioni: • B#16#78: Evento uscente • B#16#73, B#16#75, B#16#79: Evento entrante OB72_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#01, B#16#02, B#16#03, B#16#20, B#16#21, B#16#22, B#16#23, B#16#31, B#16#33, B#16#34, B#16#40, B#16#41, B#16#42, B#16#43, B#16#44, B#16#50, B#16#51, B#16#52, B#16#53, B#16#54, B#16#55, B#16#56, B#16#C1, B#16#C2) OB72_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB72_OB_NUMBR BYTE Numero di OB (72) 1-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Variabile Tipo OB72_RESERVED_1 WORD Descrizione Solo per il codice di errore B#16#03: • High byte: identificazione del contenuto di OB72_INFO_2 e OB72_INFO_3 - 0: OB72_INFO-2 e OB72_INFO_3 non hanno importanza - B#16#C4: l'entrata nel funzionamento ridondante dopo la ricerca di errori è stato eseguito con commutazione della riserva master (se OB72_INFO_3=W#16#0001) oppure senza commutazione della riserva master (se OB72_INFO_3=W#16#0002). OB72_INFO_2 è riservato. - B#16#CD: OB72_INFO_2 e OB72_INFO_3 contengono il tempo effettivo di bloccaggio delle classi di priorità > 15 low byte: riservato OB72_INFO_1 WORD Solo per codice di errore B#16#C2: • • high byte: identificazione per il superamento del tempo di controllo: - 1: Ritardo del tempo di ciclo - 2: Tempo morto della periferia - 3: Ritardo di comunicazione low byte: tentativo di aggiornamento attuale OB72_INFO_2 WORD Solo per codice di errore B#16#03 e OB72_RESERVED_1=B#16#CD: high word del tempo effettivo di bloccaggio delle classi di priorità > 15 in ms OB72_INFO_3 WORD Solo per il codice di errore B#16#03: • • OB72_RESERVED_1=B#16#C4: - W#16#0001: entrata nel funzionamento ridondante dopo la ricerca di errori con commutazione della riserva master - W#16#0002: entrata nel funzionamento ridondante dopo la ricerca di errori senza commutazione della riserva master OB72_RESERVED_1=B#16#CD: - OB72_DATE_TIME DATE_AND_TIME low word del tempo effettivo di bloccaggio delle classi di priorità > 15 in ms Data e ora in cui è stato richiamato l‘OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-25 Blocchi organizzativi La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 72. OB72_EV_CLASS OB72_FLT_ID Evento di avvio dell'OB 72 B#16#73 B#16#01 Perdita di ridondanza (1v2) dovuta a guasto della CPU B#16#73 B#16#02 Perdita di ridondanza (1v2) dovuta a STOP della riserva, causato dall'utente B#16#73 B#16#03 Sistema H (1v2) passato al funzionamento ridondato B#16#73 B#16#20 Errore nel confronto della RAM B#16#73 B#16#21 Errore nel confronto del valore iniziale dell'immagine di processo B#16#73 B#16#22 Errore nel confronto di merker, temporizzatori o contatori B#16#73 B#16#23 Riconosciuti dati del sistema operativo diversi B#16#73 B#16#31 Commutazione riserva-master dovuta a guasto del master B#16#73 B#16#33 Commutazione riserva-master nel corso di una modifica all’impianto in funzione B#16#73 B#16#34 Commutazione riserva-master dovuta a un guasto del collegamento sul modulo di sincronizzazione B#16#73 B#16#40 Errore di sincronizzazione nel programma utente dovuto a tempo di attesa scaduto B#16#73 B#16#41 Errore di sincronizzazione nel programma utente dovuto ad attesa su diversi punti di sincronizzazione B#16#73 B#16#42 Errore di sincronizzazione nel sistema operativo dovuto ad attesa su diversi punti di sincronizzazione B#16#73 B#16#43 Errore di sincronizzazione nel sistema operativo dovuto a tempo di attesa scaduto B#16#73 B#16#44 Errore di sincronizzazione nel sistema operativo dovuto a dati errati B#16#79 B#16#50 Manca il modulo SYNC B#16#79 B#16#51 Modifica sul modulo di sincronizzazione senza ALIMENTAZIONE ON B#16#79/B#16#78 B#16#52 Modulo SYNC estratto/inserito B#16#79 B#16#53 Modifica sul modulo di sincronizzazione senza cancellazione totale B#16#79 B#16#54 Modulo SYNC: doppia assegnazione di un n. di telaio di montaggio B#16#79/B#16#78 B#16#55 Errore modulo SYNC /eliminato B#16#79 B#16#56 N. di telaio di montaggio non ammesso impostato sul modulo SYNC B#16#73 B#16#C1 Interruzione dell'operazione di aggiornamento B#16#73 B#16#C2 Annullamento del processo di aggiornamento per il superamento di un tempo di controllo all'n-esimo tentativo (1 <= n <= numero max. possibile di tentativi di aggiornamento dopo l'annullamento causato dal superamento del tempo ) 1-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.15 OB di errore di ridondanza di comunicazione OB (OB 73) Avvertenza L'OB di errore di ridondanza di comunicazione (OB 73) esiste solo con firmware versione V2.0.x della CPU 417-4H. Descrizione Il sistema operativo della CPU H richiama l'OB 73 alla prima perdita di ridondanza di un collegamento S7 a elevata disponibilità (collegamenti S7 ad elevata disponibilità esistono esclusivamente nella comunicazione S7, vedere "Sistema di automazione S7-400 H. Sistemi ad elevata disponibilità".). In caso di perdita di ridondanza di altri collegamenti S7 ad elevata disponibilità non viene più avviato l'OB 73. Un nuovo avvio dell'OB 73 verrà eseguito nuovamente solo quando è stata ristabilita la ridondanza per tutti i collegamenti S7 che erano a elevata disponibilità. La CPU non passa allo stato di funzionamento STOP, se si verifica un evento di avvio corrispondente e l'OB 73 non è programmato. Dati locali dell'OB di errore di ridondanza della CPU Nella tabella seguente sono riportate le variabili temporanee (TEMP) dell'OB di errore di ridondanza di comunicazione. Come nomi delle variabili sono stati scelti i nomi di default dell'OB 73. Variabile Tipo Descrizione OB73_EV_CLASS BYTE Classe di evento e identificazioni: B#16#73, B#16#72 OB73_FLT_ID BYTE Codice di errore (valore possibile: B#16#E0) OB73_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25 OB73_OB_NUMBR BYTE Numero di OB (73) OB73_RESERVED_1 WORD Riservato OB73_INFO_1 WORD (non rilevante per l'utente) OB73_INFO_2 WORD (non rilevante per l'utente) OB73_INFO_3 WORD (non rilevante per l'utente) OB73_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB La tabella seguente mostra quale evento ha causato l'avviamento dell'OB 73 . OB73_FLT_ID Evento di avvio dell'OB 73 B#16#E0 Perdita di ridondanza della comunicazione / eliminata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-27 Blocchi organizzativi 1.16 OB di errore temporale (OB 80) Descrizione Il sistema operativo della CPU chiama OB 80 ogni volta che vi è un evento che identifica un errore correlato all'esecuzione di un OB: superamento del tempo di ciclo, errore di conferma nell'esecuzione di un OB, spostamento in avanti dell'ora (salto dell'ora) per l'avvio di un OB, ritorno in RUN dopo una CiR. Per esempio, se un evento di avvio per un OB di schedulazione orologio si verifica prima che sia terminata l'esecuzione dello stesso OB, il sistema operativo richiama l'OB 80. Se OB 80 non è stato programmato, la CPU passa in modalità STOP. L'OB dell'errore temporale può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Avvertenza Se l'OB 80 viene richiamato due volte nello stesso ciclo a causa del superamento del tempo ciclo, la CPU passa in STOP. Questo inconveniente può essere evitato richiamando la SFC 43 "RE_TRIGR" nel punto adatto. Dati locali dell'OB di errore temporale La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore temporale. Come nomi di variabili sono stati scelti i nomi di default dell'OB 80. Variabile Tipo Descrizione OB80_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#35 OB80_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#01, B#16#02, B#16#05, B#16#06, B#16#07, B#16#08, B#16#09, B#16#0A, B#16#0B) OB80_PRIORITY BYTE Classe di priorità: l'OB 80 viene eseguito in RUN con la classe di priorità 26 e in caso di overflow del buffer di richiesta dell'OB con la classe di priorità 28 OB80_OB_NUMBR BYTE Numero di OB (80) OB80_RESERVED_1 BYTE Riservato OB80_RESERVED_2 BYTE Riservato OB80_ERROR_INFO WORD Informazione di errore: dipendente dal codice di identificazione errore OB80_ERR_EV_CLASS BYTE Classe dell'evento che ha causato l'errore OB80_ERR_EV_NUM BYTE Numero dell'evento che ha causato l'errore OB80_OB_PRIORITY BYTE Informazione di errore: dipendente dal codice di identificazione errore OB80_OB_NUM BYTE Informazione di errore: dipendente dal codice di identificazione errore OB80_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Le variabili dipendenti dal codice di identificazione dell'errore hanno il seguente significato: Codice errore Bit Significato B#16#01 Tempo ciclo superato • OB80_ERROR_INFO: Tempo esecuzione dell'ultimo ciclo (ms) • OB80_ERR_EV_CLASS: Classe dell'evento che ha causato l'allarme • OB80_ERR_EV_NUM: Numero dell'evento che ha causato l'allarme • OB80_OB_PRIORITY: Classe di priorità dell'OB in elaborazione quando si è verificato l'errore. • OB80_OB_NUM Il numero dell'OB in elaborazione quando si è verificato l'errore. B#16#02 L'OB richiamato è ancora in elaborazione. • La relativa variabile temporanea dell'OB richiamato, che è determinato da: OB80_ERROR_INFO: • OB80_ERR_EV_CLASS e • OB80_ERR_EV_NUM. • OB80_ERR_EV_CLASS: Classe dell'evento che ha causato l'allarme • OB80_ERR_EV_NUM: Numero dell'evento che ha causato l'allarme • OB80_OB_PRIORITY • OB80_OB_NUM: Classe di priorità dell'OB che ha causato l'errore (ad es.: „7" per OB30/classe di priorità 7 che avrebbe dovuto essere avviato, ma non è stato possibile avviare). Numero dell'OB che ha causato l'errore (ad es.: „30" per l'OB30 che avrebbe dovuto essere avviato, ma non è stato possibile avviare). B#16#05 e allarme dall'orologio decorso per salto dell'ora B#16#06 allarme dall'orologio decorso alla ripresentazione in RUN dopo ALT • OB80_ERROR_INFO: Bit 0 impostato: per l'allarme dall'orologio 0 il momento di avvio si trova nel passato Bit 7 impostato: per l'allarme dall'orologio 7 il momento di avvio si trova nel passato Bit da 8 a 15: non utilizzato • OB80_ERR_EV_CLASS: • OB80_ERR_EV_NUM: non utilizzato • OB80_OB_PRIORITY: non utilizzato • OB80_OB_NUM: non utilizzato non utilizzato B#16#07 Per il significato dei parametri vedere il codice d'errore B#16#02. Overflow del buffer di richiesta dell'OB per l'attuale classe di priorità (ogni richiesta di avvio dell'OB per la classe di priorità viene registrata nel rispettivo buffer di richiesta dell'OB; al termine dell'OB la registrazione viene cancellata di nuovo. Se per una classe di priorità sono presenti più richieste di avvio dell'OB del massimo numero possibile di registrazioni del rispettivo buffer di richiesta dell'OB, viene richiamato l'OB 80 con il codice di identificazione dell'errore B#16#07.) B#16#08 Significato dei parametri: vedere codice di errore B#16#02 Errore temporale di allarme in sincronismo di clock Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-29 Blocchi organizzativi Codice errore B#16#09 Significato dei parametri: vedere codice di errore B#16#02. Bit Significato Perdita dell’allarme a causa di un elevato carico di allarmi B#16#0A Rientro in RUN dopo CiR OB80_ERROR_INFO: Tempo di sincronizzazione CiR in ms B#16#0B Errore di tempo di allarme in sincronismo tecnologico OB80_ERR_EV_NUM: Numero dell'evento che ha attivato l'allarme: W#16#116A OB80_OB_PRIORITY: Classe di priorità dell'OB elaborato quando si è verificato l'errore. OB80_OB_NUM Numero dell'OB elaborato quando si ¢Õ verificato l'errore: 65 1-30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.17 OB di errore di alimentazione (OB 81) Descrizione Il sistema operativo della CPU richiama l'OB 81 ogni volta che si verifica un evento che identifica un errore legato all'alimentatore (solo con S7-400) o alla bufferizzazione (sia con evento entrante sia con evento uscente). In S7-400 l'OB 81 viene richiamato in caso di errore della batteria solo se è attivata la verifica della batteria con l'interruttore BATT.INDIC. La CPU non passa in STOP quando l'OB 81 non è programmato. L'OB dell'errore di alimentazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di errore di alimentazione La tabella seguente contiene le variabili temporanee (TEMPO) dell'OB dell'errore di alimentazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 81. Variabile Tipo Descrizione OB81_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#38: Evento uscente B#16#39: Evento entrante OB81_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#21, B#16#22, B#16#23, B#16#25, B#16#26, B#16#27, B#16#31, B#16#32, B#16#33) OB81_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) Per Esempio: valori parametrizzablili per RUN: 2-26 OB81_OB_NUMBR BYTE Numero di OB (81) OB81_RESERVED_1 BYTE Riservato OB81_RESERVED_2 BYTE Riservato OB81_RACK_CPU WORD • Bit da 0 a 7: B#16#00 • Bit da 8 a 15: - In una CPU standard: B#16#00 - In una CPU H: bit da 8 a 10: N. telaio di montaggio, bit 11: 0=CPU di riserva, 1=CPU master, bit da 12 a 15: 1111 OB81_RESERVED_3 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_4 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_5 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_RESERVED_6 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32, B#16#33 OB81_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-31 Blocchi organizzativi Le variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 contengono le apparecchiature di ampliamento, nelle quali la bufferizzazione a batteria (per codice identificazione di errore B#16#31), la tensione del buffer (con codice identificazione errore B#16#32) o l'alimentazione di 24V (con codice identificazione errore B#16#33) ha subito un guasto o è ritornata. La seguente tabella mostra quale bit nelle variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 appartiene a quale apparecchiatura di ampliamento. OB81_RESERVED_6 OB81_RESERVED_5 OB81_RESERVED_4 OB81_RESERVED_3 Bit 0 riservato 8. apparecch. di ampl. 16. apparecch. di ampl. riservato Bit 1 1. apparecch. di ampl. 9. apparecch. di ampl. 17. apparecch. di ampl. riservato Bit 2 2. apparecch. di ampl. 10. apparecch. di ampl. 18. apparecch. di ampl. riservato Bit 3 3. apparecch. di ampl. 11. apparecch. di ampl. 19. apparecch. di ampl. riservato Bit 4 4. apparecch. di ampl. 12. apparecch. di ampl. 20. apparecch. di ampl. riservato Bit 5 5. apparecch. di ampl. 13. apparecch. di ampl. 21. apparecch. di ampl. riservato Bit 6 6. apparecch. di ampl. 14. apparecch. di ampl. riservato riservato Bit 7 7. apparecch. di ampl. 15. apparecch. di ampl. riservato riservato I bit nelle variabili OB 81_RESERVED_i hanno il seguente significato (per la rispettiva apparecchiatura di ampliamento): All'arrivo dell'evento vengono contrassegnate (i relativi bit sono impostati) le apparecchiature di ampliamento, nelle quali almeno una batteria o la tensione del buffer o l'alimentazione di 24V ha subito un guasto. Le apparecchiature di ampliamento, nelle quali già prima almeno una batteria o una tensione del buffer o l'alimentazione di 24V hanno subito un guasto, non vengono più visualizzate. Alla partenza dell'evento viene segnalata perlomeno in una apparecchiatura di ampliamento una bufferizzazione ritornata (il rispettivo bit è impostato). La tabella seguente mostra quale evento ha causato l'avvio dell'OB 81. OB81_EV_CLASS OB81_FLT_ID Significato B#16#39/B#16#38 B#16#21 Almeno una batteria tampone dell'apparecchiatura centrale scarica/eliminata (BATTF) Avvertenza: L'evento entrante si verifica solo quando si guasta una delle due batterie (in caso di batteria tampone ridondata). Se si verifica successivamente il guasto anche dell'altra batteria, l'evento non compare nuovamente. B#16#39/B#16#38 B#16#22 Tensione buffer nell'apparecchiatura centrale manca/eliminata (BAF). B#16#39/B#16#38 B#16#23 Guasto dell'alimentazione 24V nell'apparecchiatura centrale/eliminata. B#16#39/B#16#38 B#16#25 Almeno una batteria tampone in almeno un'apparecchiatura centrale ridondata scarica/eliminata (BATTF). B#16#39/B#16#38 B#16#26 Tensione buffer in almeno un'apparecchiatura centrale ridondata scarica/eliminata (BAF). B#16#39/B#16#38 B#16#27 Guasto dell‘alimentazione 24V in almeno un'apparecchiatura centrale ridondata. B#16#39/B#16#38 B#16#31 Almeno una batteria tampone di un'apparecchiatura di ampliamento scarica/eliminata (BATTF). B#16#39/B#16#38 B#16#32 Tensione del buffer di una delle apparecchiature di ampliamento manca/eliminata (BAF). B#16#39/B#16#38 B#16#33 Guasto dell'alimentazione 24V in un'apparecchiatura di ampliamento/eliminata. 1-32 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.18 OB di allarme di diagnostica (OB 82) Descrizione Se un'unità capace di diagnostica, nella quale è stato abilitato l'allarme di diagnostica, identifica un errore, essa richiede un allarme di diagnostica alla CPU (sia per l'evento entrante che per l'evento uscente). Il sistema operativo richiama l'OB 82. L'OB 82 contiene, nelle sue variabili locali, l'indirizzo logico di base e una informazione di diagnostica lunga quattro byte dell'unità difettosa (vedere la tabella seguente). Se l'OB 82 non è stato programmato, la CPU passa nello stato di funzionamento STOP. L'OB di allarme di diagnostica può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di allarme di diagnostica La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di diagnostica. Come nomi di variabili sono stati scelti i nomi di default dell'OB 82. Variabile Tipo Descrizione OB82_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#38: Evento uscente • B#16#39: Evento entrante OB82_FLT_ID BYTE Codice identificazione errore (B#16#42) OB82_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB82_OB_NUMBR BYTE Numero di OB (82) OB82_RESERVED_1 BYTE Riservato OB82_IO_FLAG BYTE • Unità di ingresso: B#16#54 • Unità di uscita: B#16#55 OB82_MDL_ADDR WORD Indirizzo base logico dell'unità in cui si è verificato il guasto OB82_MDL_DEFECT BOOL Disturbo unità OB82_INT_FAULT BOOL Guasto interno OB82_EXT_FAULT BOOL Guasto esterno OB82_PNT_INFO BOOL Errore di canale presente OB82_EXT_VOLTAGE BOOL Manca tensione ausiliaria esterna OB82_FLD_CONNCTR BOOL Manca connettore frontale OB82_NO_CONFIG BOOL Unità non parametrizzata OB82_CONFIG_ERR BOOL Parametri errati nell'unità OB82_MDL_TYPE BYTE • Bit da 0 a 3: Classe unità • Bit 4: Informazione canale presente • Bit 5: Informazione utente presente • Bit 6: Allarme di diagnostica del rappresentante • Bit 7: Riserva OB82_SUB_MDL_ERR BOOL Modulo utente errato / manca OB82_COMM_FAULT BOOL Guasto di comunicazione OB82_MDL_STOP BOOL Stato di funzionamento (0: RUN, 1: STOP) OB82_WTCH_DOG_FLT BOOL Il temporizzatore watchdog ha arrestato l'unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-33 Blocchi organizzativi Variabile Tipo Descrizione OB82_INT_PS_FLT BOOL Guasto alimentatore interno OB82_PRIM_BATT_FLT BOOL Batteria scarica OB82_BCKUP_BATT_FLT BOOL Intera bufferizzazione guasta OB82_RESERVED_2 BOOL Riservato OB82_RACK_FLT BOOL Guasto dell'apparecchiatura di ampliamento OB82_PROC_FLT BOOL Guasto processore OB82_EPROM_FLT BOOL Errore EPROM OB82_RAM_FLT BOOL Errore RAM OB82_ADU_FLT BOOL Errore ADU/DAU OB82_FUSE_FLT BOOL Guasto fusibile OB82_HW_INTR_FLT BOOL Interrupt di processo perso OB82_RESERVED_3 BOOL Riservato OB82_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Avvertenza Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 1-34 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.19 OB di estrazione/inserimento (OB 83) Descrizione Il sistema operativo della CPU richiama l’OB 83 nei seguenti casi: • dopo l’estrazione o l’inserimento di un’unità progettata • dopo aver modificato dei parametri di un’unità in STEP 7 nel corso di una modifica all’impianto in funzione (operazione CiR) ed aver caricato queste modifiche di parametri nella CPU in RUN. L’OB di l’estrazione/inserimento può essere disabilitato o ritardato e abilitato di nuovo con l’aiuto delle SFC da 9 a 42. Estrazione ed inserimento di unità Ogni estrazione e inserimento di un'unità progettata (non ammesse: unità di alimentazione, CPU, capsule di adattamento e IM) negli stati di funzionamento RUN, STOP e AVVIAMENTO provoca un allarme di estrazione/inserimento. Questo allarme determina una registrazione rispettivamente nel buffer di diagnostica e nella lista di stato di sistema della rispettiva CPU. Inoltre, nello stato di funzionamento RUN viene avviato l'OB di estrazione/inserimento. Se questo OB non è stato programmato, la CPU passa nel modo di funzionamento STOP. L’operazione di estrazione/l’inserimento di unità S7-400 nel sistema viene sorvegliata secondo per secondo. Affinché la CPU rilevi l’estrazione e l’inserimento di un’unità S7-400, tra le due operazioni deve intercorrere un tempo minimo di due secondi. Altre unità richiedo un intervallo più lungo. L'OB 83 viene avviato quando si estrae nello stato di funzionamento RUN una unità progettata. È possibile identificare prima un errore durante l'accesso diretto o l'aggiornamento dell'immagine di processo. Quando si inserisce una unità in un posto connettore progettato nello stato RUN, il sistema operativo verifica se il tipo dell'unità innestata coincide con la progettazione. Successivamente viene avviato l'OB 83, e, in caso di corrispondenza dei tipi di unità, ha luogo la parametrizzazione. Particolarità dell'S7-300 • L'estrazione e l'inserimento di unità della periferia centrale non sono consentiti nell'S7-300. • La CPU 318 si comporta, per quanto concerne la periferia decentrata, come una CPU S7-400. Per quanto riguarda tutte le altre CPU S7-300, soltanto le CPU 31x PN/DP, e soltanto per i componenti IO PROFINET, sono dotate dell'allarme di estrazione e inserimento. • Nelle CPU/IM151 (CPU dell'ET 200S), l'allarme di estrazione e inserimento è disponibile soltanto per la periferia a livello centrale. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-35 Blocchi organizzativi Riparametrizzazione di unità Le unità presenti possono essere riparametrizzate nel corso di una modifica all’impianto in funzione (operazione CiR). La riparametrizzazione prevede il trasferimento dei record dati dei parametri nelle unità desiderate. Si svolge come segue: 1. L’OB 83 si avvia dopo l’esecuzione della modifica dei parametri di un’unità in STEP 7 ed il loro caricamento nella CPU in RUN (evento di avvio W#16#3367). Tra le informazioni di avvio dell’OB sono importanti l’indirizzo logico di base (OB83_MDL_ADDR) e il tipo di unità (OB83_MDL_TYPE). Da questo momento i dati di ingresso e di uscita possono non essere più corretti e possono non esservi più SFC attive che inviano record dati a questa unità. 2. Al termine dell’OB segue la riparametrizzazione dell’unità. 3. Al termine dell’operazione di riparametrizzazione l’OB 83 viene nuovamente avviato (evento di avvio W#16#3267 in caso di parametrizzazione riuscita, o W#16#3268 in caso di parametrizzazione non riuscita). I dati di ingresso e di uscita dell’unità si comportano come dopo un allarme di inserimento, vale a dire che in alcuni casi da quel momento possono non essere corretti. È ammesso il richiamo immediato delle SFC per l’invio dei record dati all’unità. Dati locali dell'OB di estrazione/ inserimento La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di estrazione/inserimento. Come nomi di variabili sono stati scelti i nomi di default dell'OB 83. Variabile Tipo Descrizione OB83_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#32: fine riparametrizzazione unità • B#16#33: inizio riparametrizzazione unità • B#16#38: unità inserita • B#16#39: unità estratta o non indirizzabile o fine riparametrizzazione OB83_FLT_ID BYTE Codice di errore (valori possibili: B#16#51, B#16#54, B#16#55, B#16#56, B#16#58, B#16#61, B#16#63, B#16#64, B#16#65, B#16#66, B#16#67, B#16#68, B#16#84) OB83_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB83_OB_NUMBR BYTE Numero di OB (83) OB83_RESERVED_1 BYTE OB83_MDL_TD BYTE Identificazione per l'unità o il sotto-modulo/modulo di interfaccia Campo: • OB83_MDL_ADDR 1-36 WORD B#16#54: area periferia degli ingressi (PI) • B#16#55: area periferia delle uscite (PU) • PROFIBUS DP centrale o decentrato: indirizzo logico di base dell'unità. In caso di unità mista, indirizzo logico più basso utilizzato dell'unità. Se gli indirizzi logici E e A dell'unità mista sono uguali, l'indirizzo logico di base avrà l'identificazione "E". • PROFINET IO decentrato: indirizzo logico di base del modulo/sotto-modulo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Variabile Tipo Descrizione OB83_RACK_NUM WORD • • OB83_MDL_TYPE WORD • • OB83_DATE_TIME Se OB83_RESERVED_1 =B#16#A0: N. del sottomodulo/modulo di interfaccia /low byte) Se OB83_RESERVED_1 = B#16#C4: - Centrale: n. del telaio di montaggio - PROFIBUS DP decentrato: n. della stazione DP (low byte) e ID del sistema master DP (high byte) - PROFINET IO decentrato: indirizzo fisico: bit di identificazione (bit 15, 1 = PROFINET IO), ID di sistema IO (bit da 11 a 14) e numero stazione (bit da 0 a 10) PROFIBUS DP centrale o decentrato: tipo dell'unità interessata (X: non rilevante per l'utente): - W#16#X5XX: unità analogica - W#16#X8XX: unità funzionale - W#16#XCXX: CP - W#16#XFXX: unità digitale PROFINET IO decentrato: - W#16#8101: il tipo di unità inserita è uguale al tipo di unità estratta. - W#16#8102: il tipo di unità inserita è diverso dal tipo di unità estratta. DATE_AND_TIME Data e ora in cui è stato richiamato l'OB La tabella seguente mostra quale evento ha causato l'avvio dell'OB 83. OB83_EV_CLASS OB83_FLT_ID Significato B#16#39 B#16#51 Modulo PROFINET IO estratto B#16#39 B#16#54 Sotto-modulo PROFINET IO estratto B#16#38 B#16#54 Sotto-modulo PROFINET IO inserito e conforme al sotto-modulo parametrizzato B#16#38 B#16#55 Sotto-modulo PROFINET IO inserito ma non conforme al sottomodulo parametrizzato B#16#38 B#16#56 Sotto-modulo PROFINET IO inserito ma errore di parametrizzazione dell'unità B#16#38 B#16#58 Errore di accesso al sotto-modulo PROFINET IO eliminato B#16#39 B#16#61 Unità estratta o non indirizzabile OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#61 Unità inserita, tipo unità ok OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#63 Unità inserita, ma tipo unità errato OB83_MDL_TYPE: tipo unità attuale B#16#38 B#16#64 Unità inserita, ma guasta (identificazione unità non leggibile) OB83_MDL_TYPE: tipo unità configurato B#16#38 B#16#65 Unità inserita, ma errore nella parametrizzazione unità OB83_MDL_TYPE: tipo unità attuale B#16#39 B#16#66 Unità non indirizzabile, errore di tensione di carico B#16#38 B#16#66 Unità nuovamente indirizzabile, errore di tensione di carico eliminato B#16#33 B#16#67 Inizio riparametrizzazione unità B#16#32 B#16#67 Fine riparametrizzazione unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-37 Blocchi organizzativi OB83_EV_CLASS OB83_FLT_ID Significato B#16#39 B#16#68 Riparametrizzazione unità conclusa con errori B#16#38 B#16#84 Modulo di interfaccia inserito B#16#39 B#16#84 Modulo di interfaccia non inserito Avvertenza Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 1-38 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.20 OB di errore hardware CPU (OB 84) Descrizione Il sistema operativo della CPU richiama l'OB 84 nei seguenti casi: • Dopo aver riconosciuto ed eliminato errori di memoria • S7-400H: in caso di riduzione delle prestazioni dell'accoppiamento di ridondanza tra le due CPU • In WinAC RTX: errore nel sistema operativo del PC, ad es. blue screen L'OB di errore hardware CPU può essere inibito o ritardato e quindi riabilitato per mezzo delle SFC da 39 a 42. Dati locali dell'OB di errore hardware La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore hardware CPU. Come nomi di variabili sono stati scelti i nomi di default dell'OB 84. Variabile Tipo Descrizione OB84_EV_CLASS BYTE Classe d'evento e identificazioni: • B#16#38: evento uscente • B#16#35, B#16#39: evento entrante OB84_FLT_ID BYTE Codice di errore (B#16#81, B#16#82, B#16#83, B#16#85, B#16#86, B#16#87) OB84_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB84_OB_NUMBR BYTE Numero di OB (84) OB84_RESERVED_1 BYTE Riservato OB84_RESERVED_2 BYTE Riservato OB84_RESERVED_3 WORD Riservato OB84_RESERVED_4 DWORD Riservato OB84_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB La tabella seguente mostra quale evento ha causato l'avvio dell'OB 84. OB84_EV_CLASS OB84_FLT_ID Evento di avvio dell'OB 84 B#16#39 B#16#81 Errore di interfaccia, entrante B#16#38 B#16#81 Errore di interfaccia, uscente B#16#35 B#16#82 Errore di memoria riconosciuto ed eliminato dal sistema operativo B#16#35 B#16#83 Accumulo di errori di memoria riconosciuti e corretti B#16#35 B#16#85 Errore nel sistema operativo del PC B#16#39 B#16#86 Prestazioni di un accoppiamento H-Sync compromesse B#16#35 B#16#87 Errore di memoria a più bit riconosciuto e corretto Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-39 Blocchi organizzativi 1.21 OB di errore esecuzione programma (OB 85) Descrizione Il sistema operativo della CPU richiama l'OB 85 se si presenta uno dei seguenti eventi: • Evento di avvio per un OB non caricato (eccetto OB 81) • Errore di accesso del sistema operativo ad un blocco • Errore di accesso alla periferia all'aggiornamento dell'intera immagine di processo (nel caso in cui il richiamo di OB85 non è stato soppresso mediante la progettazione). Avvertenza Se l'OB 85 non è stato programmato, la CPU passa nel modo di funzionamento STOP se si presenta uno dei suddetti eventi. L'OB di errore di esecuzione programma può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto della SFC da 39 a 42. Dati locali dell'OB di errore esecuzione programma La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di esecuzione del programma. Come nomi di variabili sono stati scelti i nomi di default dell'OB 85. Variabile Tipo Descrizione OB85_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#35, B#16#39 (solo con codici di identificazione errore B#16#B3 e B#16#B4), B#16#39 (solo con codici di identificazione errore B#16#B1, B#16#B2, B#16#B3 e B#16#B4) OB85_FLT_ID BYTE Codice di errore (valori possibili: B#16#A1, B#16#A2, B#16#A3, B#16#A4, B#16#B1, B#16#B2, B#16#B3, B#16#B4) OB85_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB85_OB_NUMBR BYTE Numero di OB (85) OB85_RESERVED_1 BYTE Riservato OB85_RESERVED_2 BYTE Riservato OB85_RESERVED_3 INT Riservato OB85_ERR_EV_CLASS BYTE Classe dell'evento che ha generato l'errore OB85_ERR_EV_NUM BYTE Numero dell'evento che ha generato l'errore OB85_OB_PRIOR BYTE Classe di priorità dell'OB in corso di esecuzione quando si è verificato l'errore OB85_OB_NUM BYTE Numero di OB per l'OB in corso di esecuzione quando si è verificato l'errore OB85_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-40 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Se si vuole programmare l'OB 85 in funzione dei possibili codici di identificazione dell'errore, si consiglia di organizzare le variabili locali nel modo seguente: Variabile Tipo OB85_EV_CLASS BYTE OB85_FLT_ID BYTE OB85_PRIORITY BYTE OB85_OB_NUMBR BYTE OB85_DKZ23 BYTE OB85_RESERVED_2 BYTE OB85_Z1 WORD OB85_Z23 DWORD OB85_DATE_TIME DATE_AND_TIME La tabella seguente mostra quale evento ha causato l'avvio dell'OB 85. OB85_EV_CLASS OB85_FLT_ID Significato B#16#35 B#16#A1 B#16#35 B#16#A2 B#16#35 B#16#A3 B#16#35 B#16#34 B#16#A4 B#16#A4 Il programma utente o il sistema operativo (a causa della progettazione dell'utente con STEP 7) crea un evento di avvio per un OB che non è caricato nella CPU. • OB85_Z1: variabile temporanea relativa all'OB richiamato, determinato dall'OB85_Z23. • OB85_Z23: high word: classe e numero dell'evento causante low word, high byte: livello di programma attivo low word, low byte: OB attivo Il programma utente o il sistema operativo (a causa della progettazione dell'utente con STEP 7) crea un evento di avvio per un OB che non è caricato nella CPU. OB85_Z1 e OB85_Z23 come per OB85_FLT_ID=B#16#A1 Errore durante l'accesso del sistema operativo a un blocco • OB85_Z1: identificazione errore del sistema operativo high byte: 1= funzione integrata, 2=temporizzatore IEC low byte: 0= nessuna risoluzione dell'errore, 1= blocco non caricato, 2= errore lunghezza settore, 3= errore protezione scrittura • OB85_Z23: high word: numero blocco low word: indirizzo relativo del comando MC7 che causa l'errore. Il tipo di blocco va rilevato dall'OB 85_DKZ23 (B#16#88: OB, B#16#8C: FC, B#16#8E: FB, B#16#8A: DB). DB di interfaccia PROFInet non indirizzabile DB di interfaccia PROFInet non indirizzabile Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-41 Blocchi organizzativi OB85_EV_CLASS OB85_FLT_ID Significato B#16#39 B#16#B1 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di processo degli ingressi • OB85_DKZ23: identificazione del tipo di trasferimento dell'immagine di processo con cui si è verificato l'errore B#16#10: accesso a byte B#16#20: accesso a parola B#16#30: accesso a doppia parola B#16#57: trasferimento di un'area di coerenza progettata • OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico dell'unità Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27). • OB85_Z23: Byte 0: n. dell'immagine parziale di processo Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30; lunghezza dell'area di coerenza in byte se l'OB85_DKZ23=B#16#57 Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla periferia, se l'OB85_DKZ23=B#16#10, 20 o 30; indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57 B#16#39 B#16#B2 Errore di accesso alla periferia durante il trasferimento dell'immagine di processo delle uscite alle unità di uscita OB85_DKZ23, OB85_Z1 e OB85_Z23 come per OB85_FLT_ID=B#16#B1 Vengono emessi i codici di identificazione dell‘errore B#16#B1 e B#16#B2 nel caso sia stato programmato il richiamo ripetuto dell'OB 85 degli errori di accesso alla periferia per l'aggiornamento dell‘immagine di processo da parte del sistema. B#16#39/B#16#38 B#16#B3 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di processo degli ingressi in entrata/in uscita • OB85_DKZ23: identificazione del tipo di trasferimento dell'immagine di processo con cui si è verificato l'errore B#16#10: accesso a byte B#16#20: accesso a parola B#16#30: accesso a doppia parola B#16#57: trasferimento di un'area di coerenza progettata • OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico dell'unità Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27). • OB85_Z23: Byte 0: n. dell'immagine parziale di processo Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30; lunghezza dell'area di coerenza in byte se l'OB85_DKZ23=B#16#57 Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla periferia, se l'OB85_DKZ23=B#16#10, 20 o 30; indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57 B#16#39/B#16#38 B#16#B4 Errore di accesso alla periferia durante il trasferimento dell'immagine di processo delle uscite alle unità di uscita OB85_DKZ23, OB85_Z1, OB85_Z23 come per OB85_FLT_ID=B#16#B3 Vengono emessi i codici di identificazione dell‘errore B#16#B3 e B#16#B4 nel caso in cui, per l'aggiornamento dell‘immagine di processo da parte del sistema, sia stato progettato il richiamo dell'OB 85 solo in caso di errori di accesso alla periferia entranti e uscenti. Dopo l'avviamento a freddo o il nuovo avviamento (avviamento a caldo), con il successivo aggiornamento dell'immagine di processo vengono segnalati come errori di accesso alla periferia entranti tutti gli accessi agli ingressi e uscite non presenti. 1-42 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.22 OB di guasto telaio di montaggio (OB 86) Descrizione Il sistema operativo della CPU richiama l'OB 86 se viene identificato il guasto (sia per un evento entrante che per uno uscente) di un'apparecchiatura centrale di ampliamento (non vale per l'S7-300) di un sistema master DP o di una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) Se l'OB 86 non è stato programmato e se si presenta un errore simile, la CPU passa nello stato di funzionamento STOP. L'OB 86 può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di guasto del telaio di montaggio La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di guasto del telaio di montaggio. Come nomi di variabili sono stati scelti i nomi di default dell'OB 86. Variabile Tipo Descrizione OB86_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#38: Evento uscente B#16#39: Evento entrante OB86_FLT_ID BYTE Codice identificazione errore (valori possibili: B#16#C1, B#16#C2, B#16#C3, B#16#C4, B#16#C5, B#16#C6, B#16#C7, B#16#C8, B#16#CA, B#16#CB, B#16#CC, B#16#CD, B#16#CE) OB86_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB86_OB_NUMBR BYTE Numero di OB (86) OB86_RESERVED_1 BYTE Riservato OB86_RESERVED_2 BYTE Riservato OB86_MDL_ADDR WORD Dipendente dal codice di identificazione errore OB86_RACKS_FLTD ARRAY [0 ..31] Dipendente dal codice di identificazione errore OF BOOL OB86_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Se si vuole programmare l'OB 86 in funzione dei codici di identificazione errore possibili, si consiglia di organizzare le variabili locali nel modo seguente: Variabile Tipo OB86_EV_CLASS BYTE OB86_FLT_ID BYTE OB86_PRIORITY BYTE OB86_OB_NUMBR BYTE OB86_RESERVED_1 BYTE OB86_RESERVED_2 BYTE OB86_MDL_ADDR WORD OB86_Z23 DWORD OB86_DATE_TIME DATE_AND_TIME Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-43 Blocchi organizzativi La tabella seguente mostra quale evento ha causato l'avvio dell'OB 86. OB86_EV_CLASS OB86_FLT_ID Significato B#16#39 B#16#C1 B#16#38 B#16#C1 Guasto apparecchiatura di ampliamento • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni apparecchiatura di ampliamento possibile. Vengono segnalate come guaste (sono impostati i bit corrispondenti) le apparecchiature di ampliamento che hanno causato il richiamo dell'OB 86. Le apparecchiature di ampliamento già guaste in precedenza non vengono più visualizzate. - Bit 0: sempre 0 - Bit 1: apparecchiatura di ampliamento 1 - : - Bit 21: apparecchiatura di ampliamento 21 - Bit 22 … 29: sempre 0 - Bit 30: guasto di almeno un'apparecchiatura di ampliamento nel campo SIMATIC S5 - Bit 31: sempre 0 Ritorno apparecchiatura di ampliamento OB86_MDL_ADDR come per OB86_FLT_ID=B#16#C1. In OB86_Z23 vengono segnalate le apparecchiature di ampliamento ritornate (i bit corrispondenti sono impostati). B#16#38 B#16#39 B#16#C2 B#16#C3 Ritorno apparecchiatura di ampliamento (guasto apparecchiatura di ampliamento uscente con scostamento configurazione prefissata/attuale) • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni apparecchiatura di ampliamento possibile, vedere OB86_FLT_ID B#16#C1. Significato di un bit impostato: nell'apparecchiatura di ampliamento corrispondente: - sono presenti unità con identificazione errata del tipo - mancano unità progettate - almeno un'unità è difettosa. Periferia decentrata: guasto di un sistema master DP. Solo un evento entrante causa l'avvio dell'OB 86 con il codice di errore B#16#C3. Un evento uscente provoca l'avvio dell'OB 86 con codice di errore B#16#C4 e classe di evento B#16#38. Il ritorno di ogni stazione DP subordinata ha come conseguenza l'avvio di un OB 86. OB86_MDL_ADDR: indirizzo logico di base del master DP • B#16#39/B#16#38 1-44 B#16#C4 OB86_Z23: ID del sistema master DP: - Bit 0 … 7: riservati - Bit 8 … 15: ID sistema master DP - Bit 16 … 31: riservati Guasto di una stazione DP • OB86_MDL_ADDR: indirizzo logico di base del master DP • OB86_Z23: indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base di uno slave S7 o indirizzo di diagnostica di uno slave standard DP - Bit 31: identificazione I/O Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi OB86_EV_CLASS OB86_FLT_ID Significato B#16#39/B#16#38 B#16#C5 Anomalia di una stazione DP OB86_MDL_ADDR e OB86_Z23 come per FLT_ID=B#16#C4 B#16#38 B#16#C6 Ritorno di apparecchiatura di ampliamento ma errore nella parametrizzazione delle unità • OB86_MDL_ADDR: indirizzo logico di base dell'IM • OB86_Z23: contiene un bit per ogni possibile apparecchiatura di ampliamento: - Bit 0: sempre 0 - Bit 1: apparecchiatura di ampliamento 1: - : - Bit 21: apparecchiatura di ampliamento 21 - Bit 22 … 30: riservati - Bit 31: sempre 0 Significato di un bit impostato: nell'apparecchiatura di ampliamento corrispondente B#16#38 B#16#38 B#16#C7 B#16#C8 - sono presenti unità con parametri mancanti o errati. • OB86_MDL_ADDR: indirizzo logico di base del master DP • Indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base dello slave DP - Bit 31: identificazione I/O Ritorno di una stazione DP ma con scostamento tra configurazione prefissata/attuale • B#16#CA sono presenti unità con identificazione errata Ritorno di una stazione DP ma errore nella parametrizzazione delle unità • B#16#39 - OB86_MDL_ADDR: indirizzo logico di base del master DP OB86_Z23: indirizzo dello slave DP corrispondente: - Bit 0 … 7: n. della stazione DP - Bit 8 … 15: ID sistema master DP - Bit 16 … 30: indirizzo logico di base dello slave DP - Bit 31: identificazione I/O Guasto del sistema PROFINET IO • OB86_MDL_ADDR: indirizzo logico di base del controller IO • OB86_Z23: - Bit 0 ... 10: 0 (numero dispositivo) - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 31: 0 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-45 Blocchi organizzativi OB86_EV_CLASS OB86_FLT_ID Significato B#16#39/38 B#16#CB Guasto/ritorno della stazione PROFINET IO • • • B#16#39/38 B#16#CC • • B#16#38 B#16#CD B#16#CE B#16#C4: nessun'altra stazione guasta - B#16#CF: guasti/anomalie in altre stazioni OB86_MDL_ADDR: indirizzo logico di base del controller IO OB86_Z23: - Bit 0 ... 10: numero dispositivo - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Guasto alla stazione PROFINET IO/eliminazione guasto della stazione • B#16#38 OB86_RESERVED_1: - OB86_RESERVED_1: - B#16#C4: nessun'altra stazione guasta - B#16#CF: guasti/anomalie in altre stazioni OB86_MDL_ADDR: indirizzo logico di base del sistema IO OB86_Z23: - Bit 0 ... 10: numero dispositivo - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo logico di base della stazione - Bit 31: identificazione I/O Ripristino della stazione PROFINET IO, configurazione prefissata diversa da quella attuale • OB86_MDL_ADDR: indirizzo di base logico di IO Controller • OB86_Z23: - Bit 0 ... 10: numero stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo di base logico della stazione - Bit 31: identificazione I/O Ripristino della stazione PROFINET IO, errore di parametrizzazione dell'unità • OB86_MDL_ADDR: indirizzo di base logico di IO Controller • OB86_Z23: - Bit 0 ... 10: numero stazione - Bit 11 ... 14: ID sistema IO - Bit 15: 1 - Bit 16 ... 30: indirizzo di base logico della stazione - Bit 31: identificazione I/O Avvertenza Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili. 1-46 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.23 OB di errore di comunicazione (OB 87) Descrizione Il sistema operativo della CPU richiama OB 87 ogni volta che si verifica un evento che identifica un errore legato alla comunicazione. Se l'OB 87 non è stato programmato, la CPU passa nello stato di funzionamento STOP. L'OB di errore di comunicazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali dell'OB di errore di comunicazione La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di comunicazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 87. Variabile Tipo Descrizione OB87_EV_CLASS BYTE Classe d'evento e identificazioni B#16#35 OB87_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#D2, B#16#D3, B#16#D4, B#16#D5, B#16#E1, B#16#E2, B#16#E3, B#16#E4, B#16#E5, B#16#E6) OB87_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione hardware) OB87_OB_NUMBR BYTE Numero di OB (87) OB87_RESERVED_1 BYTE Riservato OB87_RESERVED_2 BYTE Riservato OB87_RESERVED_3 WORD Dipendente dal codice di identificazione errore OB87_RESERVED_4 DWORD Dipendente dal codice di identificazione errore OB87_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-47 Blocchi organizzativi Le variabili dipendenti dal codice di identificazione errore hanno il seguente significato: Codice errore Byte/Word Significato B#16#D2: La trasmissione delle registrazioni di diagnostica non è attualmente possibile. B#16#D3 I telegrammi di sincronizzazione non possono essere trasmessi (master). B#16#D4: Salto di ora non ammesso a causa della sincronizzazione dell'ora B#16#D5 Errore nell'assunzione del tempo di sincronizzazione (slave) Non contiene nessuna ulteriore informazione OB87_RESERVED_3: Non contiene nessuna ulteriore informazione OB87_RESERVED_4: B#16#E1: Identificazione errata di telegramma nella comunicazione dei dati globali B#16#E3: Errore lunghezza telegramma nella comunicazione dei dati globali B#16#E4: Ricevuto numero di pacchetto GD non ammesso Identificazione interfaccia (0: bus K, 1: MPI) OB87_RESERVED_3: OB87_RESERVED_4: high byte: Numero circuito GD low byte: Non contiene nessuna ulteriore informazione Lo stato del pacchetto GD non è registrabile in un DB B#16#E2: Numero DB OB87_RESERVED_3: OB87_RESERVED_4: high word: Non contiene nessuna ulteriore informazione low word: • Numero circuito GD (high byte) • Numero pacchetto GD (low-byte) B#16#E5: Errore di accesso a DP per lo scambio dati tramite blocchi funzionali di comunicazione OB87_RESERVED_3: OB87_RESERVED_4: Riservato per impiego interno della CPU high word: Numero del blocco con il comando MC7 che causa l'errore low word: Indirizzo relativo del comando MC7 che causa l'errore Il tipo di blocco va rilevato da OB87_RESERVED_1 (B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB). Codice errore Significato B#16#E6: Lo stato generale di GD non è registrabile in DB. OB87_RESERVED_3: Numero DB OB87_RESERVED_4: Non contiene nessuna ulteriore informazione 1-48 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.24 OB di interruzione di elaborazione (OB 88) Descrizione Il sistema operativo della CPU richiama l’OB 88 nel caso in caso di interruzione dell’elaborazione di un modulo di programma. Le possibili cause di interruzione sono: • Livello di annidamento eccessivo in caso di errori di sincronizzazione • Livello di annidamento eccessivo di richiami di blocco (stack U) • Errore di allocazione di dati locali Se si verifica un’interruzione di elaborazione nel caso in cui l’OB 88 non sia programmato, la CPU passa in modalità STOP (Evento W#16#4570). La CPU passa in modalità STOP se l’interruzione di elaborazione si verifica nella classe di priorità 28. L’OB di interruzione elaborazione può essere disabilitato o ritardato e abilitati di nuovo con l'aiuto delle SFC da 39 a 42. Dati locali per OB di interruzione elaborazione La tabella seguente contiene le variabili temporanee (TEMP) per l’OB di interruzione elaborazione. Come nomi di variabili sono stati scelti i nomi di default di OB 88. Variabile Tipo Descrizione OB88_EV_CLASS BYTE Classe d’evento e identificazioni: B#16#35 OB88_EW_FLT BYTE Codice di errore valori possibili: • B#16#71: profondità di annidamento troppo elevata del livello di parentesi • B#16#72: profondità di annidamento troppo elevata del master Control Relais • B#16#73: Profondità di annidamento troppo elevata con errori di sincronizzazione • B#16#74: Profondità di annidamento troppo elevata dei richiami dei blocchi (stack U) • B#16#75: Profondità di annidamento troppo elevata dei richiami dei blocchi (stack B) • B#16#76: Errore durante la localizzazione dei dati locali • B#16#78: Istruzione sconosciuta • B#16#7A:Istruzione di salto al di fuori del blocco Consultare la lista operazioni della CPU per informazioni sui codici di errore validi.. OB88_PRIORITY BYTE Classe di priorità: 28 OB88_OB_NUMBR BYTE Numero OB (88) OB88_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l’errore: • B#16#88: OB • B#16#8C: FC • B#16#8E: FB • B#16##00: punto di interruzione non individuabile Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-49 Blocchi organizzativi Variabile Tipo Descrizione OB88_RESERVED_1 BYTE Riservato OB88_FLT_PRIORITY BYTE Classe di priorità dell’OB che causa l’errore OB88_FLT_OB_NUMBR BYTE Numero dell’OB che causa l’errore OB88_BLK_NUM WORD Numero del blocco con il comando MC7 che causa l’errore OB88_PRG_ADDR WORD Indirizzo relativo del comando MC7 che causa l’errore OB88_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-50 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.25 OB di priorità bassa (OB 90) Descrizione S7 offre il controllo di un tempo ciclo massimo e garantisce l'osservanza di un tempo ciclo minimo. Se il tempo di esecuzione dell'OB 1, comprese tutte le esecuzioni di interrupt e le attività del sistema annidate, è inferiore rispetto al tempo ciclo minimo assegnato • il sistema operativo richiama l'OB di priorità bassa (se presente sulla CPU) • il sistema operativo ritarda il successivo avviamento dell'OB 1 (se l'OB 90 non è presente sulla CPU). Funzionamento dell'OB 90 L'OB 90 ha la priorità più bassa rispetto a tutti gli altri OB. Esso viene interrotto da ogni attività di sistema e ogni elaborazione di allarme (anche dall'OB 1 dopo che è trascorso il tempo ciclo minimo). Una eccezione è costituita dalla elaborazione delle SFC e degli SFB, che vengono avviati nell'OB 90. Questi vengono elaborati con la priorità dell'OB 1 e perciò non vengono interrotti dall'esecuzione dell'OB 1. Non avviene alcun controllo del tempo dell'OB 90. Il programma utente nell'OB 90 viene elaborato a partire dal primo comando nei seguenti casi: • dopo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo o un riavviamento • dopo il caricamento o la cancellazione di un blocco (con STEP 7) • dopo il caricamento dell'OB 90 nella CPU nello stato di funzionamento RUN • dopo aver terminato il ciclo di priorità bassa. Avvertenza In progettazioni in cui il tempo ciclo minimo ed il tempo di controllo ciclo sono molto vicini, quando vengono richiamate le SFC e gli SFB è possibile che nell'OB di priorità bassa si verifichino superamenti imprevisti del tempo ciclo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-51 Blocchi organizzativi Dati locali degli OB 90 La tabella seguente contiene le variabili temporanee (TEMP) degli OB 90. Come nomi di variabili sono stati scelti i nomi di default dell'OB 90. Variabile Tipo Descrizione OB90_EV_CLASS BYTE Classe d'evento e identificazioni B#16#11: attivo OB90_STRT_INF BYTE • B#16#91: nuovo avviamento (avviamento a caldo)/avviamento a freddo/riavviamento • B#16#92: cancellazione di un blocco • B#16#93: caricamento dell'OB 90 nella CPU nello stato RUN • B#16#95: conclusione ciclo di sfondo OB90_PRIORITY BYTE Classe di priorità: 29 (corrisponde alla priorità 0.29) OB90_OB_NUMBR BYTE Numero di OB (90) OB90_RESERVED_1 BYTE Riservato OB90_RESERVED_2 BYTE Riservato OB90_RESERVED_3 INT Riservato OB90_RESERVED_4 INT Riservato OB90_RESERVED_5 INT Riservato OB_90_DATE_TIME 1-52 DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.26 OB di avviamento (OB 100, OB 101 e OB 102) Tipi di avviamento Si distingue tra i tipi di avviamento seguenti: • Riavviamento (non con S7-300 e S7-400H) • Nuovo avviamento (avviamento a caldo). • Avviamento a freddo Dalla tabella seguente si può vedere quale OB viene richiamato dal sistema operativo all'avviamento. Tipo di avviamento Rispettivo OB Riavviamento OB 101 Nuovo avviamento (avviamento a caldo) OB 100 Avviamento a freddo OB 102 Informazioni più dettagliate sui tipi di avviamento sono riportate nei manuali "Programmazione con STEP 7" e "Configurazione dell'hardware e progettazione dei collegamenti con STEP 7" e "Sistema di automazione S7-400H". Eventi di avvio per l‘avviamento La CPU esegue un avviamento • dopo ALIMENTAZIONE ON • se il selettore dei modi operativi viene commutato da STOP a RUN/RUN-P • dopo la richiesta tramite una funzione di comunicazione (tramite comando del menù da PG o tramite richiamo dei blocchi funzionali di comunicazione 19 "START" o 21 "RESUME" su un'altra CPU). • mediante sincronizzazione in funzionamento multicomputing • in un sistema H dopo l'accoppiamento (solo sulla CPU di riserva) A seconda dell'evento di avvio della CPU presente o dei suoi parametri registrati viene richiamato il rispettivo OB di avviamento (OB 100, OB 101 e OB 102). In esso si possono eseguire le preimpostazioni per il proprio programma ciclico (eccezione: con un sistema H viene eseguito un avviamento sulla CPU di riserva dopo l'accoppiamento, tuttavia senza il richiamo di un OB di avviamento. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-53 Blocchi organizzativi Dati locali degli OB di avviamento La tabella seguente contiene le variabili temporanee (TEMP) di un OB di avviamento. Come nomi di variabili sono stati scelti i nomi di default. Variabile Tipo Descrizione OB10x_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#13: attivo OB100_STRTUP BYTE Richiesta di avviamento: • B#16#81: richiesta manuale di nuovo avviamento (avviamento a caldo) • B#16#82: richiesta automatica di nuovo avviamento • B#16#83: richiesta manuale di riavviamento • B#16#84: richiesta automatica di riavviamento • B#16#85: richiesta manuale di avviamento a freddo • B#16#86: richiesta automatica di avviamento a freddo • B#16#87: master: Richiesta manuale di avviamento a freddo • B#16#88: master: Richiesta automatica di avviamento a freddo • B#16#8A: master: Richiesta manuale di nuovo avviamento (avviamento a caldo) • B#16#8B: master: Richiesta automatica di nuovo avviamento (avviamento a caldo) • B#16#8C: riserva: richiesta manuale di avviamento • B#16#8D: riserva: richiesta manuale di avviamento OB100_PRIORITY BYTE Classe di priorità: 27 OB100_OB_NUMBR BYTE Numero di OB (100, 101 o 102) OB100_RESERVED_1 BYTE Riservato OB100_RESERVED_2 BYTE Riservato OB100_STOP WORD Numero dell'evento che ha portato la CPU in STOP OB100_STRT_INFO DWORD Informazione complementare all'avviamento attuale OB100_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-54 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi La seguente tabella mostra l'assegnazione delle variabili OB10x_STR_INFO. N. Significato Valori binari possibili Spiegazione 31 - 24 Informazione all‘avviamento 0000 xxxx N. telaio di montaggio 0 (solo con CPU H) 0100 xxxx N. telaio di montaggio 1 (solo con CPU H) 1000 xxxx N. telaio di montaggio 2 (solo con CPU H) 23 - 16 Tipo di avviamento appena eseguito 0001 xxxx Multicomputing (solo S7-400) 0010 xxxx Funzionamento di più unità centrali nel telaio di montaggio segmentato (solo S7-400) xxxx xxx0 Nessuna differenza tra unità di riferimento e unità attuale (solo S7-300) xxxx xxx1 Differenza presente tra unità di riferimento e unità attuale (solo S7-300). xxxx xx0x Nessuna differenza tra unità di riferimento e unità attuale xxxx xx1x Differenza presente tra unità di riferimento e unità attuale xxxx x0xx Nessuna CPU H xxxx x1xx CPU H xxxx 0xxx Ora per registrazione del tempo non bufferizzata all'ultima ALIMENTAZIONE ON xxxx 1xxx Ora per registrazione del tempo bufferizzata all'ultima ALIMENTAZIONE ON 0000 0001 Nuovo avviamento (avviamento a caldo) con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0011 Nuovo avviamento (avviamento a caldo) con selettore modi operativi 0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI 0000 0101 Avviamento a freddo con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0111 Avviamento a freddo con selettore modi operativi 0000 1000 Avviamento a freddo tramite manovra MPI Riavviamento con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400) 0000 1100 Riavviamento tramite manovra MPI (solo S7-400) 0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON bufferizzata 0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON bufferizzata, corrispondente alla parametrizzazione 0001 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON bufferizzata 0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON bufferizzata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-55 Blocchi organizzativi N. 15 - 12 11 - 8 7-0 1-56 Significato Ammissibilità dei tipi di avviamento automatico Ammissibilità dei tipi di avviamento manuale Valori binari possibili Spiegazione 0010 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON non bufferizzata 0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON non bufferizzata 1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON bufferizzata corrispondente alla parametrizzazione (solo S7-400 0000 Avviamento automatico non ammesso 0001 Avviamento automatico non ammesso, necessaria modifica parametri ecc. 0011 Avviamento a freddo automatico ammesso 0111 Nuovo avviamento automatico (avviamento a caldo) ammesso 1111 Nuovo avviamento automatico (avviamento a caldo)/riavviamento ammesso (solo S7-400) 0000 Avviamento non ammesso 0001 Avviamento non ammesso, modifica parametri ecc. necessaria 0011 Avviamento a freddo ammesso 0111 Nuovo avviamento (avviamento a caldo) ammesso 1111 Nuovo avviamento (avviamento a caldo) e riavviamento ammessi (solo S7-400) Ultima manovra valida o 0000 0000 regolazione del tipo di 0000 0001 avviamento automatico con ALIMENTAZIONE ON 0000 0011 Nessun tipo di avviamento Nuovo avviamento (avviamento a caldo) con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) Nuovo avviamento (avviamento a caldo) con selettore modi operativi 0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI 0000 0101 Avviamento a freddo con funzionamento multicomputing senza manovra esplicita sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 0111 Avviamento a freddo tramite selettore modi operativi 0000 1000 Avviamento a freddo tramite manovra MPI 0000 1010 Riavviamento con funzionamento multicomputing senza manovra sulla CPU corrispondente alla parametrizzazione (solo S7-400) 0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400) 0000 1100 Riavviamento tramite manovra MPI (solo S7-400) 0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo ALIMENTAZIONE ON bufferizzata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi N. Significato Valori binari possibili Spiegazione 0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON bufferizzata, corrispondente alla parametrizzazione 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON bufferizzata 0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON bufferizzata 0010 0000 Nuovo avviamento (avviamento a caldo) automatico dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non bufferizzata (con cancellazione totale da parte del sistema) 0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore modi operativi; ultima ALIMENTAZIONE ON non bufferizzata 0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra MPI; ultima ALIMENTAZIONE ON non bufferizzata 1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON bufferizzata corrispondente alla parametrizzazione (solo S7-400) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-57 Blocchi organizzativi 1.27 OB di errore di programmazione (OB 121) Descrizione Il sistema operativo della CPU richiama l'OB 121 ogni volta che viene rilevato un evento provocato da un errore nell'elaborazione del programma. Per esempio, se nel programma viene rilevato un blocco che non è stato caricato nella CPU, ciò determina il richiamo dell'OB 121. Funzionamento dell'OB di errore di programmazione L'OB 121 viene eseguito nella stessa classe di priorità dell'OB interrotto. Se l'OB 121 non è programmato, la CPU passa da RUN a STOP. STEP 7 offre le seguenti SFC per mascherare e demascherare gli eventi di avvio per OB 121 durante l'elaborazione del programma: • SFC 36 "MSK_FLT" maschera codici d'errore specifici • SFC 37 "DMSK_FLT" demaschera i codici d'errore che erano stati mascherati dalla SFC 36 • SFC 38 "READ_ERR" legge il registro degli errori. Dati locali dell'OB di errore di programmazione La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di programmazione. Come nomi di variabili sono stati scelti i nomi di default dell'OB 121. Variabile Tipo Descrizione OB121_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#25 OB121_SW_FLT BYTE Codice d'identificazione d'errore (valori possibili: B#16#21, B#16#22, B#16#23, B#16#24, B#16#25, B#16#26, B#16#27, B#16#28, B#16#29, B#16#30, B#16#31, B#16#32, B#16#33, B#16#34, B#16#35, B#16#3A, B#16#3C, B#16#3D, B#16#3E, B#16#3F) OB121_PRIORITY BYTE Classe di priorità: classe di priorità dell'OB in cui si è verificato l'errore OB121_OB_NUMBR BYTE Numero di OB (121) OB121_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l'errore (con S7-300 qui non viene registrato nessun valore valido): B#16#88: OB, B#16#8A: DB, B#16#8C: FC, B#16#8E: FB OB121_RESERVED_1 BYTE Riservato OB121_FLT_REG WORD Fonte dell'errore (dipendente dal codice di identificazione d'errore), p. es.: • Registro in cui si è verificato l'errore di conversione • Indirizzo errato (per errore di lettura/scrittura) • Numero errato di temporizzatore, contatore o blocco • Area di memoria errata OB121_BLK_NUM WORD Numero del blocco con il comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) OB121_PRG_ADDR WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) OB121_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB 1-58 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi Le variabili dipendenti dal codice di identificazione d'errore hanno il seguente significato: Codice errore Significato B#16#21: Errore di conversione BCD OB121_FLT_REG: Identificazione per il registro interessato (W#16#0000: Akku 1) B#16#22: Errore di settore in lettura B#16#23: Errore lunghezza settore durante scrittura B#16#28: Accesso in lettura a un byte, parola o doppia parola con un puntatore, il cui indirizzo è diverso da 0 B#16#29: Accesso in scrittura a un byte, parola o doppia parola con un puntatore il cui indirizzo di bit è diverso da 0 Indirizzo a byte errato. L'area dati e il tipo di accesso vanno rilevati da OB121_RESERVED_1. OB121_RESERVED_1: Bit da 7 a 4, tipo di accesso: 0: Accesso a bit 1: Accesso a byte, 2: Accesso a parola, 3: Accesso a doppia parola Bit da 3 a 0, area di memoria: 0: Area di periferia 1: Immagine di processo degli ingressi 2: Immagine di processo delle uscite 3: Merker 4: DB globale 5:DB di istanza 6:Dati locali propri 7:Dati locali del richiamante B#16#24: Errore di settore in lettura B#16#25: Errore di settore in scrittura OB121_FLT_REG: Contiene nel byte basso l'identificazione dell'area non ammessa (B#16#86 area propria dati locali) B#16#26: Errore con numero temporizzatore B#16#27: Errore con numero contatore OB121_FLT_REG: Numero non ammesso B#16#30: Accesso in scrittura ad un DB globale protetto in scrittura B#16#31: Accesso in scrittura ad un DB di istanza protetto in scrittura B#16#32: Errore di numero DB all'accesso ad un DB globale B#16#33: Errore di numero DB all'accesso ad un DB di istanza OB121_FLT_REG: Numero DB non ammesso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-59 Blocchi organizzativi Codice errore Significato B#16#34: Errore numero al richiamo FC B#16#35: Errore numero FB al richiamo FB B#16#3A: Accesso ad un DB non caricato; Il numero DB si trova nel settore ammesso. Numero DB OB121_FLT_REG: B#16#3C: OB121_FLT_REG: B#16#3D: OB121_FLT_REG: B#16#3E: OB121_FLT_REG: Accesso ad una FC non caricata; Il numero FC si trova nel settore ammesso. Numero FC Accesso ad una SFC non caricata; Il numero SFC si trova nel settore ammesso. Numero SFC Accesso ad un FB non caricato; Il numero FB si trova nel settore ammesso. Numero FB Accesso ad un SFB non caricato; Il numero SFB si trova nel settore ammesso. Numero SFB B#16#3F: OB121_FLT_REG: 1-60 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Blocchi organizzativi 1.28 OB di errore di accesso alla periferia (OB 122) Descrizione Il sistema operativo della CPU chiama l'OB 122 ogni volta che viene rilevato un evento legato all'accesso ai dati nelle unità. Per esempio, se la CPU rileva un errore di lettura nel tentativo di accedere ai dati in un'unità di ingresso e di uscita, il sistema operativo chiama l'OB 122. Funzionamento dell'OB di errore di accesso alla periferia L'OB 122 viene eseguito nella stessa classe di priorità del blocco interrotto. Se l'OB 122 non è programmato, la CPU passa dallo stato di funzionamento RUN a STOP. S7 dispone delle seguenti SFC, con le quali gli eventi di avvio dell'OB 122 possono essere mascherati e demascherati mentre il programma utente viene eseguito: • La SFC 36 "MSK_FLT" maschera determinati codici d'errore. • La SFC 37 "DMSK_FLT" demaschera i codici di errore che erano stati mascherati da SFC 36. • La SFC 38 "READ_ERR" legge il registro dello stato degli eventi. Dati locali dell'OB errore di accesso alla periferia La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di accesso alla periferia. Come nomi di variabili sono stati scelti i nomi di default dell'OB 122. Variabile Tipo OB122_EV_CLASS OB122_SW_FLT BYTE BYTE OB122_PRIORITY OB122_OB_NUMBR OB122_BLK_TYPE OB122_MEM_AREA OB122_MEM_ADDR OB122_BLK_NUM OB122_PRG_ADDR OB122_DATE_TIME Descrizione Classe d'evento e identificazioni: B#16#29 Codice di errore: • B#16#42: Errore di accesso alla periferia, in lettura. • B#16#43: Errore di accesso alla periferia, in scrittura BYTE Classe di priorità: classe di priorità dell'OB in cui si è verificato l'errore BYTE Numero di OB (122) BYTE Tipo di blocco in cui si è verificato l'errore (B#16#88: OB, B#16#8C: FC, B#16#8E: FB) (nelle S7-300 qui non viene registrato un valore valido) BYTE Area di memoria e tipo di accesso: • Bit da 7 a 4: tipo di accesso: 0: accesso a bit 1: accesso a byte 2: accesso a parola 3: accesso a doppia parola • Bit da 3 a 0: area di memoria: 0: settore periferia 1: immagine di processo degli ingressi 2: immagine di processo delle uscite WORD Indirizzo di memoria in cui si è verificato l'errore WORD Numero del blocco con il comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con S7-300 qui non viene registrato nessun valore valido) DATE_AND_TIME Data e ora in cui è stato richiamato l'OB Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 1-61 Blocchi organizzativi 1-62 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 2 Parametri generali relativi alle SFC 2.1 Riconoscimento di errore con il parametro di uscita RET_VAL Tipologia di informazioni di errore Una SFC elaborata indica nel programma utente se la CPU ha potuto eseguire correttamente la funzione della SFC stessa o meno. La relativa informazione di errore si può ricavare in due modi: • nel bit BIE della parola di stato • nel parametro di uscita RET_VAL (return value). Avvertenza Prima dell'analisi dei parametri di uscita specifici di una SFC è sempre opportuno procedere nel modo seguente: • analizzare per prima cosa il bit BIE della parola di stato • verificare infine il parametro di uscita RET_VAL. Se tramite il bit BIE venisse segnalata un'errata elaborazione della SFC oppure se in RET_VAL fosse presente un codice di errore generale non è possibile analizzare il parametro di uscita specifico della SFC. Informazioni di errore nel valore di ritorno Una funzione di sistema (SFC) indica tramite il valore 0 nel bit di risultato binario (BIE) della parola di stato che è avvenuto un errore durante l'elaborazione della funzione. Alcune funzioni di sistema forniscono ad un'uscita, definita valore di ritorno (RET_VAL), un codice di errore supplementare. Se nel parametro di uscita RET_VAL si presenta un errore generale (per la spiegazione vedere sotto), ciò viene indicato solo dal valore 0 nel bit BIE della parola di stato. Il valore di ritorno è di tipo intero (INT). Il suo valore rispetto allo "0" indica se durante l'elaborazione della funzione è avvenuto un errore. Elaborazione della SFC mediante la CPU BIE Valore di ritorno Segno dell'intero presenza di errore 0 minore di "0" negativo (bit di segno è "1") assenza di errore 1 maggiore o uguale a "0" positivo (bit di segno è "0") Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 2-1 Parametri generali relativi alle SFC Reagire ad una informazione di errore Per i codici di errore in RET_VAL si distingue tra: • un codice di errore generale, che può essere fornito da tutte le SFC e • un codice di errore specifico, che può essere fornito da una SFC in relazione alle proprie specifiche funzioni. È possibile scrivere il programma utente in modo tale che esso reagisca a possibili errori durante l'elaborazione della funzione di sistema. In questo modo è possibile evitare ulteriori errori. Informazioni di errore generali e specifiche Il valore di ritorno (RET_VAL) di una funzione di sistema fornisce uno dei seguenti due codici di errore: • un codice di errore generale, che si può riferire ad una qualsiasi funzione di sistema. • un codice di errore specifico, che si riferisce esclusivamente ad una determinata funzione di sistema. Anche se nel caso del parametro di uscita RET_VAL si tratta di un valore di numero intero (INT), i codici di errore delle funzioni di sistema vengono rappresentati in formato esadecimale. Se si interpreta un valore di ritorno e lo si vuole confrontare con i codici di errore riportati in questo manuale, allora è opportuno farsi indicare il codice di errore in formato esadecimale. La figura seguente illustra la struttura di un codice di errore di una funzione di sistema in formato esadecimale. Se, Codice di errore, per esempio W#16#8081 8 7 15 0 1 X Numero dell'evento o classe dell'errore e singolo errore Se x = 0" , si tratta di un codice di errore specifico di una SFC. Il codice di errore specifico si trova nella descrizione delle singole SFC nel paragrafo dedicato alle informazioni di errore Se x > 0" si tratta di un codice di errore generale di una SFC. In questo caso x è il numero del parametro della SFC che ha causato l'errore. I possibili codici di errore generali si trovano nella siguiente tabella Il bit di segno = 1 indica che è avvenuto un errore. 2-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Parametri generali relativi alle SFC Informazioni di errore generali Il codice di errore generale indica errori che possono aver luogo in qualsiasi funzione di sistema. Un codice di errore generale è costituito dai seguenti due numeri: • un numero di parametro compreso tra 1 e 111, dove 1 indica il primo parametro, 2 il secondo, ecc. della SFC richiamata. • un numero compreso tra 0 e 127. Il numero dell'evento indica un errore di sincronismo. Nella tabella seguente sono riportati i codici per errori generali, le loro abbreviazioni e spiegazioni in merito agli errori. Bit 15 1 8 7 numero di parametro numero di evento 0 segno Avvertenza Se è stato registrato un codice di errore generale nel RET_VAL, • l'operazione relativa alla SFC può essere stata avviata o essere stata già completamente eseguita. • può essersi presentato un errore specifico della SFC durante l'operazione. A causa di un errore generale supplementare, presentatosi successivamente, l'errore specifico non poteva più essere indicato. Informazioni di errore specifiche Alcune funzioni di sistema (SFC) possiedono un valore di ritorno che fornisce un codice di errore specifico. Questo codice indica che durante l'elaborazione della funzione è avvenuto un errore, appartenente ad una determinata funzione di sistema (vedi figura). Un codice di errore specifico è costituito dai seguenti due numeri: • una classe dell'errore tra 0 e 7. • un singolo errore tra 0 e 15. Bit 15 1 8 0 7 1 classe d'errore 4 3 0 singolo errore segno Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 2-3 Parametri generali relativi alle SFC Codici di errore generali La tabella seguente spiega i codici di errore generali di un valore di ritorno. Il codice viene indicato in formato esadecimale. La lettera x in ogni codice serve solo ad indicare una posizione e rappresenta il numero del parametro della funzione di sistema che ha causato l'errore. Codice di errore (W#16#...) 8x7F Significato Errore interno. Questo codice indica un errore interno al parametro x. L'errore non è stato provocato dall'utente e non può essere quindi da lui eliminato. 8x01 Identificazione sintassi non ammessa in uno parametro ANY- 8x22 Errore di dimensione nella lettura di un parametro. 8x23 Errore di dimensione nella scrittura di un parametro. Questo codice indica che il parametro x si trova completamente o parzialmente al di fuori dell'area di memoria di un operando oppure che la lunghezza di un campo di bit in un parametro ANY non è divisibile per 8. 8x24 Errore di memoria nella lettura di un parametro. 8x25 Errore di memoria nella scrittura di un parametro. Questo codice indica che il parametro x si trova in un'area di memoria non permessa alla funzione di sistema. La descrizione delle singole funzioni riporta le aree di memoria non permesse. 8x26 Il parametro contiene un numero di temporizzatore troppo grande. Questo codice indica che il temporizzatore, dato nel parametro x, non è presente. 8x27 Il parametro contiene un numero di contatore troppo grande (errore numero contatore). Questo codice indica che il contatore, dato nel parametro x, non è presente. 8x28 Errore di riferimento nella lettura di un parametro. 8x29 Errore di riferimento nella scrittura di un parametro. Questo codice indica che il parametro x punta ad un operando, il cui indirizzo a bit è diverso da 0. 8x30 Il parametro si trova nel DB globale, protetto in scrittura. 8x31 Il parametro si trova nel DB di istanza, protetto in scrittura Questo codice indica che il parametro x si trova in un blocco dati protetto in scrittura. Se il blocco dati era stato aperto dalla funzione di sistema stessa, essa fornisce sempre il valore W#16#8x30. 8x32 Il parametro contiene un numero di DB troppo grande (errore numero DB). 8x34 Il parametro contiene un numero di FC troppo grande (errore numero FC). 8x35 Il parametro contiene un numero di FB troppo grande (errore numero FB). Questo codice indica che il parametro x contiene un numero di blocco maggiore del massimo numero di blocco ammesso. 8x3A Il parametro contiene il numero di un DB che non è stato caricato. 8x3C Il parametro contiene il numero di una FC che non è stato caricata. 8x3E Il parametro contiene il numero di un FB che non è stato caricato. 8x42 È avvenuto un errore di accesso, mentre il sistema voleva leggere un'area della periferia degli ingressi. 8x43 È avvenuto un errore di accesso, mentre il sistema voleva scrivere un'area della periferia delle uscite. 8x44 Errore all'ennesimo (N > 1) accesso di lettura dopo che si è presentato un errore. 8x45 Errore all'ennesimo (N > 1) accesso di scrittura dopo che si è presentato un errore. Questo codice indica che viene rifiutato l'accesso al parametro desiderato. 2-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Parametri generali relativi alle SFC 2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono SFC che lavorano in modo asincrono Le SFC che lavorano in modo asincrono sono SFC in cui l'esecuzione della funzione può essere allargata a più richiami delle SFC. Le seguenti SFC vengono eseguite, generalmente o a determinate condizioni in modo asincrono: • SFC 7 "DP_PRAL" • SFC 11 "DPSYC_FR" • SFC 12 "D_ACT_DP" • SFC 13 "DPNRM_DG" • SFC 51 "RDSYSST" • SFC 55 "WR_PARM" • SFC 56 "WR_DPARM" • SFC 57 "PARM_MOD" • SFC 58 "WR_REC" • SFC 59 "RD_REC" • SFC 65 "X_SEND" • SFC 67 "X_GET" • SFC 68 "X_PUT" • SFC 69 "X_ABORT" • SFC 72 "I_GET" • SFC 73 "I_PUT" • SFC 74 "I_ABORT" • SFC 82 "CREA_DBL" • SFC 83 "READ_DBL" • SFC 84 "WRIT_DBL" • SFC 90 "H_CTRL" • SFC 102 "RD_DPARA" • SFC 103 "DP_TOPOL" • SFC 114 "PN_DP" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 2-5 Parametri generali relativi alle SFC Identificazione del job Se con una delle SFC indicate sopra è stata avviata l'attivazione di un interrupt di processo o l'invio di istruzioni di comando a slave DP, o una trasmissione di dati, o l'interruzione di un collegamento non progettato e se questa SFC viene richiamata di nuovo prima che il job in corso sia terminato, l'ulteriore comportamento della SFC dipende in modo determinante dalla possibilità che il nuovo richiamo riguardi lo stesso job o meno. La tabella seguente spiega per ogni SFC quali parametri di ingresso definiscono un job. Quando i parametri qui indicati corrispondono ad un job non ancora concluso il richiamo SFC vale come richiamo successivo. SFC Il job è identificato da 7 "DP_PRAL" IOID, LADDR 11 "DPSYC_FR" LADDR, GROUP, MODE 12 "D_ACT_DP" LADDR 13 "DPNRM_DG" LADDR 51 "RDSYSST" SZL_ID, INDEX 55 "WR_PARM" IOID, LADDR, RECNUM 56 "WR_DPARM" IOID, LADDR, RECNUM 57 "PARM_MOD" IOID, LADDR 58 "WR_REC" IOID, LADDR, RECNUM 59 "RD_REC" IOID, LADDR, RECNUM 65 "X_SEND" DEST_ID, REQ_ID 67 "X_GET" DEST_ID, VAR_ADDR 68 "X_PUT" DEST_ID, VAR_ADDR 69 "X_ABORT" DEST_ID 72 "I_GET" IOID, LADDR, VAR_ADDR 73 "I_PUT" IOID, LADDR, VAR_ADDR 74 "I_ABORT" IOID, LADDR 82 "CREA_DBL" LOW_LIMIT, UP_LIMIT, COUNT, ATTRIB, SRCBLK 83 "READ_DBL" SRCBLK, DSTBLK 84 "WRIT_DBL" SRCBLK, DSTBLK 90 "H_CTRL" MODE, SUBMODE 102 "RD_DPARA" LADDR, RECNUM 103 "DP_TOPOL" DP_ID 114 "PN_DP" - Parametro di ingresso REQ Il parametro di ingresso REQ (request) serve esclusivamente all'avviamento del job: 2-6 • Se viene richiamata la SFC per un job, che non è attualmente attivato, viene avviato il job con REQ = 1 (caso 1). • Se un determinato job è avviato e non è ancora concluso, e se viene richiamata la SFC per lo stesso job (p. es. in un OB di schedulazione orologio), il REQ non viene analizzato dalla SFC (caso 2). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Parametri generali relativi alle SFC Parametri di uscita RET_VAL e BUSY Tramite i parametri di uscita RET_VAL e BUSY viene indicato lo stato dell'esecuzione del job Fare attenzione all'avvertenza nel paragrafo Riconoscimento di errore con il parametro di uscita RET_VAL. • Nel caso 1 (primo richiamo con REQ=1), con risorse di sistema libere e assegnazione corretta dei parametri di ingresso, in RET_VAL viene registrato W#16#7001 e viene impostato BUSY. Se le risorse di sistema necessarie sono attualmente occupate o è presente un errore nei parametri di ingresso, in RET_VAL viene registrato il rispettivo codice di errore e BUSY viene registrato con 0. • Nel caso 2 (richiamo intermedio) in RET_VAL viene registrato W#16#7002 (questa registrazione corrisponde ad un avvertimento: il job viene attualmente ancora elaborato!), e viene impostato BUSY. • All'ultimo richiamo per un job sono valide le seguenti regole: - Nelle SFC 13 "DPNRM_DG", SFC 67 "X_GET" e SFC 72 "I_GET" in caso di trasmissione senza errori dei dati in RET_VAL viene registrato il numero dei dati forniti in byte come numero positivo e BUSY viene registrato con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore. In questo caso non è consentito analizzare BUSY. - Nella SFC 59 "RD_REC" in caso di trasmissione senza errori dei dati viene registrata in RET_VAL la grandezza del set di dati in byte, oppure viene registrato 0 (vedi paragrafo Lettura di set di dati con la SFC 59 "RD_REC"!). BUSY è registrato in questo caso con 0. In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con 0 (fare attenzione all'avvertenza nel capitolo Lettura di set di dati con la SFC 59 "RD_REC") - In tutte le altre SFC viene registrato 0 in RET_VAL in caso di esecuzione senza errori del job e BUSY viene registrato con 0. In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con 0. Avvertenza Se il primo e l'ultimo richiamo avvengono contemporaneamente, per RET_VAL e BUSY è valido quanto detto per l'ultimo richiamo. Panoramica delle SFC di comunicazione La tabella seguente fornisce una panoramica delle correlazioni descritte sopra. Essa indica in particolare i valori possibili dei parametri di uscita se l'esecuzione del job non è conclusa dopo un richiamo della SFC. Avvertenza Dopo ogni richiamo è necessario valutare i parametri di uscita rilevanti nel proprio programma. Avvertenza Dopo ogni richiamo è necessario valutare i parametri di uscita rilevanti nel proprio programma. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 2-7 Parametri generali relativi alle SFC N. prog. richiamo Tipo richiamo REQ RET_VAL BUSY 1 Primo richiamo 1 W#16#7001 1 2 fino a (n-1) Richiamo intermedio Irrilevante W#16#7002 1 n Ultimo richiamo Irrilevante W#16#0000 (eccezioni: SFC 59 "RD_REC" se l'area di destinazione è maggiore del set di dati trasmessi, SFC 13 "DPNRM_DG", SFC 67 "X_GET" e SFC 72 "I_GET") se non si sono verificati errori 0 Codice di errore Codice di errore, se si sono verificati errori 2-8 0 0 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3 Funzioni di copiatura e di blocco 3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" Descrizione Con la SFC 20 "BLKMOV" (block move) si copia il contenuto di un'area di memoria (= area sorgente) in un'altra area di memoria (= area di destinazione). Le aree sorgente consentite sono le seguenti: • Parti di blocchi dati • Merker • Immagine di processo degli ingressi • Immagine di processo delle uscite Il parametro sorgente può trovarsi anche nella memoria di caricamento in un blocco dati non rilevante per l'esecuzione del programma (DB che sono stati compilati con la parola chiave UNLINKED). Avvertenza Se la CPU dell'utente è provvista di SFC 83, occorre utilizzarla per leggere i blocchi dati non rilevanti per l'esecuzione nella memoria di caricamento. Se si utilizza la SFC 20 viene visualizzato il messaggio di erorre W#16#8092. DB10. DBW4 A B DB10. DBW6 C D DB10. DBW8 DB10. DBW10 E F G H Copia La copiatura avviene in direzione di indirizzi crescenti MW 10 MW 12 A C B D MW 14 E F MW 16 G H Area di memoria Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-1 Funzioni di copiatura e di blocco Possibilità di interruzione Fino a quando l'area sorgente non è parte di un blocco dati presente solo nella memoria di caricamento, non esiste nessuna limitazione della profondità di annidamento. In caso di interruzione di un'elaborazione della SFC 20, invece, durante la quale viene effettuata la copiatura da un blocco dati non rilevante per l'esecuzione del programma, un'elaborazione simile della SFC 20 non può essere più annidata. Parametri Dichiarazione Tipo Area di memoria Descrizione SRCBLK INPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve essere ricopiata (area sorgente). Arrays del tipo di dati STRING non sono permessi. RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria nella quale si deve copiare (area di destinazione). Arrays del tipo di dati STRING non sono permessi. Avvertenza L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è maggiore dell'area sorgente, nell'area di destinazione vengono ricopiati tanti dati quanti ne sono contenuti nell'area sorgente. Se l'area di destinazione indicata (parametro DSTBLK) è inferiore all'area sorgente (parametro SRCBLK), vengono ricopiati tanti dati quanti ne può contenerne l'area di destinazione. Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per quella di destinazione (parametri SRCBLK, DSTBLK), la trasmissione dati non avrà luogo. Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8 in caso contrario l’SFC non viene eseguita. I parametri sorgente o di destinazione (o entrambi) possono essere a loro volta del tipo STRING. Se la sorgente è una stringa, vengono copiati al massimo i caratteri attualmente contenuti nella stringa. Se sorgente e destinazione sono rispettivamente una stringa, la lunghezza attuale viene impostata sul numero dei caratteri copiati. Se si intende copiare una stringa comprendente la lunghezza massima e quella effettiva, procedere come indicato nel seguito: configurare personalmente i puntatori ANY da indicare nei parametri SRCBLK e DSTBLK. Utilizzare il tipo di dati BYTE. Particolarità: Se un blocco dati non rilevante per l'esecuzione del programma viene copiato con l'SFC 20 BLKMOV nella memoria di lavoro e contemporaneamente ricaricato p. es. mediante PG , l'SFC può essere ritardata di diversi millisecondi. Ciò causa un allungamento del ciclo dell'OB e probabilmente la reazione del controllo tempo di ciclo. Evitare di ricaricare questo blocco mentre la CPU copia questo blocco con l'SFC 20. 3-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8091 È stata superata la profondità di annidamento. 8092 La SFC 20 "BLKMOV" non può essere eseguita a causa di un accesso a un blocco dati non operabile. Utilizzare la SFC 83. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-3 Funzioni di copiatura e di blocco 3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" Descrizione Con la SFC 81 "UBLKMOV" (uninterruptable block move) viene copiato il contenuto di un'area di memoria (= area sorgente) in modo coerente in un'altra area di memoria (= area di destinazione). La procedura di copia non può essere interrotta da altre attività del sistema operativo. Con la SFC 81 "UBLKMOV" è possibile copiare tutte le aree di memoria eccetto: • i blocchi seguenti: FB, SFB, FC, SFC, OB, SDB • contatori • temporizzatori • aree di memoria dell'area della periferia • blocchi dati non rilevanti per l'esecuzione. La quantità max. di dati che si può copiare ammonta a 512 byte. Osservare le limitazioni specifiche della CPU chesi possono p. es. prendere dall'elenco delle operazioni. Possibilità di interruzione, tempo di reazione all'allarme La procedura di copia non può essere interrotta. Si deve quindi tenere presente che il tempo di reazione all'allarme della propria CPU può aumentare se si utilizza la SFC 81 "UBLKMOV". Parametri Dichiarazione Tipo Area di memoria Descrizione SRCBLK INPUT ANY E, A, M, D, L RET_VAL OUTPUT INT E, A, M, D, L DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve essere copiata (area sorgente). Arrays del tipo STRING non sono ammessi. Se si verifica un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di identificazione dell'errore. Definizione dell'area di memoria in cui deve essere copiato (area di destinazione). Arrays del tipo STRING non sono ammessi. 3-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Avvertenza L'area sorgente e quella di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è superiore all'area sorgente, nell'area di destinazione vengono copiati tutti i dati presenti nell'area sorgente. Se l'area di destinazione indicata è inferiore all'area sorgente verranno copiati soltanto tanti dati, quanti è in grado di contenerne l'area di destinazione. Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per quella di destinazione (parametri SRCBLK, DSTBLK), la trasmissione dati non avrà luogo Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8, in caso contrario l’SFC non viene eseguita. Se il puntatore ANY è del tipo STRING, la lunghezza indicata deve essere 1. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8091 L'area sorgente non si trova in un blocco dati rilevante per l'esecuzione. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-5 Funzioni di copiatura e di blocco 3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" Descrizione Con la SFC 21 "FILL" è possibile inizializzare un'area di memoria (area di destinazione) con il contenuto di un'altra area di memoria (area sorgente). La SFC copia il contenuto nell'area di destinazione assegnata, fino ad inizializzarla completamente. Avvertenza L'area sorgente e quella di destinazione non devono sovrapporsi. Anche se l'area da inizializzare non è un multiplo intero della lunghezza del parametro di ingresso BVAL, essa viene comunque aggiornata fino all'ultimo byte. Se l'area da inizializzare è più inferiore all'area sorgente, verranno copiati tanti dati, quanti è in grado di contenerne l'area di destinazione. Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per quella di destinazione (parametri BVAL, BLK), la trasmissione dati non avrà luogo. Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere divisibile per 8, in caso contrario l’SFC non viene eseguita. FILL B MW 14 A C D MW 16 E F MW 18 G H MW 20 A BVAL BLK B MW 100 C D MW 102 E F MW 104 G H MW 106 A B MW 108 C D MW 110 E F MW 112 G H MW 114 A B MW 116 C D MW 118 Esempio: il contenuto dell'area di memoria da MW 100 a MW 118 deve venire inizializzato con il contenuto delle parole di merker da MW 14 a MW 20. 3-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Eccezioni Non sono ammessi come aree sorgente: • Contatori • Temporizzatori Con la SFC 21 non è possibile scrivere valori in: • seguenti blocchi: FB, SFB, FC, SFC, SDB • contatori • temporizzatori • aree di memoria della periferia Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione BVAL INPUT ANY E, A, M, D, L Il parametro BVAL contiene il valore o la definizione dell'area, con il cui contenuto si vuole inizializzare l'area di destinazione (area sorgente). Arrays del tipo di dati STRING non sono permessi. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BLK OUTPUT ANY E, A, M, D, L Il parametro BLK definisce l'area che deve essere inizializzata (area di destinazione). Arrays del tipo di dati STRING non sono permessi. Il parametro è una struttura Se viene passata al parametro di ingresso una struttura, occorre considerare la seguente particolarità: Lo STEP 7 interpreta la lunghezza di una struttura sempre come un numero pari di byte. Se la struttura viene dichiarata con un numero dispari di byte, tale struttura necessita allora di un byte di memoria supplementare. Esempio La struttura è dichiarata nel modo seguente: TYP_5_BYTE_STRUTTURA : STRUCT BYTE_1_2 : WORD BYTE_3_4 : WORD BYTE_5 : BYTE END_STRUCT La struttura dichiarata "TYP_5_BYTE_STRUTTURA" necessita di 6 byte di memoria. Informazioni di errore La SFC 21 "FILL" non fornisce informazioni specifiche sugli errori ma soltanto generali. Vedere Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-7 Funzioni di copiatura e di blocco 3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB" Descrizione Con la SFC 22 "CREAT_DB" (create data block) è possibile creare un blocco dati nel programma utente, che non contiene i valori inizializzati. Anziché questi valori vengono assegnati dati casuali. La SFC crea un blocco dati con un numero compreso in un intervallo predefinito e con una dimensione predefinita. La SFC assegna al DB il numero più piccolo possibile compreso nell'area data. Per attribuire al DB un determinato numero occorre assegnare ai limiti massimi e minimi dell‘area lo stesso valore, corrispondente al numero desiderato. Numeri di DB già utilizzati nel programma non possono più venire assegnati. La lunghezza del DB deve essere un numero pari. Possibilità di interruzione La SFC "CREAT_DB" può essere interrotta da OB di più elevata priorità. Se, a sua volta, in un OB di più elevata priorità viene richiamata una SFC 22 "CREAT_DB", questo richiamo viene respinto con il codice di identificazione dell'errore W#16#8091. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite inferiore è il più piccolo dei numeri che è possibile assegnare al blocco dati. UP_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite superiore è il più grande dei numeri, che è possibile assegnare al blocco dati. COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero di byte che si vogliono riservare per il blocco dati. In questo caso occorre assegnare un numero pari di byte (massimo 65534) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero di blocco dati è il numero del blocco dati appena creato. In caso di errore (è stato impostato il bit 15 di RET_VAL) il valore 0 viene registrato in DB_NUMBER. 3-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 8091 La SFC 22 è stata richiamata annidata. 8092 La funzione "Creazione di blocchi dati" non è eseguibile al momento perché • 80A1 80A2 la funzione "Compressione della memoria utente" è attualmente attiva • il numero dei DB presenti nella CPU ha già raggiunto il massimo valore consentito • la CPU H è in fase di accoppiamento o aggiornamento • la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è stato installato WinAC Errore nel numero del DB: • il numero è 0 • il numero supera il numero massimo di DB ammesso per la CPU specifica • limite inferiore > limite superiore Errore nella lunghezza del DB: • la lunghezza è 0 • la lunghezza è stata data come numero dispari • la lunghezza è maggiore di quanto la CPU permetta 80B1 Nessun numero di DB è libero 80B2 La memoria libera a disposizione non è sufficiente 80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!) 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-9 Funzioni di copiatura e di blocco 3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB" Descrizione Con la SFC 23 "DEL_DB" (delete data block) è possibile cancellare un blocco dati presente nella memoria di lavoro ed eventualmente nella memoria di caricamento della CPU. Il DB da cancellare non deve essere aperto né nel livello di esecuzione attuale né in uno di priorità bassa. Ciò vuol dire che non deve essere registrato né in uno dei due registri DB né in B-Stack, in quanto altrimenti la CPU, al momento del richiamo della SFC 23, avvierebbe l'OB 121. Se l'OB 121 non è disponibile, la CPU entra nello stato di STOP; nell'S7-300 (ad eccezione della CPU 318) la cancellazione del DB avviene senza richiamo dell'OB 121. Avvertenza Cancellare DB di istanza con la SFC 23 "DEL_DB" non è un'operazione opportuna e comporta sempre errori di programma. Evitare quindi di cancellare i DB di istanza con la SFC 23! La tabella seguente spiega quando un blocco dati può essere cancellato con la SFC 23 "DEL_DB". Se il DB ... allora, con la SFC 23 ... è stato creato con il richiamo della SFC 22 "CREAT_DB" è possibile cancellarlo. è stato trasferito con STEP 7 alla CPU e non è stato creato con la parola chiave UNLINKED è possibile cancellarlo. è memorizzato sulla flashcard non è possibile cancellarlo. Possibilità di interruzione La SFC 23 "DEL_DB" può essere interrotta da livelli di esecuzione di priorità più alta. Se poi la SFC viene qui richiamata di nuovo, questo secondo richiamo viene interrotto e in RET_VAL viene registrato W#16#8091. Parametri Dichiarazione Tipo Area di memoria DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da cancellare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore 3-10 Descrizione Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 8091 Nei richiami annidati della SFC 23 è stata superata la profondità di annidamento massima delle CPU utilizzate. 8092 80A1 La funzione "Cancellazione di un DB" non è eseguibile al momento perché • la funzione "Compressione della memoria utente" è attiva • l'utente sta copiando il DB da cancellare dalla CPU in un progetto offline • la CPU H è in fase di accoppiamento o aggiornamento • la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è stato installato WinAC Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato • ha valore 0 • è maggiore del numero di DB massimo ammesso per la CPU utilizzata 80B1 Il DB con il numero indicato non è presente nella CPU. 80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED. 80B3 Il DB si trova sulla flashcard. 80B4 Il DB non è stato cancellato perché • fa parte di un programma F • è un DB di istanza di un blocco dati della comunicazione S7 (solo per S7-400) • è un DB tecnologico. 80C1 La funzione "Cancellazione di un DB" non è attualmente eseguibile per mancanza di risorse. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-11 Funzioni di copiatura e di blocco 3.6 Test di un blocco dati con la SFC 24 "TEST_DB" Descrizione Con la SFC 24 "TEST_DB" (test data block) si ottengono informazioni su un blocco dati presente nella memoria di lavoro della CPU. La SFC rileva il numero dei byte di dati per il DB selezionato e verifica se il DB è protetto in scrittura. Parametri Dichiarazione Tipo Area di memoria Descrizione DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da verificare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore DB_LENTH OUTPUT WORD E, A, M, D, L Numero dei byte di dati contenuti nel DB selezionato. WRITE_PROT OUTPUT BOOL E, A, M, D, L Informazione sulla protezione da scrittura del DB selezionato (1 significa protetto in scrittura). Informazioni di errore Codice di errore (W#16#...) Significato 0000 Nessun errore 80A1 Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato ha il valore 0 è maggiore del numero di DB massimo ammesso per la CPU utilizzata 80B1 Il DB con il numero indicato non è presente nella CPU. 80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 3-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco 3.7 Compressione della memoria utente con la SFC 25 "COMPRESS" Formazione di spazi vuoti di memoria A causa di ripetute cancellazioni o postcaricamenti di blocchi è possibile che si formino degli spazi vuoti sia nella memoria di caricamento che in quella di lavoro, i quali riducono l'area di memoria utilizzabile. Descrizione Con la SFC 25 "COMPRESS" è possibile avviare la compressione sia della parte RAM della memoria di caricamento che della memoria di lavoro. L'operazione di compressione è la stessa come dopo un avvio esterno nello stato di funzionamento RUN-P (posizione del selettore dei modi operativi). Se la compressione è già attiva a causa di un avvio esterno, il richiamo della SFC 25 provoca una visualizzazione di errore. Avvertenza I blocchi con una lunghezza superiore a 1000 byte non vengono spostati dalla SFC 25 "COMPRESS". Per questo motivo, dopo la compressione possono formarsi spazi vuoti nella memoria di lavoro. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L Informazione se la compressione è attiva a causa della SFC 25 (1 = attiva) DONE OUTPUT BOOL E, A, M, D, L Informazione se l'operazione di compressione avviata mediante la SFC 25 si è conclusa con successo (1 = conclusa con successo) Controllo sull'operazione di compressione L'operazione di compressione viene avviata mediante un unico richiamo della SFC 25 "COMPRESS"; tuttavia, non è possibile verificare se la compressione è stata eseguita in modo corretto. Se si desidera esercitare questa funzione di controllo, è necessario procedere come segue: La SFC 25 deve essere richiamata in modo ciclico. Dopo ogni richiamo, dapprima deve essere valutato il parametro RET_VAL. Se questo ha il valore 0, devono essere valutati i parametri BUSY e DONE. Se BUSY = 1 e DONE = 0, vuol dire che l'operazione di compressione è ancora attiva. Solo dopo che BUSY ha assunto il valore 0 e DONE il valore 1, significa che l'operazione di compressione è stata portata a termine con successo. Se, a questo punto, la SFC 25 viene richiamata di nuovo, si avvia un'ulteriore compressione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-13 Funzioni di copiatura e di blocco Informazioni di errore Codice di errore Significato (W#16#...) 0000 Nessun errore. L'operazione di compressione è stata avviata dalla SFC 25. Solo in questo caso è utile valutare tramite il programma utente (vedi sopra) i parametri di uscita BUSY e DONE. 8091 L'operazione di compressione è già attiva a causa di un avvio esterno. 8092 La funzione "Avvio della compressione della memoria utente" non è eseguibile al momento perché • 8xyy 3-14 la funzione "Cancellazione blocchi" è attualmente attiva a causa di un avvio di STEP 7 • una funzione di test e di messa in servizio agisce al momento su un blocco (p. es. Stato) • la funzione "Copiatura di blocchi" è attualmente attiva a causa di un avvio esterno • la CPU H è in fase di accoppiamento o aggiornamento Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco 3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL" Descrizione Con la SFC 44 "REPL_VAL" (replace value) si può trasferire un valore nell'ACCU 1 del livello di programma che ha causato l'errore. Solo in OB di errore di sincronismo La SFC 44 "REPL_VAL" può essere richiamata solo in un OB di errore di sincronismo (OB 121, OB 122). Esempio applicativo Nel caso in cui un'unità di ingresso è disturbata al punto tale che non è più possibile leggere alcun valore, dopo ogni accesso a questa unità, viene avviato l'OB 122. Nell'OB 122 è possibile trasferire nell'ACCU 1 del livello di programma interrotto un valore sostitutivo con l'ausilio della SFC 44, in modo tale che il programma possa continuare ad operare con questo valore sostitutivo. Le informazioni necessarie per la scelta di questo valore sostitutivo (ad es. il blocco in cui ha avuto luogo l'errore, l'indirizzo interessato) vengono fornite dalle variabili locali dell'OB 122. Parametri Parametri Dichiarazione Tipo Area di memoria VAL INPUT DWORD E, A, M, D, L, cost. Valore sostitutivo RET_VAL OUTPUT INT Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. E, A, M, D, L Descrizione Informazioni di errore Codice di errore (W#16#....) Descrizione 0000 Nessun errore. È stato specificato un valore sostitutivo. 8080 La SFC 44 non è stata richiamata all'interno di un OB di errore di sincronismo (OB 121, OB 122). 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-15 Funzioni di copiatura e di blocco 3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL" Descrizione Con la SFC 82 "CREA_DBL" (create data block in load memory) si crea nella memoria di caricamento (Micro Memory Card) un nuovo blocco dati. La SFC 82 crea un blocco dati con un numero preso da un'area indicata e una dimensione predefinita. Dall'area indicata, la SFC 82 assegna al DB il numero più basso possibile. Per creare un DB con un determinato numero, assegnare lo stesso numero al limite superiore e a quello inferiore dell'area da indicare. I numeri dei DB già contenuti nel programma utente non si possono più assegnare. Se la memoria di lavoro e/o la memoria di caricamento contengono già un DB con lo stesso numero o se questo esiste già come variante copiata, la SFC viene conclusa mentre viene creata un'informazione d'errore. Avvertenza L'esistenza di un DB con lo stesso numero si può determinare con la SFC 24 "TEST_DB". Il DB viene scritto con il contenuto dell'area di dati al quale fa riferimento il parametro SRCBLK (source block). Questa area dati deve essere un DB o un'area di un DB. Per garantire la coerenza dei dati, non è consentito modificare questa area dati nel corso dell'elaborazione della SFC 82 (vale a dire finché il parametro BUSY ha il valore TRUE). È possibile creare e inizializzare un DB con l'attributo READ_ONLY solo tramite SFC 82. La SFC 82 non modifica la somma di controllo del programma utente. 3-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco Procedimento La SFC 82 "CREA_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 82 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di creazione del DB LOW_LIMIT INPUT WORD E, A, M, D, L Limite inferiore dell'area dalla quale la SFC assegna un numero al DB dell'utente UP_LIMIT INPUT WORD E, A, M, D, L Limite superiore dell'area dalla quale la SFC assegna un numero al DB dell'utente COUNT INPUT WORD E, A, M, D, L Il valore di conteggio indica il numero di byte che si vogliono riservare per il blocco dati. In questo caso occorre assegnare un numero pari di byte ATTRIB INPUT BYTE E, A, M, D, L Proprietà del DB: Bit 0 = 1: UNLINKED: il DB è solo nella memoria di caricamento. Bit 1 = 1: READ_ONLY: il DB è protetto in scrittura. Bit 2 = 1: NON_RETAIN: il DB non è rimanente. Bit 3 - 7: riservato SRCBLK INPUT ANY D Puntatore sul blocco dati con i cui valori viene inizializzato il blocco dati da creare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione non è ancora terminata. DB_NUM OUTPUT WORD E, A, M, D, L Numero del DB creato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-17 Funzioni di copiatura e di blocco Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione vengono occupati da uno 0. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8091 È stata richiamata la SFC 82 annidata. 8092 La funzione "Crea DB" non è momentaneamente eseguibile perché • la funzione "Comprimi la memoria utente" è attiva • il numero max. di blocchi della CPU è stato raggiunto 8093 Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 8094 Nel parametro ATTRIB è stato specificato un attributo non ancora supportato. 80A1 Errore nel numero del DB: 80A2 • Il numero è 0 • Limite inferiore > limite superiore Errore nella lunghezza del DB: • La lunghezza è 0 • La lunghezza è un numero dispari • La lunghezza è maggiore di quanto consentito dalla CPU 80B1 Non vi sono numeri di DB liberi 80B2 Memoria di lavoro insufficiente 80BB Memoria di caricamento insufficiente 80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di comunicazione. 80C3 Al momento è già stato raggiunto il numero max. di SFC 82 attive contemporaneamente. 8xyy Codice di errore generale, p. es.: • DB sorgente inesistente o esistente solo come variante copiata • Area sorgente non disponibile nel DB Vedere Analisi degli errori con il parametro di uscita RET_VAL 3-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco 3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" Descrizione Con la SFC 83 "READ_DBL" (read data block in load memory) è possibile copiare un DB o una parte di un DB contenuto nella memoria di caricamento (Micro Memory Card) nell'area dati di un DB di destinazione. Il DB di destinazione deve essere rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo UNLINKED. Il contenuto della memoria di caricamento non viene modificato dall'operazione di copia. Per garantire la coerenza dei dati, non è consentito modificare l'area di destinazione nel corso dell'elaborazione della SFC 83 (vale a dire finché il parametro BUSY ha il valore TRUE). Per i parametri SRCBLK (source block) e DSTBLK (destination block) valgono le seguenti limitazioni: • Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8. • Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1. La lunghezza del DB sorgente può essere eventualmente determinata con la SFC 24 "TEST_DB". Avvertenza La SFC 83 viene elaborata in modo asincrono e non è adatta pertanto alla lettura frequente (ciclica) di variabili nella memoria di caricamento. Avvertenza Una volta avviato, un job viene sempre portato a termine. Se si raggiunge il numero massimo di SFC 83 attive contemporaneamente e si richiama allo stesso tempo la SFC 83 in una classe di priorità maggiore, viene emesso il codice di errore W#16#80C3. Non è perciò opportuno riavviare immediatamente il job con la priorità maggiore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-19 Funzioni di copiatura e di blocco Procedimento La SFC 83 "READ_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 83 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria di caricamento dalla quale vengono letti i dati RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è ancora terminata. DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria di lavoro nella quale scrivere i dati Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione non vengono modificati. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8093 Nel parametro DSTBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 80B1 Nel parametro SRCBLK non è indicato un blocco dati o il blocco dati indicato non è un oggetto della memoria di caricamento (p. es. un DB creato tramite SFC 22). 80B4 Non è consentito leggere un DB con attributo F. 80C0 Il DB di destinazione viene attualmente elaborato da un'altra SFC o da una funzione di comunicazione. 80C3 Al momento è già stato raggiunto il numero max. di SFC 83 attive contemporaneamente. 8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita RET_VAL 3-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco 3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" Descrizione Con la SFC 84 "WRIT_DBL" (write data block in load memory) è possibile trasferire il contenuto di un DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un DB nella memoria di caricamento (Micro Memory Card). Il DB sorgente deve essere rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo UNLINKED. Esso può tuttavia essere stato creato con la SFC 22 "CREAT_DB". Per garantire la coerenza dei dati, non è consentito modificare l'area sorgente nel corso dell'elaborazione della SFC 84 (vale a dire finché il parametro BUSY ha il valore TRUE).. Per i parametri SRCBLK (soruce block) e DSTBLK (destination block) valgono le seguenti limitazioni: • Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8. • Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1. La lunghezza del DB di destinazione può essere eventualmente determinata con la SFC 24 "TEST_DB". La SFC 84 non modifica la somma di controllo del programma utente quando si scrive un DB creato tramite SFC. Se si tratta di un DB caricato, invece, la prima scrittura nel DB modifica la somma di controllo del programma utente. Avvertenza La SFC 84 non è adatta alla scrittura frequente (ciclica) di variabili nella memoria di caricamento poiché la tecnologia della Micro Memory Card consente solamente un numero limitato di accessi in scrittura. Vedere il manuale di riferimento "Sistemi di automazione SIMATIC S7-300, Configurazione e dati della CPU: CPU 31xC e CPU 31x". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-21 Funzioni di copiatura e di blocco Procedimento La SFC 84 "WRIT_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 84 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di scrittura SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria di lavoro dalla quale si leggono i dati RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura non è ancora terminata. DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria di caricamento nella quale scrivere i dati Informazioni di errore Codice errore (W#16#...) Descrizione 0000 Nessun errore 0081 L'area di destinazione è maggiore dell'area sorgente. L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area di destinazione non vengono modificati. 7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1. 7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1 8081 L'area sorgente è maggiore dell'area di destinazione. L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono ignorati. 8092 Tipo di funzionamento scorretto: mentre la SFC 84 era attiva, la CPU è entrata in STOP. Con il prossimo passaggio a RUN viene emesso questo codice di errore. Richiamare nuovamente la SFC 84. 8093 Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste nella memoria di lavoro 80B1 Nel parametro DSTBLK non è indicato un blocco dati o il blocco dati indicato non è un oggetto della memoria di caricamento (p. es. un DB creato tramite SFC 22). 80B4 Un DB con attributo F non deve essere modificato. 80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di comunicazione. Esempio: caricamento di un DB dalla CPU nel PG. Si intende modificare il contenuto di questo DB tramite SFC 84. 80C3 Al momento è già stato raggiunto il numero max. di SFC 84 attive contemporaneamente. 8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita RET_VAL 3-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di copiatura e di blocco 3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" Descrizione Con la SFC 85 "CREA_DB" (create data block) è possibile creare nel programma utente un blocco dati che non contiene valori preimpostati bensì dati casuali. La SFC crea un blocco dati con un numero ripreso da un'area indicata e con dimensioni predefinite. Dall'area indicata, la SFC assegna al DB il numero più basso possibile. Per creare un DB con un determinato numero occorre assegnare lo stesso numero al limite inferiore e al limite superiore dell'area da predefinire. I numeri dei DB già contenuti nel programma utente non sono più assegnabili. La lunghezza del DB deve essere indicata con un numero pari. A seconda del parametro ATTRIB scelto, il DB creato ha la proprietà RETAIN oppure NON_RETAIN: • RETAIN (= a ritenzione) significa che il DB viene creato nell'area a ritenzione della memoria di lavoro. In questo caso perciò i valori attuali del DB vengono mantenuti anche in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo). • NON_RETAIN (= non a ritenzione) significa che il DB viene creato nell'area non a ritenzione della memoria di lavoro. In questo caso perciò i valori attuali del DB saranno indefiniti in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo). Se nella memoria di lavoro non esiste una suddivisione tra area a ritenzione e non, il parametro ATTRIB viene ignorato e quindi i valori del DB vengono mantenuti in seguito a qualunque passaggio RETE OFF/ON e a qualunque nuovo avviamento (a caldo). Interruzione della funzione La SFC 85 "CREA_DB" può essere interrotta soltanto da OB con priorità maggiore. Se d'altra parte in un OB con priorità maggiore viene richiamata una SFC 85 "CREA_DB", il richiamo viene respinto con il codice di errore W#16#8091. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il valore limite inferiore è il numero più basso nel campo dei numeri che si possono assegnare al blocco dati. UP_LIMIT INPUT WORD E, A, M, D, L, Konst. Il valore limite superiore è il numero più alto nel campo dei numeri che si possono assegnare al blocco dati. COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero dei byte di dati che si desidera riservare per il blocco dati. Qui è necessario indicare un numero pari di byte (max. 65534). ATTRIB INPUT BYTE E, A, M, D, L, cost. Attributi DB: • B#16#00: RETAIN • B#16#04: NON_RETAIN RET_VAL OUTPUT INT E, A, M, D, L Se nel corso dell'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero del blocco dati è quello del blocco dati creato. In caso di errore (bit 15 di RET_VAL impostato) in DB_NUMBER viene registrato il valore 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 3-23 Funzioni di copiatura e di blocco Informazioni di errore Codice errore (W#16#...) Desrcizione 0000 Nessun errore 8091 È stata richiamata la SFC 85 annidata. 8092 La funzione "Crea DB" non è momentaneamente eseguibile perché • la funzione "Comprimi la memoria utente" è attiva • la CPU software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è installato WinAC. 8094 Valore non consentito in ATTRIB 80A1 Errore nel numero del DB: 80A2 • Il numero è 0 • Il numero supera il numero di DB specifico della CPU • Limite inferiore > limite superiore Errore nella lunghezza del DB: • La lunghezza è 0 • La lunghezza è un numero dispari • La lunghezza è maggiore di quanto consentito dalla CPU 80B1 Non vi sono numeri di DB liberi 80B2 Spazio di memoria insufficiente 80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!) 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 3-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 4 SFC per il controllo del programma 4.1 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" Descrizione Con la SFC 43 "RE_TRIGR" (retrigger watchdog) si avvia di nuovo il controllo tempo del ciclo della CPU. Parametri La SFC 43 "RE_TRIGR" non possiede parametri. Informazioni di errore La SFC 43 "RE_TRIGR" non fornisce alcuna informazione di errore. 4.2 Commutazione della CPU in STOP con la SFC 46 "STP" Descrizione Con la SFC 46 "STP" (stop) si conduce la CPU nello stato di funzionamento STOP. Parametri La SFC 46 "STP" non possiede parametri. Informazioni di errore La SFC 46 "STP" non fornisce alcuna informazione di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 4-1 SFC per il controllo del programma 4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT" Descrizione Con la SFC 47 "WAIT" si possono programmare nel programma utente ritardi temporali o tempi di attesa. È possibile programmare tempi di attesa fino a 32767 ms. Il tempo di attesa più breve possibile dipende dalla particolare CPU e corrisponde al tempo di esecuzione della SFC 47. Interruzione della funzione La SFC 47 "WAIT" può essere interrotta da OB a più elevata priorità. Avvertenza (solo per S7-300, ma non per la CPU 318) Il tempo di ritardo programmato con la SFC 47 è un tempo minimo e si allunga del tempo di esecuzione della classe di priorità annidata così come del carico del sistema! Parametri Dichiarazione Tipo Area di memoria Descrizione WT INPUT E, A, M, D, L, cost. Il parametro WT contiene il tempo di ritardo in ms. INT Informazioni di errore La SFC 47 "WAIT" non fornisce alcuna informazione di errore. 4-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per il controllo del programma 4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" Descrizione Nel funzionamento multicomputing il richiamo della SFC 35 "MP_ALARM" attiva l'allarme di multicomputing. Di conseguenza su tutte le relative CPU avviene l'avvio sincronizzato dell'OB 60. Nel funzionamento ad un processore e nel funzionamento nel telaio di montaggio segmentato l'OB 60 viene avviato solo sulla CPU sulla quale è stata richiamata la SFC 35. Con il parametro d'ingresso JOB è possibile contrassegnare la causa per l'allarme di multicomputing desiderato. Questa identificazione di job viene trasmessa a tutte le CPU relative e può essere analizzata nell'OB 60 (vedi /234/). È possibile richiamare la SFC 35 "MP_ALM" in ogni punto del programma. Tuttavia, poiché il richiamo ha senso solo nello stato di funzionamento RUN, l'allarme di multicomputing viene soppresso nello stato di funzionamento AVVIAMENTO. Questo viene comunicato tramite un valore di funzione. Parametri Dichiarazione Tipo Area di memoria Descrizione JOB INPUT BYTE E, A, M, D, L, cost. Identificazione di job valori possibili: da 1 a 15 RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno riceve un codice di errore. Informazioni di errore Codice di errore Significato (W#16#...) 0000 Nessun errore. 8091 Il parametro di ingresso JOB contiene un valore non ammesso. 80A0 Sulla propria o su un'altra CPU l'esecuzione dell'OB 60 del precedente allarme di multicomputing non è ancora conclusa. 80A1 Errato stato di funzionamento (AVVIAMENTO invece di RUN). 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 4-3 SFC per il controllo del programma 4.5 Comando dell’operazione CiR con la SFC 104 "CiR" Con la SFC 104 "CiR" è possibile influenzare la riconfigurazione in RUN nel modo seguente: • L’operazione CiR può essere completamente disabilitata, impedendo il caricamento nella CPU di una configurazione modificata da PG. La disabilitazione rimane attiva fino alla sua eliminazione con la SFC 104 "CiR". • L’operazione CiR può essere disabilitata limitatamente a determinate condizioni impostando un limite massimo per il tempo di sincronizzazione CiR. In questo caso il caricamento nella CPU di una configurazione modificata da PG verrà ammesso solamente se l’analisi della configurazione modificata per mezzo della CPU ha una durata inferiore a questo limite massimo. • E’ possibile verificare se l’operazione CiR è abilitata o meno. Nel caso sia abilitata o lo sia solo limitatamente, nel parametro A_FT è specificato anche il limite massimo corrente del tempo di sincronizzazione CiR. Avvertenza Durante il tempo di sincronizzazione CiR le uscite sono congelate e gli ingressi non vengono analizzati. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Identificazione di job FRZ_TIME INPUT BYTE TIME E, A, M, D, L, cost. Valori possibili: • 0: funzione di informazione • 1: abilitazione operazione CiR (il limite massimo del tempo di sincronizzazione CiR viene impostato al valore di default) • 2: disabilitazione totale operazione CiR • 3: disabilitazione condizionata operazione CiR. Il limite massimo del tempo di sincronizzazione CiR si predefinisce in FRZ_TIME. "freeze time" Limite massimo del tempo di sincronizzazione CiR in ms Campo di valori ammesso: 200 ... 2500 ms (valore di default: 1000 ms) Avvertenza: FRZ_TIME rilevante solo in MODE=3. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore Con MODE=, in RET_VAL è specificato se l’operazione CiR è abilitata o meno. A_FT 4-4 OUTPUT TIME E, A, M, D, L Limite massimo corrente valido del tempo di sincronizzazione CiR Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per il controllo del programma Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Il job è stato eseguito senza errori (questo codice di errore è ammesso solamente con MODE =1 o MODE=2 o MODE=3. 0001 L’operazione CiR è abilitata (questo codice di errore è possibile solamente con MODE=0.) 0002 L’operazione CiR è completamente disabilitata (questo codice di errore è possibile solamente con MODE=0.) 0003 L’operazione CiR è disabilitata in alcune circostanze (questo codice di errore è possibile solamente con MODE=0.) 8001 La CPU non è pronta per un’operazione CiR. Utilizzare una CPU H nel sistema H (funzionamento singolo) oppure lavorare con una CPU standard in funzionamento multicomputing. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Esempio applicativo della SFC 104 Con la SFC 104 "CIR" è possibile impedire che vengano avviate operazioni CiR negli intervalli di tempo in cui è opportuna e necessaria la massima efficienza della CPU. A tal fine occorre installare la seguente parte di programma nella CPU prima dell’inizio dell’intervallo di tempo con intensa attività di processo: • Richiamo della SFC 104 con MODE = 2 (disabilitare completamente l’operazione CiR) Al termine dell’intervallo di tempo con intensa attività di processo installare nella CPU la seguente parte di programma: • Richiamo della SFC 104 con MODE = 1 (riabilitare l’operazione CiR) o MODE=3 (disabilitare limitatamente l’operazione CiR) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 4-5 SFC per il controllo del programma 4-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 5 SFC per la gestione dell'orologio 5.1 Impostazione dell'orologio con la SFC 0 "SET_CLK" Descrizione Con il richiamo della SFC 0 "SET_CLK" (set system clock) si impostano l'ora e la data dell'orologio della CPU. Esso inizia a girare a partire dall'ora e dalla data stabilite. Se l'orologio è un orologio master, la CPU avvia inoltre, con il richiamo della SFC 0, la sincronizzazione degli orologi. L'intervallo di sincronizzazione viene stabilito con STEP 7. Parametri Dichiarazione Tipo Area di memoria Descrizione PDT INPUT DT D, L All'ingresso PDT si introducono la data e l'ora che si vogliono impostare. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Data e ora La data e l'ora vengono introdotte come tipi DT. Un esempio per il 15 Gennaio 1995, ore 10:30 e 30 secondi è : DT#1995-01-15-10:30:30.L'introduzione dell'ora è possibile solo in singoli secondi. Il giorno della settimana viene calcolato della SFC "SET_CLK" in base alla data. E’possibile eseguire la formattazione del tipo di dati DT con la FC 3 "D_TOD_DT" (vedi Funzioni temporali FC1, FC 3, FC 6, FC 7, FC 8, FC 33, FC 34, FC 35, FC 40. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 8080 Errore nella data 8081 Errore nell'ora 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 5-1 SFC per la gestione dell'orologio 5.2 Lettura dell’orologio con la SFC 1 "READ_CLK" Descrizione Con la SFC 1 "READ_CLK" (read system clock) si legge l'orologio della CPU. In questo modo si ricavano la data e l'ora attuali. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Se avviene un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. CDT OUTPUT DT D, L All'uscita CDT vengono fornite la data e l'ora attuali. Informazioni di errore Vedere Analisi degli errori con il parametro di uscita RET_VAL 5-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione dell'orologio 5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" Definizione: Sincronizzazione di orologi slave Con "Sincronizzazione di orologi slave" si intende il trasferimento della data e dell'ora dall'orologio master di un segmento di bus (p. es. bus S7-400-K, MPI, bus dell'apparecchio S7) a tutti gli orologi slave di questo segmento di bus. Descrizione La SFC 48 "SNC_RTCB" (synchronize real time clocks) permette di sincronizzare tutti gli orologi slave presenti su un segmento di bus indipendentemente dall’intervallo di sincronizzazione parametrizzato. Presupposto per effettuare la sincronizzazione è che la SFC 48 venga richiamata su una CPU, il cui orologio in tempo reale è stato parametrizzato come orologio master per almeno un segmento di bus. La parametrizzazione è stata eseguita con STEP 7. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Se avviene un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. INT Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Durante la sincronizzazione non si è presentato nessun errore. 0001 L'orologio presente non è stato parametrizzato come orologio master per nessun segmento di bus. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 5-3 SFC per la gestione dell'orologio 5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" Descrizione La SFC 100 "SET_CLKS" permette di impostare l'orologio della CPU dell'utente e il relativo stato. Attenzione Impiegare la SFC 100 soltanto se nella CPU dell'utente l'orologio non viene sincronizzato. In caso contrario, a ogni sincronizzazione, viene ripreso lo stato dell'orologio master. Un valore predefinito tramite SFC viene così sovrascritto. Con il parametro MODE è possibile prestabilire se si desidera modificare solo l'orologio, solo lo stato dell'orologio oppure entrambi i valori. La tabella seguente fornisce le informazioni necessarie. MODE (B#16#...) 01 Significato Impostazione dell'orologio Il richiamo della SFC corrisponde a quello della SFC 0 "SET_CLK". I parametri di ingresso CORR, SUMMER e ANN_1 non vengono analizzati. 02 Impostazione dello stato dell'orologio Il parametro di ingresso PDT non viene analizzato. Dai restanti parametri di ingresso vengono formati i seguenti elementi dello stato dell'orologio: • Valore di correzione, incluso il segno +/- • Ora di preavviso • Indicazione dell'ora solare/legale La risoluzione dell'orologio viene impostata compatibilmente con quella della CPU. Il bit di mancanza di sincronismo dello stato dell'orologio viene indicato con FALSE. L'ora resta invariata. 03 Impostazione dell'orologio e del relativo stato Avvertenza Lo stato dell'orologio della propria CPU può essere determinato leggendo l'ID SZL W#16#0132 indice W#16#0008 con la SFC 51 "RDSYSST". 5-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione dell'orologio Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT BYTE E, A, M, D, L, cost. Tipo di funzionamento Possibili valori: B#16#01: impostazione orologio B#16#02: impostazione stato orologio B#16#03: impostazione orologio e stato PDT INPUT DT D, L Ora predefinita CORR INPUT INT E, A, M, D, L, cost. Valore di correzione (griglia di 0,5 h) Possibili valori: da -24 a +26 SUMMER INPUT BOOL E, A, M, D, L, cost. Indicazione ora solare/legale: ANN_1 RET_VAL INPUT OUTPUT BOOL INT • 0 = ora solare • 1 = ora legale E, A, M, D, L, cost. Ora di preavviso: E, A, M, D, L Codice di errore 1: con il successivo cambio dell'ora, l'ora legale viene commutata in ora solare e viceversa. Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Nessun errore 8080 MODE non compreso nel campo di valori ammesso 8081 CORR non compreso nel campo di valori ammesso (solo con MODE = B#16#02 o con MODE = B#16#03) 8082 PDT al di fuori del campo di valori ammesso: Data e/o ora non consentite 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 5-5 SFC per la gestione dell'orologio 5-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 6 SFC per la gestione del contatore del tempo di esercizio 6.1 Contatore del tempo di esercizio Introduzione Le CPU dispongono di un certo numero di contatori del tempo di esercizio (vedere "Dati tecnici delle CPU"). • Se la CPU è provvista di contatori del tempo di esercizio a 16 bit, con le SFC 2, 3 e 4 è possibile impostare, avviare, arrestare e leggere tali contatori. • Se la CPU è provvista di contatori del tempo di esercizio a 32 bit, con l’SFC 101 "RTM" è possibile impostare, avviare, arrestare e leggere tali contatori. Avvertenza Le SFC 2, 3 und 4 possono essere utilizzate anche per contatori del tempo di esercizio a 32 bit. In questo caso tuttavia i contatori del tempo di esercizio si comportano come contatori a 16 bit (campo di validità da 0 a 32767 ore). Vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B. Uso Un contatore può essere usato per le applicazioni più disparate: • calcolo della durata di esercizio della CPU • calcolo della durata di esercizio delle apparecchiature di controllo. Caratteristiche del contatore Con il comando di start il contatore comincia sempre a contare a partire dal valore raggiunto per ultimo. Se si intende cominciare il conteggio da un altro valore, tale valore deve essere esplicitamente assegnato (SFC 2 o SFC 101 con MODE=4). Se la CPU va in STOP o se l'utente arresta il contatore, la CPU "registra" il valore attuale. In caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo della CPU il contatore deve essere di nuovo avviato (SFC 3 o SFC 101 con MODE=1). Campo di validità • CPU con contatori del tempo di esercizio a 16 bit: da 0 a 32 767 ore • CPU con contatori del tempo di esercizio a 32 bit: da 0 a (2 elevato a 31esima potenza) -1 ora= 2 147 483 647 ore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 6-1 SFC per la gestione del contatore del tempo di esercizio 6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" Descrizione La SFC 101 "RTM" (run-time meter) permette di impostare, avviare, arrestare e leggere i contatori del tempo di esercizio a 32 bit. Per leggere tutti i contatori del tempo di esercizio a 32 bit della CPU, utilizzare la SFC 51 "RDSYSST" con SZL_ID=W#16#0132 e INDICE=W#16#000B (per i contatori del tempo di esercizio da 0 a 7) o INDICE=W#16#000C (per i contatori del tempo di esercizio da 8 a 15). (vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B). Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT BYTE E, A, M, D, L, cost. Numero del contatore del tempo di esercizio (valori possibili: da 0 a 15) MODE INPUT BYTE E, A, M, D, L, cost. Identificazione job: • 0: lettura (lo stato viene quindi registrato nel valore CQ corrente in CV). Se il contatore del tempo di esercizio funziona per oltre 1 ora (2 elevato alla 31esima potenza) si ferma nell’ultimo valore indicato ed emette la segnalazione di errore "Overflow". • 1: avvio (con l’ultimo valore di conteggio) • 2: arresto • 4: impostazione (sul valore indicato in PV) • 5: impostazione (sul valore indicato in PV) e avvio • 6: impostazione (sul valore indicato in PV) e arresto PV INPUT DINT E, A, M, D, L, Konst. Nuovo valore del contatore del tempo di esercizio RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione della funzione, il valore di ritorno contiene un codice di errore. CQ OUTPUT BOOL E, A, M, D, L Stato del contatore del tempo di esercizio (1: funzionamento) CV OUTPUT DINT E, A, M, D, L Valore corrente del contatore del tempo di esercizio 6-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione del contatore del tempo di esercizio Compatibilità con programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit I contatori del tempo di esercizio a 32 bit possono essere utilizzati anche con le SFC 2 "SET_RTM", 3 "CTRL_RTM" e 4 "READ_RTM". In questo caso tuttavia questi contatori si comportano come contatori a 16 bit (campo di validità da 0 a 32767 ore). Nell’estratto della lista parziale con ID SZL-W#16#0132 e indice W#16#0008 i contatori del tempo di esercizio da 0 a 7 vengono visualizzati come contatori a 16 bit. Questo consente di continuare ad utilizzare programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit, e l’estratto della lista parziale con ID SZL W#16#0132 e indice W#16#0008. Informazioni di errore Codice errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Numero del contatore del tempo di esercizio errato 8081 E’ stato trasferito un valore negativo al parametro PV. 8082 Overflow del contatore del tempo di esercizio 8091 Il parametro di ingresso MODE contiene un valore non ammesso. 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 6-3 SFC per la gestione del contatore del tempo di esercizio 6.3 Impostazione del contatore con la SFC 2 "SET_RTM" Descrizione Con la SFC 2 "SET_RTM" (set run-time meter) si setta un contatore della CPU ad un valore predefinito. Il numero dei contatori regolabili è specifico per la particolare CPU. Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore che si vuole regolare. Valori possibili: da 0 a 7. PV INPUT INT E, A, M, D, L, cost. L'ingresso PV contiene il valore di regolazione del contatore. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Numero di contatore errato 8081 Al parametro PV è stato dato un valore negativo 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 6-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione del contatore del tempo di esercizio 6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" Descrizione Con la SFC 3 "CTRL_RTM" (control run-time meter) si avvia e si arresta un contatore del tempo di esercizio. Parametri Dichiarazione Tipo Area di memoria Descrizione NR INPUT BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore, che si vuole avviare o fermare. Valori possibili: da 0 a 7. S INPUT BOOL E, A, M, D, L, cost. L'ingresso S avvia ovvero arresta il contatore. Si ponga lo stato del segnale a "0" quando si vuole fermare il contatore. Si ponga lo stato del segnale a "1", quando si vuole avviare il contatore. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Errato numero di contatore 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 6-5 SFC per la gestione del contatore del tempo di esercizio 6.5 Lettura del contatore con la SFC 4 "READ_RTM" Descrizione Con la SFC 4 "READ_RTM" (read run-time meter) si legge il valore di conteggio di un contatore. La SFC 4 fornisce come parametri di uscita il numero di conteggio attuale e lo stato del contatore, cioè "fermato" oppure "in conteggio". Se il contatore supera la soglia di conteggio di 32767 ore, esso si blocca alla cifra di 32767 e fornisce il messaggio di errore "Overflow". Parametri Dichiarazione Tipo Area di memoria Descrizione NR BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del contatore, che si vuole avviare o fermare. Valori possibili: da 0 a 7. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. CQ OUTPUT BOOL E, A, M, D, L L'uscita CQ indica se il contatore funziona o se è fermo. Lo stato di segnale "0" indica che il contatore è fermo. Il segnale "1" indica che il contatore sta contando. CV OUTPUT INT E, A, M, D, L L'uscita CV indica il valore di conteggio attuale. INPUT Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore 8080 Errato numero di contatore delle ore di esercizio 8081 Overflow del contatore delle ore di esercizio 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 6-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione del contatore del tempo di esercizio 6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" Descrizione Con la SFC 64 "TIME_TCK" (time tick) si legge il tempo di sistema della CPU. Il tempo di sistema è un "contatore di tempo", che conta ciclicamente tra 0 e un massimo di 2147483647 ms. Una volta superato questo valore massimo il tempo di sistema torna al valore 0. Il clock e la precisione del tempo di sistema sono di 10 ms nell'S7-300 e di 1 ms nell'S7-400. Il tempo di sistema viene influenzato unicamente dagli stati di funzionamento della CPU. Utilizzo Il tempo di sistema può per esempio essere utilizzato per misurare la durata di operazioni mediante la differenza dei risultati di due esecuzioni della SFC 64. Tempo di sistema e stati di funzionamento Stato di funzionamento Il tempo di sistema ... Avviamento ... viene continuamente attualizzato RUN STOP ... viene fermato e mantiene il valore attuale Riavviamento ... riparte con il valore che era stato salvato alla transizione in STOP. (non per S7-300 e S7-400) Nuovo avviamento (avviamento a ... viene cancellato e riparte da "0". caldo) Avviamento a freddo Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Il parametro RET_VAL contiene il tempo di sistema 31 letto, area compresa tra 0 e 2 -1 ms. TIME Informazioni di errore La SFC 64 "TIME_TCK" non fornisce alcuna informazione di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 6-7 SFC per la gestione del contatore del tempo di esercizio 6-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7 SFC/SFB per il trasferimento di set di dati 7.1 Scrittura e lettura di set di dati Principio Esistono unità che dispongono di un campo dati di sistema, al quale è possibile accedere solo in scrittura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 fino a 240 al massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente). Inoltre le unità possono possedere anche un campo dati di sistema, al quale è possibile accedere solo in lettura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 a 240 al massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente). Avvertenza Esistono unità che dispongono di entrambi i campi dati di sistema. Si tratta di campi a diversa struttura fisica, che hanno in comune solo la suddivisione logica in set di dati. Campo dati di sistema che può essere solo scritto La tabella seguente mostra la struttura del campo dati di sistema che può essere solo scritto. Essa indica la dimensione massima di un singolo set di dati e le SFC con le quali possono essere scritti i set di dati. Numero del Contenuto set di dati Dimensione Restrizione Possibilità di scrittura con SFC 0 con S7-300: 56 "WR_DPARM" da 2 a 14 byte possibilità scrittura solo con S7-400 con S7-300: - 55 "WR_PARM" 1 da 2 a 127 Parametri Parametri Dati utente 57 "PARM_MOD" da 2 a 14 byte 56 "WR_DPARM" (DS0 e DS1 hanno insieme esattamente 16 byte) 57 "PARM_MOD" ognuno v240 byte - 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" da 128 a 240 Parametri ognuno v240 byte - 55 "WR_PARM" 56 "WR_DPARM" 57 "PARM_MOD" 58 "WR_REC" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-1 SFC/SFB per il trasferimento di set di dati Campo dati di sistema che può essere solo letto La tabella seguente mostra la struttura del campo dati di sistema. Nella tabella seguente sono indicate la dimensione massima di un singolo set di dati e le SFC con le quali possono essere letti i set di dati. Numero del set di dati Contenuto Dimensione 0 Dati di diagnostica specifici dell'unità (determinati allo stesso modo per tutti i sistemi) 4 byte Dati di diagnostica specifici del canale (incl. set di dati 0) con S7-300: 16 byte 1 Possibilità di lettura con SFC 51 "RDSYSST" (SZL_ID 00B1H) 59 "RD_REC" 51 "RDSYSST" con S7-400: da 4 a 220 byte (SZL_ID 00B2H e 00B3H) 59 "RD_REC" da 2 a 127 Dati utente ognuno v240 byte 59 "RD_REC" da 128 a 240 ognuno v240 byte 59 "RD_REC" Dati di diagnostica Risorse del sistema Se vengono avviate brevemente in successione diverse trasmissioni asincrone di set di dati, è garantito che tutti i job vengano eseguiti e non abbia luogo un influenzamento reciproco. Se viene raggiunto il limite delle risorse del sistema, viene data la relativa comunicazione nel RET_VAL. Il caso di errore temporaneo può essere eliminato con una ripetizione del job. Il numero massimo di job attivi "simultaneamente" di un tipo SFC dipende dalla CPU. Quest'informazione può essere dedotta da /70/ e /101/. 7-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati 7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" Descrizione Con la SFC 54 "RD_DPARM" (read defined parameter) il set di dati con il numero RECNUM dell'unità indirizzata viene trasferito dai dati del sistema progettati con STEP 7. Il set di dati letto viene introdotto nel campo di destinazione indirizzato dal parametro RECORD. Parametri Dichiarazione Tipo Area di memoria IOID INPUT E, A, M, D, L, cost. BYTE Descrizione Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) RET_VAL OUTPUT INT E, A, M, D, L Lunghezza del set di dati letto in byte se il set di dati letto rientra nel campo di destinazione e non è comparso alcun errore durante il trasferimento. Se durante l'elaborazione della funzione compare un errore, il valore di ritorno contiene un codice di errore. RECORD OUTPUT ANY E, A, M, D, L Campo di destinazione per il set di dati letto. È ammesso solo il tipo di dati BYTE. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-3 SFC/SFB per il trasferimento di set di dati 7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" Descrizione Con la SFC 102 "RD_DPARA" è possibile leggere il set di dati con il numero RECNUM di un'unità scelta dai dati del sistema progettati con STEP 7. Il set di dati letto viene registrato nell'area di destinazione aperta con il parametro RECORD. Procedimento La SFC 102 "RD_DPARA" è una SFC che lavora in modo asincrono, ciò significa che l'elaborazione comprende più richiami della SFC. Il job viene avviato richiamando la SFC 102 con REQ = 1. Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Qualunque indirizzo dell'unità. In caso di unità delle uscite occorre impostare il bit con il valore maggiore RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione compare un errore, il valore di ritorno contiene un codice di errore. Se durante la trasmissione non si è verificato alcun errore, vanno distinti i seguenti casi: • RET_VAL contiene la lunghezza in byte del set di dati effettivamente letto, se l'area di destinazione è più grande del set letto. • RET_VAL contiene il valore 0, se il set di dati letto è lungo come l'area di destinazione. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: il job non è ancora concluso. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. È consentito solo il tipo di dati BYTE. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD" 7-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati 7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" Descrizione Con la SFC 55 "WR_PARM" (write parameter) si trasferisce all'unità indirizzata il set di dati RECORD. I parametri che vengono trasferiti all'unità non sovrascrivono i parametri generati con STEP 7. Presupposti Il set di dati da trasferire non può essere statico. (L'informazione relativa a quali set di dati di un'unità sono statici può essere ricavata da /71/, /101/). Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati RECORD INPUT ANY E, A, M, D, L Set di dati RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Parametro di ingresso RECORD I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il trasferimento del set di dati dura più a lungo di un richiamo, ai richiami successivi della SFC (per lo stesso job) il contenuto del parametro RECORD non è più rilevante. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD" Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-5 SFC/SFB per il trasferimento di set di dati 7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" Descrizione Con la SFC56 "WR_DPARM" (write default parameter) viene trasferito il set di dati con il numero RECNUM dai dati di progettazione generati con STEP 7 all'unità indirizzata. In tal caso non ha importanza se i set di dati sono statici o dinamici. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Informazioni di errore Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD". 7-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati 7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" Descrizione Con la SFC 57 "PARM_MOD" (parametrize module) vengono trasferiti tutti i set di dati di un'unità, che sono stati progettati con STEP 7, all'unità. In tal caso non ha importanza se i set di dati sono statici o dinamici. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ= 1: Richiesta di scrittura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. Informazioni di errore Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) si devono distinguere due casi: • Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx): con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno cioè richiamando nuovamente la SFC (se necessario più volte). Esempio di errore temporaneo: le apparecchiature necessarie sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Dx): con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo richiamo della SFC è possibile solo quando l'errore è stato eliminato. Esempio di errore permanente: la lunghezza del set di dati da trasferire è errata (W#16#80B1). Avvertenza Se si trasmettono set di dati con una delle SFC 55, 56 o 57 a uno slave DPV1 e quest'ultimo funziona in modo DPV1, il master DP analizza l'informazione di errore ricevuta dallo slave nel modo seguente: Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-7 SFC/SFB per il trasferimento di set di dati Informazioni di errore per le SFC 54 "RD_DPARM", SFC 55 "WR_PARM", SFC 56 "WR_DPARM" e SFC 57 "PARM_MOD" Codice di errore (W#16#...) Spiegazione Restrizione 0000 Nessun errore - 7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; BUSY ha il valore 0. - 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. Periferia decentrata 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. Periferia decentrata 8090 Indirizzo di base logico indicato non valido: non è presente nessuna assegnazione in SDB1/SDB2x, oppure non è un indirizzo di base. - 8092 Nel riferimento ANY è indicato un tipo diverso da BYTE. Solo con S7-400 per la SFC54 "RD_DPARM" e la SFC 55 "WR_PARM" 8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400 con S7-400 e unità DP S7 con S7-300 e S7-400). - 80A1 Conferma negativa alla trasmissione del set di dati all'unità (unità sfilata durante la trasmissione o unità difettosa) 1) 80A2 Errore di protocollo DP con Layer 2, eventualmente errore dell'interfaccia/dell'hardware nello slave DP Periferia decentrata 1) 80A3 Errore di protocollo DP con user interface/user Periferia decentrata 80A4 Comunicazione nel bus K disturbata Errore tra CPU e collegamento DP esterno 1) 80B0 SFC per tipo unità non possibile, oppure l'unità non conosce il set di dati. 1) 80B1 La lunghezza del set di dati da trasferire è errata. - Con SFC54 "RD_DPARM": la lunghezza del campo di destinazione indirizzato da RECORD non è sufficiente. 80B2 Il posto connettore progettato non è occupato. 1) 80B3 Il tipo reale di unità non è uguale al tipo nominale di unità in SDB1 1) 80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di dati non sono stati ancora rielaborati dall'unità. 1) 80C2 L'unità elabora momentaneamente il numero massimo possibile di job per una CPU. 1) 80C3 Le apparecchiature necessarie (memoria ecc.) sono momentaneamente occupate. 1) Errore interno temporaneo. Impossibile eseguire il job. 1) 80C4 Ripetere il job. Se si verifica spesso questo errore verificare che nella struttura non vi siano fonti di disturbo. 80C5 Periferia decentrata non disponibile o disattivata. Periferia decentrata 1) 80C6 Il trasferimento del set di dati è stato interrotto a causa di una interruzione della classe di priorità (riavviamento oppure sfondo) Periferia decentrata 1) 80D0 Nel rispettivo SDP non è presente nessuna registrazione per l'unità. - 7-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati Codice di errore (W#16#...) Spiegazione 80D1 Il numero del set di dati non è progettato nel rispettivo SDB per l'unità (i numeri del set di dati w 241 vengono respinti da STEP 7.). 80D2 L'unità non può essere parametrizzata in base all'identificazione dell'unità. 80D3 Allo SDB non si può accedere, poiché non é presente. - 80D4 Errore di struttura SDB: il puntatore interno a SDB indica all'esterno di SDB solo con S7-300 80D5 Il set di dati è statico. solo con SFC 55 "WR_PARM" 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 1) Restrizione - Non avviene con la SFC 54 "RD_DPARM" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-9 SFC/SFB per il trasferimento di set di dati 7.7 Scrittura di set di dati con la SFC 58 "WR_REC" Descrizione Con la SFC 58 "WR_REC" (write record) si trasferisce il set di dati RECORD all'unità indirizzata. L'operazione di scrittura viene avviata occupando il parametro di ingresso REQ con 1 al richiamo della SFC 58. Se l'operazione di scrittura poteva essere eseguita immediatamente, la SFC fornisce il valore di ritorno 0 sul parametro di uscita BUSY. Se BUSY ha il VALORE 1, l'operazione di scrittura non è ancora terminata. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è consentito scrivere set di dati nelle unità degli ingressi e delle uscite con la SFC 58. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura. IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 2 a 240) RECORD INPUT ANY E, A, M, D, L È ammesso solo il tipo di dati BYTE. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è ancora terminata. 7-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati Parametro di ingresso RECORD I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il trasferimento del set di dati dura più a lungo di un richiamo, il contenuto del parametro RECORD non è più rilevante durante i successivi richiami della SFC (per lo stesso job). Informazioni di errore Vedere Lettura di set di dati con la SFC 59 "RD_REC" Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-11 SFC/SFB per il trasferimento di set di dati 7.8 Lettura di set di dati con la SFC 59 "RD_REC" Descrizione Con la SFC 59 "RD_REC" (read record) si legge il set di dati con il numero RECNUM dall'unità indirizzata. L'operazione di lettura viene avviata occupando il parametro di ingresso REQ con 1 al richiamo della SFC 59. Se è stato possibile eseguire subito l'operazione di lettura, la SFC fornisce sul parametro di uscita BUSY il valore 0. Quando BUSY ha valore 1 l'operazione di lettura non è ancora terminata (vedi il capitolo 2.2). Il set di dati letto viene registrato nel campo di destinazione aperto dal RECORD dopo un trasferimento dati senza errori. Se il set di dati, il cui numero è maggiore di uno, viene letto da una FM o da un CP acquistati prima del febbraio 1997 (di seguito indicati come "unità meno recenti"), la SFC 59 si comporterà in modo differente rispetto a come si comporta in un'unità nuova. Questo caso particolare viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 precedenti con numero DS > 1". Avvertenza Se si legge un set di dati, il cui numero è maggiore di uno, da una FM o da un altro CP che sono stati acquistati prima del febbraio 1997, (di seguito definite "unità meno recenti"), la SFC 59 si comporta in modo diverso rispetto ad una nuova unità. Questo caso particolare viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1". Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è consentito leggere set di dati dalle unità degli ingressi e delle uscite con la SFC 59. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di lettura IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. In caso di indirizzi uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità mista si deve indicare l'indirizzo minore tra i due indirizzi. RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a 240) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il valore di ritorno contiene un codice di errore. Inoltre: lunghezza del set di dati realmente trasferiti in byte (valori possibili: da +1 a +240), se il campo di destinazione è maggiore del set di dati trasferiti e non si è presentato nessun errore durante il trasferimento. 7-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati Parametri Dichiarazione Tipo Area di memoria Descrizione BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di lettura non è ancora terminata. RECORD OUTPUT ANY E, A, M, D, L Campo di destinazione per il set di dati letto. Durante l'elaborazione asincrona della SFC 59 si deve fare attenzione che i parametri attuali di RECORD abbiano la stessa informazione della lunghezza in ogni richiamo. È ammesso solo il tipo di dati BYTE. Parametro di uscita RET_VAL • Se durante l'elaborazione della funzione è avvenuto un errore, il valore di ritorno conterrà un codice di errore. • Se durante il trasferimento non è avvenuto alcun errore, RET_VAL conterrà: 0, se l'intero campo di destinazione è stato riempito con dati provenienti dal set di dati selezionato (il set di dati può anche essere incompleto) la lunghezza del set di dati realmente trasferiti in byte (valori possibili: da +1 a + 240), se il campo di destinazione è maggiore del set di dati trasferito. Avvertenza (solo per S7-400) Se si presenta l'errore generale W#16#8745, ciò indica solo che durante l'operazione di scrittura sull'immagine di processo l'accesso ad almeno un byte del campo di destinazione era inibito. Il set di dati è stato letto regolarmente dall'unità e scritto nell'area di memoria I/O. Scelta adatta di RECORD Avvertenza Se si vuole essere certi che venga sempre letto tutto il set di dati, scegliere un campo di destinazione con lunghezza di 241 byte. Se il trasferimento dei dati avviene in modo corretto in RET_VAL sarà presente la reale lunghezza del set di dati. Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1 Se si desidera leggere un set di dati con la SFC 59 "RD_REC" da una FM S7-300 o da un CP S7-300 non aggiornati, il cui numero è maggiore di uno, bisogna osservare quanto segue: • Se il campo di destinazione è maggiore della lunghezza reale del set di dati desiderato, non viene registrato alcun dato nel RECORD. RET_VAL viene indicato con W#16#80B1. • Se il campo di destinazione è minore della lunghezza reale del set di dati desiderato, la CPU legge tanti byte, a partire dall'inizio del set di dati, quanti sono indicati nell'indicazione della lunghezza di RECORD e li registra in RECORD. RET_VAL viene indicato con 0. • Se l'indicazione della lunghezza del RECORD è uguale alla lunghezza reale del set di dati desiderato, la CPU legge il set di dati desiderato e lo registra in RECORD. RET_VAL viene indicato con 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-13 SFC/SFB per il trasferimento di set di dati Informazioni di errore Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) della tabella seguente si devono distinguere due casi: • Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx): con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno richiamando nuovamente la SFC (se necessario più volte). Esempio di errore temporaneo: le apparecchiature necessarie (memoria, ecc.) sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Bx): con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo richiamo della SFC è possibile solo quando l'errore è stato risolto. Esempio di errore permanente: l'indicazione della lunghezza in RECORD è errata (W#16#80B1). Avvertenza Se si trasmettono set di dati con la SFC 58 "WR_REC" a uno slave DPV1 o si leggono set di dati con la SFC 59 "RD_REC" da uno slave DPV1 e quest'ultimo funziona in modo DPV1, il master DP analizza l'informazione di errore ricevuta dallo slave nel modo seguente: Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave. Per informazioni sulle informazioni di errore provenienti dagli slave DPV1 consultare Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Informazioni di errore per le SFC 58 "WR_REC" e SFC 59 "RD_REC" Codice di errore (W#16#...) Spiegazione Restrizione 0000 Nessun errore - 7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; BUSY ha il valore 0. - 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. Periferia decentrata 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. Periferia decentrata 8090 Indirizzo di base logico indicato non valido: non è presente nessuna assegnazione in SDB1/SDB2x, oppure non è un indirizzo di base. - 8092 Nel riferimento ANY è0 indicato un tipo diverso da BYTE. Solo con S7-400 8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400 con S7-400 e unità DP S7 con S7-300 e S7-400). - 80A0 Conferma negativa alla lettura dell'unità (unità sfilata durante la lettura o unità difettosa) solo con SFC59 "RD_REC" 80A1 Conferma negativa durante la scrittura all'unità (unità sfilata durante la scrittura o unità difettosa) solo con SFC58 "WR_REC" 80A2 • Periferia decentrata Errore di protocollo DP con Layerr2 Nell'ET200S la lettura del set di dati in modalità PV0 non è possibille 80A3 7-14 Errore di protocollo DP con user interface/user Periferia decentrata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati Codice di errore (W#16#...) Spiegazione Restrizione 80A4 Errore di protocollo bus K con Layer 2 Errore tra CPU e collegamento DP esterno 80B0 SFC per tipo unità non possibile - L'unità non conosce il set di dati. Numero set di dati w 241 non è ammesso. Con SFC58 "WR_REC" i set di dati 0 e 1 non sono ammessi. 80B1 L'indicazione della lunghezza in parametri RECORD è errata. Con SFC 58 "WR_REC": lunghezza errata Con SFC 59 "RD_REC" (possibile solo nell'utilizzo di FM S7-300 e CP S7300 non aggiornati): Indicazione lunghezza DS Con SFC 13 "DPNRM_DG": Indicazione < lunghezza DS 80B2 Il posto connettore progettato non è occupato. - 80B3 Tipo reale unità diverso da tipo nominale unità nel SDB1 - 80C0 Con SFC 59 "RD_REC": l'unità porta il set di dati, ma non sono ancora presenti dati di lettura. Con SFC 59 "RD_REC" o con SFC 13 "DPNRM_DG" Con SFC 13 "DPNRM_DG": non sono presenti dati di diagnostica. 80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di dati non sono stati ancora rielaborati dall'unità. - 80C2 L'unità elabora momentaneamente il numero massimo possibile di job per una CPU. - 80C3 Le apparecchiature necessarie (memoria ecc.) sono momentaneamente occupate. - Codice di errore (W#16#...) Spiegazione Restrizione 80C4 Errore interno temporaneo. Impossibile eseguire il job. - Ripetere il job. Se si verifica spesso questo errore verificare che nella struttura non vi siano fonti di disturbo. 80C5 Periferia decentrata non disponibile Periferia decentrata 80C6 Il trasferimento del set di dati è stato interrotto a causa di un'interruzione della classe di priorità (riavviamento oppure sfondo) Periferia decentrata 8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-15 SFC/SFB per il trasferimento di set di dati 7.9 Altre informazioni di errore delle SFC 55 fino a 59 Solo per S7-400 Nell'S7-400 le SFC 55 fino a 59 possono fornire anche l'informazione di errore W#16#80FX. Si è presentato quindi un errore che non può essere localizzato. In questo caso è necessario rivolgersi al servizio di manutenzione. 7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" Descrizione L'SFB 81 "RD_DPAR" ("read device parameter") consente di leggere, dai dati di sistema progettati con STEP 7, il set di dati con il numero INDEX del componente indirizzato. Si può trattare di un'unità inserita a livello centrale o di un componente impiegato a livello decentrato (PROFIBUS DP o PROFINET IO). Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito senza errori nell'area di destinazione RECORD. In questo caso al parametro di uscita LEN viene assegnata la lunghezza in byte dei dati letti. Un eventuale errore che si dovesse verificare nel corso del trasferimento del set di dati viene visualizzato con il parametro di uscita ERROR. In questo caso il parametro di uscita STATUS contiene l'informazione di errore. Funzionamento L'SFB 81 "RD_DPAR" è un SFB con funzionamento asincrono, vale a dire che l'elaborazione si estende su diversi richiami di SFB. Il trasferimento del set di dati si avvia richiamando l'SFB 81 con REQ = 1. Con il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS viene visualizzato lo stato dell'ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Il trasferimento del set di dati può considerarsi concluso dopo che il parametro di uscita BUSY ha assunto il valore FALSE. 7-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC/SFB per il trasferimento di set di dati Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità Indicare nel bit 15 se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati VALID OUTPUT BOOL E, A, M, D, L Il nuovo set di dati è stato ricevuto ed è valido BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'ordine non è ancora concluso ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore nel corso della lettura STATUS OUTPUT DWORD E, A, M, D, L Identificazione del richiamo (byte 2 e 3) o codice di errore LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di dati letto RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati letto Informazioni di errore Vedere anche Parametrizzazione di unità con la SFC 57 "PARM_MOD". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 7-17 SFC/SFB per il trasferimento di set di dati 7-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8 SFB DPV1 secondo PNO AK 1131 8.1 Lettura di un set di dati con l'SFB 52 "RDREC" Avvertenza L'interfaccia dell'SFB 52 "RDREC" è identica a quella dell'FB "RDREC" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione Con l'SFB 52 "RDREC" (read record) si può leggere il set di dati con il numero INDEX del componente indirizzato tramite ID (unità o modulo) di uno slave DP/PROFINET IO Device. Con MLEN è possibile predefinire il numero massimo di byte da leggere. Per questo motivo è preferibile scegliere un'area di destinazione RECORD di almeno "MLEN" byte. Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito nell'area di destinazione RECORD con successo. In questo caso, il parametro di uscita LEN avrà la lunghezza dei dati letti in byte. Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è possibile leggere dalle unità degli ingressi e delle uscite set di dati con l'SFB 52. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-1 SFB DPV1 secondo PNO AK 1131 Procedimento L'SFB 52 "RDREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 52 con REQ = 1. Nel parametro di uscita BUSY e nei byte 2 e 3 del parametro di uscita STATUS viene visualizzato lo stato dell’ordine. In questo caso, i byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore FALSE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del trasferimento del set di dati. ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave DP/PROFINET IO (unità o modulo) Se si tratta di un'unità delle uscite occorre impostare il bit 15 (p. es. con l'indirizzo 5: ID:=DW#16#8005). Se l'unità è mista, indicare l'indirizzo minore dei due. INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati. MLEN INPUT INT E, A, M, D, L, cost. Lunghezza max dell'informazione del set di dati da leggere in byte VALID OUTPUT BOOL E, A, M, D, L Un nuovo set di dati è stato ricevuto ed è valido BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è ancora conclusa. ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la lettura si è verificato un errore. STATUS OUTPUT DWORD E, A, M, D, L Identificazione del richiamo (byte 2 e 3) o codice di errore. LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di dati letta. RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. Avvertenza Impiegando l'SFB 52 per la lettura di un set di dati in PROFINET IO, i valori negativi nei parametri INDEX, MLEN e LEN vengono interpretati come numeri interi senza segno a 16 bit. Informazioni di errore Vedere Allarme ricevuto con l'SFB 54 "RALRM" 8-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 8.2 Scrittura di un set di dati con l'SFB 53 "WRREC" Avvertenza L'interfaccia dell'SFB 53 "WRREC" è identica a quella dell'FB "WRREC" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione Con l'SFB 53 "WRREC" (write record) si può trasmettere il set di dati RECORD al componente indirizzato tramite ID (unità o modulo) di uno slave DP/PROFINET IO Device. Con LEN è possibile predefinire la lunghezza del set di dati da trasferire in byte. Per questo motivo è preferibile scegliere un'area sorgente RECORD di almeno "LEN" byte. Il valore TRUE del parametro di uscita DONE indica che il set di dati è stato trasferito con successo. Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore. Avvertenza Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del master DP è impostata su "Compatibile con S7", nel programma utente non è possibile scrivere nelle unità degli ingressi e delle uscite set di dati con l'SFB 53. Il master DP in questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3). Rimedio: reimpostare l'interfaccia del master DP su "DPV1". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-3 SFB DPV1 secondo PNO AK 1131 Procedimento L'SFB 53 "WRREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 53 con REQ = 1. Nel parametro di uscita BUSY e nei byte 2 e 3 del parametro di uscita STATUS viene visualizzato lo stato dell’ordine. In questo caso, i byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Assicurarsi di aver assegnato al parametro attuale RECORD lo stesso valore per tutti gli ordini appartenenti allo stesso ordine dell'SFB 53. Lo stesso vale per i parametri attuali di LEN. Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore FALSE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del trasferimento del set di dati. ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave DP/PROFINET IO (unità o modulo) Se si tratta di un'unità delle uscite occorre impostare il bit 15 (p. es. con l'indirizzo 5: ID:=DW#16#8005). Se l'unità è mista, occorre indicare l'indirizzo minore dei due. INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati LEN INPUT INT E, A, M, D, L, cost. Lunghezza max del set di dati da trasferire in byte DONE OUTPUT BOOL E, A, M, D, L Il set di dati è stato trasferito BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura non è ancora conclusa. ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la scrittura si è verificato un errore. STATUS OUTPUT DWORD E, A, M, D, L Identificazione del richiamo (byte 2 e 3) o codice di errore RECORD IN_OUT ANY E, A, M, D, L Set di dati Avvertenza Impiegando l'SFB 53 per la scrittura di un set di dati in PROFINET IO, i valori negativi nei parametri INDEX e LEN vengono interpretati come numeri interi senza segno a 16 bit. Informazioni di errore Vedere Allarme ricevuto con l'SFB 54 "RALRM" 8-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 8.3 Ricezione di un allarme con l'SFB 54 "RALRM" Avvertenza L'interfaccia dell'SFB 54 "RALRM" è identica a quella dell'FB "RALRM" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione L'SFB "RALRM" riceve un allarme con la relativa informazione da un'unità di periferia (configurazione centrale) o da un componente di uno slave DP o di un PROFINET IO Device e mette questa informazione a disposizione dei suoi parametri di uscita. L'informazione nei parametri di uscita contiene sia le informazioni di avvio dell'OB richiamato che quelle della sorgente dell'allarme. Richiamare l'SFB 54 soltanto all'interno dell'OB di allarme avviato dal sistema operativo della CPU in base all'allarme della periferia da verificare. Avvertenza Richiamando l'SFB 54 "RALRM" in un OB il cui evento di avvio non è un allarme della periferia, l'SFB fornisce, nelle uscite, proporzionalmente meno informazioni. Assicurarsi che, con il richiamo dell'SFB 54 "RALRM", vengano utilizzati diversi DB di istanza in diversi OB. Se si analizzano i dati risultanti da un richiamo dell'SFB 54 al di fuori dell'OB di allarme corrispondente, è persino necessario utilizzare un DB di istanza per ciascun evento di avvio di un OB. Richiamo dell'SFB 54 L'SFB 54 "RALRM" può essere richiamato in tre diversi tipi di funzionamento (MODE), che sono elencati nella tabella seguente. MODE L'SFB 54 ... 0 ... indica il componente che ha attivato l'allarme nel parametro di uscita ID e scrive nel parametro di uscita NEW il valore TRUE. 1 ... scrive tutti i parametri di uscita a prescindere dal componente che ha attivato l'allarme. 2 ... controlla che il componente indicato nel parametro di ingresso F_ID non abbia attivato l'allarme. • In caso negativo, a NEW viene assegnato il valore FALSE • In caso positivo, a NEW viene assegnato il valore TRUE, mentre vengono scritti tutti gli altri parametri di uscita Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-5 SFB DPV1 secondo PNO AK 1131 Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Tipo di funzionamento F_ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico iniziale del componente (unità o modulo) che dovrebbe ricevere gli allarmi MLEN INPUT INT E, A, M, D, L, cost. Lunghezza massima dell'informazione di allarme da ricevere in byte NEW OUTPUT BOOL E, A, M, D, L È stato ricevuto un nuovo allarme. STATUS OUTPUT DWORD E, A, M, D, L Codice di errore dell'SFB o del master DP ID OUTPUT DWORD E, A, M, D, L Indirizzo logico iniziale del componente (unità o modulo) che ha ricevuto un allarme Il bit 15 contiene l'identificazione E/A: 0 in caso di indirizzo di ingresso, 1 in caso di indirizzo di uscita. LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione di allarme ricevuta TINFO IN_OUT ANY E, A, M, D, L (task information) Area di destinazione per l'informazione di avvio dell'OB e informazione dell'amministrazione AINFO IN_OUT ANY E, A, M, D, L (alarm information) Area di destinazione per informazione dell'intestazione e informazione supplementare di allarme Per AINFO va prevista una lunghezza di almeno 'MLEN' byte. Attenzione Se l'area di destinazione TINFO o AINFO scelta è troppo piccola, l'SFB 54 non è in grado di registrare l'intera informazione. 8-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Struttura dei dati dell'area di destinazione TINFO Byte Significato 0 … 19 Informazione di avvio dell'OB nel quale attualmente è stato richiamato l'SFB 54 20 e 21 Indirizzo, descrizione dettagliata v. oltre 22 … 31 Informazione dell'amministrazione, descrizione dettagliata v. oltre Struttura dell'indirizzo (byte 20 e 21) L'indirizzo comprende: • Se la configurazione è centrale, il numero di telaio dell'unità (0-31). • Se la configurazione è decentrata con PROFIBUS DP • - L'ID del sistema master DP (1-31) - Il numero della stazione (0-127). Se la configurazione è decentrata con PROFINET IO - Le ultime due cifre dell'ID del sistema PROFINET IO (0-15); per completare l'ID del sistema PROFINET IO occorre aggiungere 100 (decimale) - Il numero della stazione (0-2047). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-7 SFB DPV1 secondo PNO AK 1131 Struttura dell'informazione dell'amministrazione – byte da 20 a 25 N. byte TINFO Tipo di dati Significato 20 BYTE centrale: 0 decentrato: PROFIBUS DP: ID sistema master DP (valori possibili: 1 ... 31) PROFINET IO: v. sopra 21 BYTE centrale: Numero di telaio di montaggio (valori possibili: 0 ... 31) decentrato: Numero della stazione (valori possibili: 0 ... 127) PROFINET IO: v. sopra 22 23 BYTE BYTE centrale: 0 decentrato: • Bit 0 ... 3: Tipo di slave • Bit 4 ... 7: Tipo di profilo Bit 0 ... 3: Tipo di informazione di allarme centrale: • BYTE centrale: DP DPS7 DPS7 V1 DPV1 riservato PROFINET IO riservato riservato 0 decentrato: • 24 0000: 0001: 0010: 0011: 0100: 0111: 1000: da 1001: Bit 4 ... 7: Versione della struttura 0000: Trasparente, per PROFINET IO è sempre così (l'allarme proviene da un'unità decentrata progettata) 0001: Sostituto (l'allarme proviene da uno slave non DPV1/da un dispositivo non IO Device o da un posto connettore non progettato) 0010: Creato (allarme generato nella CPU) ab 0011: riservato 0000: Iniziale da 0001: riservato 0 decentrato: Flag dell'interfaccia master PROFIBUS DP/PROFINET IO Controller 8-8 • Bit 0 = 0: Allarme proveniente da un'interfaccia integrata (PROFINET IO o PROFIBUS DP) • Bit 0 = 1: Allarme proveniente da un'interfaccia esterna (PROFINET IO p PROFIBUS DP) • Bit 1 ... 7: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 N. byte TINFO Tipo di dati Significato 25 BYTE centrale: 0 decentrato: Flag dell'interfaccia slave PROFIBUS DP • Bit 0: EXT_DIAG_FLAG dal telegramma di diagnostica o 0 se questo bit non è disponibile nell'allarme. • Bit 1 ... 7: riservato Il bit è 1 se lo slave DP è guasto. Flag dell'interfaccia PROFINET IO Controller • Bit 0: ARDiagnosisstate oppure 0 se nell'allarme non è disponibile alcuna informazione. • Bit 1 ... 7: riservato Il bit è 1 se l'IO Device è guasto. Struttura dell'informazione dell'amministrazione - byte da 26 a 27 con PROFIBUS configurazione centrale N. byte TINFO 26 e 27 Tipo di dati Significato WORD centrale: 0 WORD decentrato: Numero ID PROFIBUS come identificazione univoca dello slave PROFIBUS DP Qui si conclude l'informazione dell'amministrazione dell'area di destinazione TINFO con PROFIBUS e configurazione centrale. Struttura dell'informazione dell'amministrazione - byte da 26 a 31 con PROFINET IO N. byte TINFO Tipo di dati Significato 26 e 27 WORD decentrato: Numero ID PROFINET IO Device come identificazione univoca del PROFINET IO Device 28 e29 WORD decentrato: Identificativo produttore 30 e 31 WORD decentrato: Numero ID dell'istanza Struttura dei dati dell'area di destinazione AINFO con allarmi PROFIBUS DP o periferia centrale I dati relativi a PROFINET IO sono indicati oltre. Byte Significato 0 ... 3 Informazione dell'intestazione, per la descrizione dettagliata v. oltre 4 ... 199 Informazione supplementare dell'allarme: dati del rispettivo allarme: centrale: ARRAY[0] ... ARRAY[195] decentrato: ARRAY[0] ... ARRAY[59] Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-9 SFB DPV1 secondo PNO AK 1131 Struttura dell'informazione dell'intestazione con allarmi PROFIBUS DP o periferia centrale Byte Tipo di dati Significato 0 BYTE Lunghezza in byte dell'informazione di allarme ricevuta 1 BYTE centrale: decentrato: 4 ... 224 centrale: riservato decentrato: ID del tipo di allarme 4 ... 63 1: 2: 3: 4: 5: 6: 31 Allarme di diagnostica Interrupt di processo Allarme di estrazione Allarme di inserimento Allarme di stato Allarme di aggiornamento Guasto di un'apparecchiatura di ampliamento, di un sistema master DP o di una stazione DP 32 ... 126: Allarme produttore 2 BYTE Posto connettore del componente causa dell'errore 3 BYTE centrale: riservato decentrato: Specifier Bit 0 e 1: 0: nessuna ulteriore informazione; 1: evento entrante, posto connettore guasto 2: evento uscente, posto connettore non più guasto 3: evento uscente, posto connettore ancora guasto Bit 2: Add_Ack Bit 3 ... 7: Numero sequenziale Struttura dei dati dell'area di destinazione AINFO con allarmi PROFINET IO Byte Significato 0 ... 25 Informazione dell'intestazione, per la descrizione dettagliata v. oltre 18 ... 1431 Informazione supplementare dell'allarme: dati di diagnostica standard del rispettivo allarme: ARRAY[0] ... ARRAY[1405] Nota: l'informazione supplementare dell'allarme può essere tralasciata. 8-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Struttura dell'informazione dell'intestazione di allarmi con PROFINET IO Byte Tipo di dati Significato 0e1 WORD • Bit da 0 a 7: tipo di blocco • Bit da 8 a 15: riservato 2e3 WORD 4e5 WORD 6e7 WORD Lunghezza del blocco Versione: • Dai bit 0 a 7: low byte • Dai bit 8 a 15: high byte ID del tipo di allarme: • 1: Allarme di diagnostica (in arrivo) • 2: Interrupt di processo • 3: Allarme di estrazione • 4: Allarme di inserimento • 5: Allarme di stato • 6: Allarme di aggiornamento • 7: Allarme di ridondanza • 8: Controllato dal Supervisor (Controlled_by_Supervisor) • 9: Abilitato dal Supervisor (Released_by_Supervisor) • 10: Non è inserita l'unità progettata • 11: Ritorno del sotto-modulo • 13 ... 31: Riservato • 32 ...127: Allarme produttore • 128 ... 65535: Riservato 8 ... 11 DWORD API (Application Process Identifier) 12 ...13 WORD ID del posto connettore del componente che ha generato l'allarme (campo di valori 0 ... 65535) 14...15 WORD ID del posto connettore del sottomodulo del componente che ha generato l'allarme (campo di valori 0 ... 65535) 16...19 DWORD ID del modulo; informazione univoca della sorgente di allarme 20...23 DWORD ID del sottomodulo; informazione univoca della sorgente di allarme Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-11 SFB DPV1 secondo PNO AK 1131 Byte Tipo di dati Significato 24...25 WORD Alarm Specifier: • Bit 0 ... 10: numero di sequenza (campo di valori 0 ... 2047) • Bit 11: diagnostica di canale: 0: diagnostica di canale non disponibile 1: diagnostica di canale disponibile • Bit 12: stato della diagnostica del costruttore: 0: nessuna informazione di stato del costruttore disponibile 1: informazione di stato del costruttore disponibile • Bit 13: Stato della diagnostica nel sottomodulo: 0: nessuna informazione di stato disponibile, tutti gli errori sono stati eliminati 1: è disponibile almeno una diagnostica di canale e/o informazione di stato • Bit 14: riservato • Bit 15: Application Relationship Diagnosis State: - 0: nessuna unità progettata nell'ambito di questa AR emette segnalazioni di diagnostica - 1: almeno un'unità progettata nell'ambito di questa AR emette segnalazioni di diagnostica Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 1 In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato. L'IO Device utilizza l'ID del formato W#16#0000 bis W#16#7FFF per trasmettere informazioni specifiche del costruttore. Byte Tipo di dati Significato 0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme: 2 ... n BYTE Consultare il manuale del costruttore. W#16#0000 ... W#16#7FFF: diagnostica del costruttore 8-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 2 In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato. L'IO Device utilizza l'ID del formato W#16#8000.per trasmettere informazioni sulla diagnostica del canale. La diagnostica di canale viene emessa in blocchi di rispettivamente 6 byte. L'informazione supplementare dell'allarme (senza ID del formato) viene emessa solo per canali che presentano anomalie o guasti. Byte Tipo di dati Significato 0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme 2 ... 3 WORD Numero di canale del componente che ha attivato l'allarme (campo di valori 0 ... 65535): W#16#8000: diagnostica di canale 4 BYTE • W#16#0000 ... W#16#7FFF: numero di canale del sottomodulo /modulo • W#16#8000: rappresentativo per l'intero sottomodulo • W#16#8001 ... W#16#FFFF: riservato Bit 0 ... 2: Riservato Bit 3 ... 4: Tipo di errore Bit 5 ... 7: 5 BYTE • 0: riservato • 1: errore entrante • 2: errore uscente • 3: errore uscente, sono presenti altri errori Tipo di canale • 0: riservato • 1: canale di ingresso • 2: canale di uscita • 3: canale di ingresso/uscita Formato dei dati • B#16#00: formato dei dati libero • B#16#01: bit • B#16#02: 2 bit • B#16#03: 4 bit • B#16#04: byte • B#16#05: parola • B#16#06: doppia parola • B#16#07: 2 doppie parole • B#16#08 ... B#16#FF: riservato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-13 SFB DPV1 secondo PNO AK 1131 Byte Tipo di dati Significato 6 ... 7 WORD Tipo do errore: • W#16#0000: riservato • W#16#0001: cortocircuito • W#16#0002: sottotensione • W#16#0003: sovratensione • W#16#0004: sovraccarico • W#16#0005: sovratemperatura • W#16#0006: rottura cavo • W#16#0007: superamento verso l'alto valore limite superiore • W#16#0008: superamento verso il basso valore limite inferiore • W#16#0009: errore • W#16#000A ... W#16#000F: riservato • W#16#0010 ... W#16#001F: specifico del costruttore • W#16#0020 ... W#16#00FF: riservato • W#16#0100 ... w#16#7FFF: specifico del costruttore • W#16#8000: diagnostica dell'apparecchiatura presente • W#16#8001 ... W#16#FFFF: riservato Non tutti i canali supportano tutti i tipi di errore. Maggiori dettagli sono riportati nella descrizione dei dati di diagnostica del rispettivo dispositivo Nota La parte che si estende da "Numero di canale" a "Tipo di errore" può presentarsi da 0 a n volte. 8-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 3 In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato. Qualora dovessero essere trasmessi tipi diversi di informazioni di diagnostica, l'IO Device utilizza l'ID del formato W#16#8001 (MULTIPLE). In questo caso l'informazione supplementare di allarme viene emessa in una struttura a blocchi di lunghezze variabili. Byte Tipo di dati Significato 0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme 2 ... 3 WORD Tipo di blocco 4 ... 5 WORD Lunghezza del blocco 6 BYTE Versione: high byte 7 BYTE Versione: low byte 8 ... 9 WORD ID del posto connettore 10 ... 11 WORD ID del posto connettore subordinato 12 ... 13 WORD Numero di canale 14 ... 15 WORD Proprietà del canale 16 ... 17 WORD ID del formato W#16#8001: diagnostica del costruttore e /o del canale 18 ... n BYTE • W#16#0000 ... W#16#7FFF: diagnostica del costruttore • W#16#8000: diagnostica di canale • W#16#8001 ... W#16#FFFF: riservato Dati in funzione dell'ID del formato Nota La parte a partire da "Tipo di blocco" può presentarsi da 1 a n volte. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-15 SFB DPV1 secondo PNO AK 1131 Area di destinazione TINFO e AINFO A seconda del rispettivo OB nel quale si richiama l'SFB 54, le aree di destinazione TINFO e AINFO vengono scritte solo in parte. La tabella seguente contiene le informazioni che vengono registrate di volta in volta. Tipo di allarme OB Interrupt di processo 4x TINFO OB informazione di stato TINFO Informazione amministrazione AINFO Informazione intestazione sì sì sì AINFO informazione supplementare allarme centrale: no decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device Allarme di stato 55 sì sì sì sì sì Allarme di aggiornamento 56 sì sì sì sì sì Allarme produttore 57 sì sì sì sì sì Errore periferia ridondata 70 sì sì no no no Allarme di diagnostica 82 sì sì sì centrale: Set di dati 1 decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device centrale: No decentrato: Come fornito da slave PROFIBUS DP/PROFINET IO Device Allarme di estrazione / inserimento Forma speciale di allarme di estrazione: 83 sì sì sì 83 sì sì sì Solo PROFINET IO 83 sì sì sì Solo PROFINET IO Unità inserita non progettata 83 sì sì sì Solo PROFINET IO Guasto telaio di montaggio / stazione 86 sì sì no No sì no no No Controllato dal Supervisor Forma speciale di allarme di inserimento: Abilitato dal Supervisor ... tutti gli altri OB 8-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Informazioni di errore Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come ARRAY[1...4] OF BYTE, l'informazione di errore avrà la seguente struttura: Elemento del campo Nome Significato STATUS[1] Function_Num • B#16#00, se non vi sono errori • Identificazione della funzione da PDU DPV1: in caso di errore è indicato B#16#80. Se non viene utilizzato un elemento di protocollo DPV1: B#16#C0. STATUS[2] Error_Decode Punto di rilevamento dell'errore STATUS[3] Error_Code_1 Identificazione dell'errore STATUS[4] Error_Code_2 Ampliamento dell'identificazione dell'errore specifico del produttore STATUS[2] può assumere i seguenti valori: Error_Decode (B#16#...) Sorgente Significato 00 - 7F CPU Nessun errore o nessun avviso 80 DPV1 Errore secondo la IEC 61158-6 81 - 8F CPU B#16#8x indica un errore nell'"x-esimo" parametro di richiamo dell'SFB. FE, FF Profili DP Errore specifico del profilo STATUS[3] può assumere i seguenti valori: Error_Decode (B#16#...) Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato 00 00 Nessun errore, nessun avviso 70 00 reserved, reject Primo richiamo; nessun trasferimento del set di dati attivo 01 reserved, reject Primo richiamo; trasferimento del set di dati avviato 02 reserved, reject Richiamo intermedio; trasferimento del set di dati già attivo 90 reserved, pass Indirizzo logico iniziale non valido 92 reserved, pass Tipo di puntatore ANY non ammesso 93 reserved, pass Il componente DP indirizzato tramite ID o F_ID non è stato configurato. 80 95 Errore di lettura dell'informazione di allarme supplementare nel sistema H (in caso di lettura dell'informazione di allarme supplementare nella periferia centrale o decentrata tramite interfaccia DP esterna, questo errore viene emesso come "errore cumulativo"). Avvertenza: in caso di accoppiamento e aggiornamento può succedere che l'informazione supplementare di allarme non sia momentaneamente disponibile. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-17 SFB DPV1 secondo PNO AK 1131 Error_Decode (B#16#...) 8-18 Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato 96 In un sistema H è stata effettuata una commutazione riserva/master e la CPU che finora era master è entrata in STOP. Nello stesso momento era in fase di elaborazione un OB. L'SFB 54 non è in grado di fornire né l'informazione di start dell'OB, né l'informazione di amministrazione, né l'informazione dell'intestazione né l'informazione supplementare sull'allarme. L'informazione di start dell'OB si può leggere con l’SFC 6 "RD_SINFO". Inoltre, negli OB 4x, 55, 56, 57, 82 e 83 è possibile leggere in modo asincrono il telegramma di diagnostica attuale dello slave DP con l'aiuto dell’SFC 13 "DPNRM_DG" (informazione sull'indirizzo nell'informazione di start dell'OB). A0 read error Conferma negativa della lettura dall'unità A1 write error Conferma negativa della scrittura nell'unità A2 module failure Errore di protocollo DP per vettore 2 A3 reserved, pass • PROFIBUS DP: errore di protocollo DP con DirectData-Link-Mapper o User-Interface/User • PROFINET IO: errore CM generaler A4 reserved, pass Comunicazione disturbata nel bus K A5 reserved, pass - A7 reserved, pass Slave DP o unità occupati (errore temporaneo) A8 version conflict Slave DP o unità segnalano versioni diverse A9 feature not supported Funzione non supportata dallo slave DP p dall'unità AA - AF user specific Slave DP o unità segnalano un errore del produttore dell'applicazione. Consultare la documentazione del produttore dello slave DP o dell'unità. B0 invalid index Set di dati sconosciuto all'unità numero del set di dati ≥256 non consentito B1 write length error La lunghezza indicata nel parametro RECORD non è corretta; SFB 54: errore di lunghezza in AINFO B2 invalid slot Il posto connettore progettato non è occupato. B3 type conflict Tipo di unità effettivo diverso da quello di riferimento B4 invalid area Slave DP o unità segnalano un accesso ad un'area non ammessa B5 state conflict Slave DP o unità non pronti B6 access denied Slave DP o unità rifiutano l'accesso B7 invalid range Slave DP o unità segnalano un'area non ammessa di un parametro o un valore B8 invalid parameter Slave DP o unità segnalano un parametro non ammesso B9 invalid type Slave DP o unità segnalano un tipo non ammesso BA - BF user specific Slave DP o unità segnalano un errore del produttore dell'applicazione. Consultare la documentazione del produttore dello slave DP o dell'unità. C0 read constrain conflict L'unità ha il set di dati, ma i dati da leggere non sono ancora disponibili. C1 write constrain conflict I dati dell’ordine di scrittura precedente dell'unità per lo stesso set di dati non sono ancora stati elaborati dall'unità. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Error_Decode (B#16#...) Error_Code_1 Spiegazione (B#16#...) secondo DVP1 Significato C2 resource busy L'unità elabora attualmente il numero massimo di ordine consentito per una CPU. C3 resource unavailable Le risorse necessarie sono momentaneamente occupate. C4 Errore temporaneo interno. Impossibile eseguire il task. Ripetere il task. Se l'errore si verifica spesso verificare che non ci siano sorgenti di disturbo nella propria struttura. C5 Slave DP o unità non disponibili. C6 Trasmissione del set di dati interrotta per interruzione classi di priorità C7 Interruzione del task per nuovo avviamento (avviamento a caldo) o avviamento a freddo del master DP. C8 - CF Slave DP o unità segnalano un errore del produttore relativo alle risorse. Consultare la documentazione del produttore dello slave DP o dell'unità. Dx 81 user specific Specifico dello slave DP. Vedere la descrizione dello slave DP. 00 - FF Errore nel primo parametro di richiamo (SFB 54: MODE) 00 Tipo di funzionamento non consentito 00 - FF Errore nel secondo parametro di richiamo : : : 88 00 - FF Errore nell'ottavo parametro di richiamo (SFB 54: TINFO) 82 89 01 Identificazione sintassi scorretta 23 Superamento dei dati o area di destinazione troppo piccola 24 Identificazione dell'area scorretta 32 N. DB/DI fuori dell'area utente 3A N. DB/DI è ZERO: per l'identificazione dell'area DB/DI o del DB/DI indicati non disponibile 00 - FF Errore nel nono parametro di richiamo (bei SFB 54: AINFO) 01 Identificazione sintassi scorretta 23 Superamento dei dati o area di destinazione troppo piccola 24 Identificazione dell'area scorretta 32 N. DB/DI fuori dell'area utente 3A N. DB/DI è ZERO: per l'identificazione dell'area DB/DI o del DB/DI indicati non disponibile 8A 00 - FF Errore nel decimo parametro di richiamo : : : 8F 00 - FF Errore nel quindicesimo parametro di richiamo FE, FF 00 - FF Errore specifico del profilo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-19 SFB DPV1 secondo PNO AK 1131 STATUS[4] viene trasmesso in caso di errori DPV1 dal master DP alla CPU e all'SFB. Senza errori DPV1, il valore viene impostato a 0 con le eccezioni seguenti nell'SFB 52: 8-20 • STATUS[4] contiene la lunghezza dell'area di destinazione di RECORD, con lunghezza MLEN > lunghezza dell'area di destinazione di RECORD • STATUS[4]=MLEN con lunghezza effettiva del set di dati < MLEN < lunghezza dell'area di destinazione di RECORD. • STATUS[4]=0, se fosse necessario impostare STATUS[4] > 255. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" Avvertenza L'interfaccia dell'SFB 75 "SALRM" è identica a quella dell'FB "SALRM" definito nella norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". Descrizione Con l'SFB 75 "SALRM" il programma utente dello slave intelligente invia al master DP un allarme proveniente da un posto connettore situato nell'area di trasferimento (posto connettore virtuale). Nel master DP viene avviato l'OB corrispondente. L'allarme può essere corredato di informazioni supplementari specifiche, leggibili nel master DP con l'SFB 54 "RALRM". L'SFB 75 è utilizzabile soltanto nel modo "compatibile con S7". • DP: il master riconosce lo I-slave mediante file GSD. • compatibile con S7: lo I-slave viene collegato ad un master mediante l'applicazione Configurazione HW di STEP 7. Metodo di lavoro L'SFB 75 "SALRM" è un SFB operante in modo asincrono, ciò significa che l'elaborazione comprende più richiami dell'SFB. La trasmissione dell’allarme viene avviata richiamando l'SFB 75 con REQ = 1. La procedura di trasmissione rimane attiva fino a quando l'elaborazione dell'allarme viene confermata o interrotta dal master DP. Il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS permettono di visualizzare lo stato dell’ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle SFC che lavorano in modo asincrono (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La trasmissione dell'allarme è conclusa quando il parametro di uscita BUSY assume il valore FALSE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-21 SFB DPV1 secondo PNO AK 1131 Identificazione dell’ordine Se con l'SFB 75 viene attivato l'invio di un allarme al master DP e l'utente richiama nuovamente l'SFB prima della conclusione dell’ordine in corso, la reazione dell'SFB dipende dalla possibilità che il nuovo richiamo riguardi lo stesso ordine o meno. Se i parametri ID e ATYPE coincidono con un ordine non ancora concluso, il richiamo dell'SFB vale come richiamo successivo. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione della trasmissione dell'allarme ID INPUT DWORD E, A, M, D, L, cost. Qualunque indirizzo logico dell'area di passaggio al master DP (posti connettore virtuali) (dal lato dello slave DP) eccetto l'indirizzo di diagnostica della stazione e l'indirizzo logico del posto connettore 2. L'informazione rilevante si trova nel low word. L'high word va occupato con 0. Il bit 15 contiene l'identificazione E/A: 0 in caso di indirizzo di ingresso, 1 in caso di indirizzo di uscita. ATYPE INPUT INT E, A, M, D, L, cost. alarm type Identificazione del tipo di allarme. Valori possibili: ASPEC INPUT INT E, A, M, D, L, cost. • 1: allarme di diagnostica • 2: interrupt di processo alarm specifier • 0: nessuna ulteriore informazione • 1: evento entrante, posto connettore guasto • 2: evento uscente, guasto eliminato • 3: evento uscente, posto connettore ancora guasto LEN INPUT INT E, A, M, D, L, cost. Lunghezza in byte dell'informazione di allarme supplementare da inviare. Valore massimo: 16. DONE OUTPUT BOOL E, A, M, D, L DONE=1: allarme trasmesso BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: trasmissione dell'allarme in corso ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore AINFO IN_OUT ANY E, A, M, D, L alarm information Area sorgente per le informazioni di allarme supplementari. 8-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Parametro ATYPE La seguente tabella indica, per ogni valore di ATYPE consentito, l'OB richiamato nel relativo master DP ed il modo DP che permette il tipo di allarme. ATYPE Significato nella norma DPV1 OB attivato nel master DP S7 Modo DP DP Compatibile con S7 1 diagnosis alarm OB di allarme di diagnostica (OB 82) - sì 2 process alarm OB di interrupt di processo (da OB 40 a OB 47) - sì Avvertenza Oltre a quanto riportato nella tabella, la possibilità di utilizzare i diversi tipi di allarme dipende anche dal master DP. Interdipendenza tra tipo di allarme e stato di funzionamento del master S7 Se lo slave si trova nel modo "compatibile con S7" (funzionamento con un master S7), gli allarmi di diagnostica e gli interrupt di processo possono essere inviati soltanto se il master DP si trova nello stato di funzionamento (DP: Operate). Se il master DP è in STOP (DP: Clear), l'allarme viene trattenuto e l'SFB 75 fornisce l'informazione di errore W#16#80C8. È compito dell'utente fare in modo che l'invio dell'allarme venga recuperato in un secondo momento. Parametro ASPEC Questo parametro visualizza conformemente alla norma lo stato della diagnostica del posto connettore virtuale. Per questo motivo è consentito assegnare ad ASPEC un valore diverso da 0 soltanto se si invia un allarme di diagnostica. Poiché nelle informazioni di allarme supplementari S7 dell'allarme di diagnostica (set di dati 0) è presente un'informazione di evento entrante / uscente (vedere Dati di diagnostica byte 0 bit 0), nel byte 0 delle informazioni di allarme supplementari vanno assegnati al bit 0 (guasto all'unità) i seguenti valori: ASPEC Bit "Guasto all'unità" in AINFO 0 0 1 1 2 0 3 1 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-23 SFB DPV1 secondo PNO AK 1131 Parametro LEN In LEN viene indicata la lunghezza in byte delle informazioni di allarme supplementari da inviare. L'area di valori consentita va da 0 a 16. La tabella seguente indica i valori di LEN consentiti per i diversi tipi di allarme nei modi operativi assunti dallo slave intelligente. Tipo di allarme DP compatibile con S7 Allarme di diagnostica - da 4 a 16 Interrupt di processo - 4 La tabella seguente descrive la reazione dell'SFB 75 quando si assegna a LEN un valore diverso dalla lunghezza di AINFO in BYTE. Valori di LEN Reazione dell'SFB 75 <= lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle informazioni di allarme supplementari trasferiti corrisponde a quello indicato in LEN. al di fuori dell'area di valori consentita, p. SFB 75 non invia alcun allarme. es. < 0 o > 16 Informazione di errore: W#16#80B1, STATUS[4]=B#16#FF > lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle informazioni di allarme supplementari trasferiti corrisponde a quello indicato in AINFO. Informazione di errore: W#16#00B1, STATUS[4]=lunghezza indicata in AINFO Parametro AINFO AINFO è l'area sorgente per le informazioni di allarme supplementari. Per quanto riguarda lo slave intelligente, a quest'area può essere assegnato qualsiasi valore; tuttavia, se si utilizza un master S7 le informazioni supplementari inviate devono corrispondere agli standard S7. Se si invia un allarme di diagnostica (ATYPE=1), occorre provvedere ad un'occupazione corretta del set di dati 0 ed eventualmente del set di dati 1. La tabella seguente riporta un esempio di occupazione conforme ad S7. Il bit "Guasto all'unità" (v. sopra) è già impostato; fatta eccezione per tale bit, l'esempio corrisponde all'occupazione di default (che si verifica dopo RETE ON, a seguito di un passaggio dello slave intelligente da STOP a RUN oppure dopo un ritorno di stazione): N. set di dati Occupazione 0 B#16#01, 0B, 00, 00 1 in modo "compatibile con S7": seti di dati 0 + 12 byte con 0 (vedere anche Panoramica della struttura dei dati di diagnostica). 8-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 Effetti del richiamo dell'SFB 75 sulle informazioni di stato delle unità e sul LED di errore cumulativo (SF) Come accade per ogni CPU, anche lo slave intelligente memorizza le proprietà dei propri posti connettore nell'informazione sullo stato delle unità (vedere SZL-ID W#16#xy91 Informazione sullo stato delle unità ). Se si invia un allarme di diagnostica mediante SFB 75, il sistema operativo dello slave intelligente modifica le informazioni locali dello slave sullo stato delle unità e influisce sul LED SF in dipendenza del bit 0 nel byte 0 di AINFO (questo bit viene acquisito come "Unità guasta" nell'informazione di stato). Nello slave intelligente non viene tuttavia effettuata alcuna registrazione nel buffer di diagnostica e non viene avviato nessun OB di allarme di diagnostica. Coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente Nel seguito vengono illustrate diverse situazioni possibili e le loro conseguenze per l'informazione sullo stato delle unità. • Ritorno di stazione (conseguenza: attivazione dell'OB 86 nel master DP e nello slave intelligente). Sia nello I-slave che nel master S7 l'informazione sullo stato delle unità viene modificata (il bit "Unità guasta" viene resettato). Se dopo il ritorno della stazione l'utente riscontra delle anomalie nello I-slave, queste devono essere comunicate al master DP richiamando l'SFB 75. • Passaggio da STOP a RUN del master DP (conseguenza: attivazione dell'OB 82 nello slave intelligente). L'informazione sullo stato delle unità nello I-slave non viene modificata. Il master DP resetta il bit "Unità guasta" nella relativa informazione sullo stato delle unità. Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente nel modo "compatibile con S7" occorre intervenire sullo I-slave nel seguente modo: - per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di diagnostica uscente mediante SFB 75 - per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica entrante mediante SFB 75. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-25 SFB DPV1 secondo PNO AK 1131 • Passaggio delle slave intelligente da STOP a RUN (conseguenza: attivazione dell'OB 82 nel master DP). L'informazione sullo stato delle unità nel master DP non viene modificata, quella dello slave intelligente viene resettata (reset del bit "Unità guasta"). Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente occorre intervenire sullo I-slave nel seguente modo: - per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di diagnostica uscente mediante SFB 75 - per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica entrante mediante SFB 75. Avvertenza Poiché l'SFB 75 lavora in modo asincrono, i richiami dell'SFB 75 negli OB di avviamento non possono essere interrotti; essi devono essere portati a termine all'interno del programma ciclico. Avvertenza Le differenze tra l'informazione sullo stato delle unità nel master DP e quella nello slave intelligente descritte sopra possono verificarsi soltanto nei posti connettore per i quali sono stati inviati al master DP allarmi di diagnostica mediante SFB 75. Di conseguenza, i rimedi consigliati sono necessari soltanto per tali posti connettore. Informazioni di errore Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come ARRAY[1 ... 4] OF BYTE, le informazioni di errore hanno la seguente struttura: Elemento dell'array Significato STATUS[1] • B#16#00: nessun errore • B#16#C0: errore riconosciuto dallo slave intelligente STATUS[2], STATUS[3] corrisponde al parametro di uscita RET_VAL delle SFC STATUS[4] B#16#00 ad eccezione di alcuni conflitti di lunghezza tra LEN e AINFO. Le eccezioni sono riportate nella tabella successiva. 8-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFB DPV1 secondo PNO AK 1131 La seguente tabella indica le informazioni di errore specifiche dell'SFB 75. ERROR STATUS[2,3] (W#16# ...) Spiegazione 0 0000 L’ordine è stato eseguito senza errori. Se LEN < lunghezza di AINFO, vengono trasferiti soltanto LEN byte delle informazioni di allarme supplementari. 0 00B1 LEN > lunghezza di AINFO. L’ordine è stato eseguito. Le informazioni di allarme supplementari in AINFO sono state trasferite. STATUS[4] contiene la lunghezza di AINFO. 0 7000 Primo richiamo con REQ=0 (richiamo a vuoto). Non è stato inviato alcun allarme. BUSY ha il valore 0. 0 7001 Primo richiamo con REQ=1. L’ordine è stato avviato. BUSY ha il valore 1. 0 7002 Richiamo intermedio (REQ irrilevante). L'allarme inviato non è stato ancora confermato dal DP. BUSY ha il valore 1. 1 8090 L'indirizzo indicato in ID si trova al di fuori dell'area di indirizzi consentita o non è stato progettato. 1 8091 • L'allarme è stato inibito mediante la progettazione. • L'allarme non è supportato dal tipo di slave. 1 8092 Tipo di dati non ammesso in AINFO (sono consentiti i tipi BYTE e BLOCK_DB). 1 8093 ID appartiene ad un posto connettore virtuale che non può attivare allarmi. 1 80B0 1 ASPEC • non è adatto al bit 0 del byte 0 di AINFO • nel tipo di allarme utilizzato deve avere il valore 0 • si trova al di fuori dell'area di valori consentita. 80B1 LEN si trova al di fuori dell'area di valori consentita. STATUS[4] contiene B#16#FF. 1 80B5 Richiamo dell'SFB 75 nel master DP non ammesso. 1 80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate. 1 80C5 La periferia decentrata non è momentaneamente disponibile (p. es. guasto alla stazione). 1 80C8 Nell'attuale stato di funzionamento del master DP questa funzione non è consentita (il master DP è un master S7 e si trova in stato di funzionamento STOP). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 8-27 SFB DPV1 secondo PNO AK 1131 8-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 9 SFC per la gestione di allarmi dall'orologio 9.1 Gestione di allarmi dall'orologio Definizione Un allarme dall'orologio è la causa per il richiamo comandato a tempo di un OB di allarme dall'orologio (OB 10 .. OB 17). Presupposti per il richiamo Affinché un OB di allarme dall'orologio possa essere richiamato dal sistema operativo, devono essere soddisfatte le seguenti condizioni: • L'OB di allarme dall'orologio deve essere parametrizzato (data e ora di avvio, periodicità di esecuzione) - con STEP 7 oppure • con la SFC 28 "SET_TINT" all'interno del programma utente. L'OB di allarme dall'orologio deve essere attivato - con STEP 7 oppure - con la SFC 30 "ACT_TINT" all'interno del programma utente. • L'OB di allarme dall'orologio non deve essere stato deselezionato in STEP 7. • L'OB di allarme dall'orologio deve essere presente nella CPU. • Se l'impostazione avviene tramite la SFC 30 "ACT_TINT", la data e ora d'inizio non possono essere scadute, in caso di unica esecuzione; in caso di esecuzione periodica l'OB di allarme dall'orologio viene invece richiamato alla scadenza del successivo periodo (istante iniziale + multipli interi del periodo). Suggerimento È possibile parametrizzare l'allarme dall'orologio con STEP 7 e poi attivarlo dal programma utente (SFC 30 "ACT_TINT"). Scopo delle SFC 28 ... 31 Le funzioni di sistema SFC 28 ... 31, descritte nei paragrafi seguenti, vengono impiegate per • impostare (SFC 28 "SET_TINT") • cancellare (SFC 29 "CAN_TINT") • attivare (SFC 30 "ACT_TINT") • interrogare (SFC 31 "QRY_TINT") allarmi dall'orologio. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 9-1 SFC per la gestione di allarmi dall'orologio 9.2 Caratteristiche delle SFC 28 ... 31 Che cosa succede se ... La tabella seguente schematizza gli effetti che determinate operazioni hanno sugli allarmi dall'orologio. Se ... Allora .... Un nuovo allarme dall'orologio viene impostato (richiamo della SFC 28 "SET_TINT") l'allarme dall'orologio attivo viene automaticamente cancellato L'allarme dall'orologio viene cancellato (richiamo della SFC 29 "CAN_TINT") la data e l'ora di inizio vengono cancellate. L'allarme dall'orologio deve allora venire nuovamente impostato prima di poter diventare attivo L'OB di allarme dall'orologio non è presente all'istante del richiamo viene generato automaticamente un errore di classe di priorità; cioè il sistema operativo richiama l'OB 85. Se l'OB 85 non è presente, la CPU si porta nello stato di funzionamento STOP L'orologio viene sincronizzato oppure corretto in avanti Se la data e l'ora di inizio vengono superate dallo spostamento in avanti dell'orologio: • 1) Il sistema operativo richiama l'OB 80 . • Subito dopo l'esecuzione dell'OB 80 vengono richiamati tutti gli OB di allarme dall'orologio saltati (una sola volta, indipendentemente dal numero dei periodi saltati), se non sono stati manipolati 2) nell'OB 80 . Se l'OB 80 non è presente, la CPU si porta nello stato di funzionamento STOP L'orologio viene sincronizzato oppure corretto all'indietro CPU S7-400 e CPU 318: gli OB di allarme dall'orologio eventualmente già richiamati nell'intervallo di tempo corretto all'indietro non vengono richiamati una seconda volta se questo intervallo di tempo trascorre nuovamente. CPU S7-300: vengono eseguiti tutti gli OB di allarme dall'orologio interessati. 1. Nell'informazione dell'evento di avvio di OB 80 è codificato quali OB di allarme dall'orologio non possono essere richiamati dallo spostamento in avanti dell'orologio. Il tempo nell'informazione dell'evento di avvio corrisponde al tempo spostato in avanti. 2. Il tempo nell'informazione dell'evento di avvio degli OB da recuperare corrisponde al tempo di inizio del primo allarme dall'orologio saltato. Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, tutte le configurazioni di allarmi dall'orologio, assegnate da programma tramite SFC, vengono cancellate. Attivi diventano allora i parametri assegnati tramite STEP 7. 9-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi dall'orologio Esecuzione dell'OB di allarme dall'orologio La tabella seguente riporta i diversi effetti del parametro "esecuzione". Questo parametro è da assegnare con STEP 7 oppure con la SFC 28 "SET_TINT" (parametro di ingresso PERIOD). Esecuzione dell'OB di allarme dall'orologio Reazione Nessuna L'OB di allarme dall'orologio non viene eseguito anche se esso è presente nella CPU. (configurabile solo con STEP 7) Variare la parametrizzazione, cioè impostare l'allarme dall'orologio (SFC 28; SET_TINT), è possibile da programma. una volta L'allarme dall'orologio è revocato dopo il richiamo di OB di allarme e può essere nuovamente impostato ed attivato. periodica Se la data e l'ora di inizio sono già scadute all'istante di attivazione, allora l'OB di allarme dall'orologio interrompe l'esecuzione ciclica del programma al prossimo istante possibile "data e ora iniziali + multiplo intero del periodo assegnato" (ogni minuto, ogni ora, ogni giorno, ogni settimana, ogni mese, ogni anno) In casi molto rari l'OB di allarme può essere ancora in esecuzione all'istante di una chiamata successiva. Conseguenza: • errore di tempo (il sistema operativo richiama OB 80; se OB 80 non è presente, la CPU si porta in STOP) • L'esecuzione di OB di allarme viene ripresa e terminata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 9-3 SFC per la gestione di allarmi dall'orologio 9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" Descrizione Con la funzione di sistema SFC 28 "SET_TINT" (set time-of-day interrupt) è possibile assegnare data e ora di inizio dei blocchi organizzativi di servizio ad allarmi dall'orologio. Nell'ora di inizio vengono ignorati i secondi ed i millesimi di secondo indicati e vengono azzerati. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che viene richiamato all'istante SDT + multiplo di PERIOD (OB 10 ... OB 17) SDT INPUT DT D, L Data e ora di inizio. Nell'ora di inizio vengono ignorati i secondi e i millesimi di secondo indicati e vengono azzerati. Se si desidera predefinire l'avvio mensile di un OB di allarme dall'orologio, per la data di inizio sono ammessi soltanto i giorni 1, 2, ... 28. PERIOD INPUT WORD E, A, M, D, L, cost. Periodo a partire dall'istante SDT: W#16#0000 = una sola volta W#16#0201 = ogni minuto W#16#0401 = ogni ora W#16#1001 = ogni giorno W#16#1201 = ogni settimana W#16#1401 = ogni mese W#16#1801 = ogni anno W#16#2001 = a fine mese RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale di RET_VAL contiene un codice di errore. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8091 Il parametro SDT è errato 8092 Il parametro PERIOD è errato 80A1 L'istante d'avvio impostato appartiene al passato 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 9-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi dall'orologio 9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" Descrizione Con la funzione di sistema SFC 29 "CAN_TINT" (cancel time-of-day interrupt) è possibile revocare data e ora di inizio di un blocco organizzativo di servizio ad allarmi dall'orologio assegnato. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB la cui data e ora di inizio devono essere cancellate (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 9-5 SFC per la gestione di allarmi dall'orologio 9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT" Descrizione Con la funzione di sistema SFC 30 "ACT_TINT" (activate time-of-day interrupt) è possibile attivare un blocco organizzativo di servizio ad allarmi dall'orologio. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che deve essere attivato (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio. 80A1 Il tempo attivato appartiene al passato; l'errore ha luogo solo in caso di esecuzione = una sola volta. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 9-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi dall'orologio 9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT" Descrizione Con la funzione di sistema SFC 31 "QRY_TINT" (query time-of-day interrupt) è possibile verificare per mezzo del parametro di uscita STATUS lo stato di un blocco organizzativo di servizio ad allarmi dall'orologio. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB il cui stato deve essere interrogato (OB 10 ... OB 17). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un errore, il parametro di uscita RET_VAL contiene un codice di errore. STATUS OUTPUT WORD E, A, M, D, L Stato dell'allarme dall'orologio; vedi tabella seguente. Parametro di uscita STATUS Bit Valore Significato 0 0 L'allarme dall'orologio è abilitato dal sistema operativo. 1 0 Nuovi allarmi dall'orologio non vengono respinti. 2 0 L'allarme dall'orologio non è attivato oppure è terminato. 3 - - 4 0 L'OB di allarme dall'orologio non è stato caricato. 5 0 L'esecuzione dell'OB di allarme dall'orologio non è stata bloccata da una funzione di test attiva. 6 0 Base dell'allarme orologio è l'ora di base 1 Base dell'allarme orologio è l'ora locale Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 9-7 SFC per la gestione di allarmi dall'orologio 9-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 10 SFC per la gestione di allarmi di ritardo 10.1 Gestione di allarmi di ritardo Definizione Dopo aver richiamato la SFC 32 "SRT_DINT", il sistema operativo genera un allarme al termine del tempo di ritardo parametrizzato, cioè viene richiamato l'OB di allarme di ritardo parametrizzato. Questo allarme viene chiamato allarme di ritardo. Presupposti per il richiamo Affinché un allarme di ritardo possa essere richiamato dal sistema operativo, devono essere soddisfatte le seguenti condizioni: • l'OB di allarme di ritardo deve essere attivato mediante la SFC 32 "SRT_DINT". • l'OB di allarme di ritardo non deve essere deselezionato con STEP 7. • l'OB di allarme di ritardo deve essere presente nella CPU. Scopo delle SFC 32 ... 34 Le funzioni di sistema SFC 32 ... SFC 34 descritte nei paragrafi seguenti, vengono utilizzate per • attivare (SFC 32 "SRT_DINT") • cancellare (SFC 33 "CAN_DINT") • interrogare (SFC 34 "QRY_DINT") allarmi di ritardo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 10-1 SFC per la gestione di allarmi di ritardo Che cosa accade se ... La tabella seguente mostra gli effetti che determinate situazioni possono comportare. Se ... e ... allora ... Viene avviato un allarme di ritardo (richiamo della SFC 32 "SRT_DINT") l'allarme di ritardo è già stato avviato il tempo di ritardo viene riaggiornato; l'allarme di ritardo viene nuovamente avviato l'OB di allarme di ritardo non è presente all'istante del richiamo il sistema operativo genera un errore di classe di priorità (richiamo di OB 85; se OB 85 non è presente, la CPU si porta nello stato di funzionamento STOP). l'attivazione ha avuto luogo in un OB di avviamento e il tempo di ritardo è trascorso prima che la CPU si trovi in RUN, il richiamo dell'OB di allarme di ritardo viene ritardato fino a quando la CPU si trova in RUN. e un OB di allarme di ritardo, attivato precedentemente, è ancora in esecuzione il sistema operativo genera un errore di tempo (richiamo di OB 80; se OB 80 non è presente, la CPU si porta in STOP). il tempo di ritardo è trascorso Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, vengono cancellate tutte le impostazioni di allarmi di ritardo assegnate da programma tramite le SFC. Start nell'OB di avviamento Un allarme di ritardo può essere attivato nell'OB di avviamento. Per il richiamo dell'OB di allarme di ritardo devono essere soddisfatte due condizioni: • il tempo di ritardo è trascorso. • la CPU si trova nello stato di funzionamento RUN. Se il tempo di ritardo è scaduto e la CPU non è ancora nello stato RUN, il richiamo dell'OB di servizio all'allarme viene ritardato fino a che la CPU non sia in RUN. L'OB di allarme di ritardo viene comunque richiamato prima della prima istruzione di OB 1. 10-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi di ritardo 10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" Descrizione Con la funzione di sistema SFC 32 "SRT_DINT" (start time-delay interrupt) è possibile avviare un allarme di ritardo, il quale richiama, alla scadenza del tempo di ritardo parametrizzato (parametro DTIME), un OB di allarme di ritardo. Al parametro SIGN è possibile assegnare un'identificazione utente, in modo da identificare univocamente l'avvio dell'allarme di ritardo. I valori di DTIME e SIGN compaiono di nuovo nell'informazione di evento di avvio dell'OB indicato, se esso viene eseguito. Parametri Dichiarazione Tipo Area di memoria Descrizione OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB che viene richiamato dopo un certo tempo di ritardo (OB 20 ... OB 23). DTIME INPUT TIME E, A, M, D, L, cost. Valore temporale del ritardo (da 1 a 60000 ms). Per impostare un tempo maggiore si può, ad esempio, inserire un contatore in un OB di allarme di ritardo. SIGN INPUT WORD E, A, M, D, L, cost. Identificazione che appare al richiamo dell'OB di allarme di ritardo nell'informazione di evento di avvio dell'OB. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore Precisione Il tempo tra il richiamo della SFC 32 "SRT_DINT" e l'avvio dell'OB di allarme di ritardo è di un millisecondo al massimo più piccolo del tempo parametrizzato, se nessun evento di interruzione ritarda il richiamo. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato 8091 Il parametro DTIME è errato 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 10-3 SFC per la gestione di allarmi di ritardo 10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT" Descrizione Con la funzione di sistema SFC 34 "QRY_DINT" (query time-delay interrupt) è possibile verificare lo stato di un allarme di ritardo. Allarmi di ritardo vengono gestiti dai blocchi organizzativi di servizio ad allarmi di ritardo OB 20 ... 23. Parametri Dichiarazione Tipo Area di memoria OB_NR INPUT E, A, M, D, L, cost. INT Descrizione Numero di OB il cui stato viene interrogato (OB 20 ... OB 23). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore STATUS OUTPUT WORD E, A, M, D, L Stato dell'allarme di ritardo; vedi tabella seguente Parametro di uscita STATUS Bit Valore Significato 0 0 L'allarme di ritardo è abilitato dal sistema operativo. 1 0 Nuovi allarmi di ritardo non vengono respinti. 2 0 L'allarme di ritardo non è attivato oppure è terminato. 3 - - 4 0 L'OB di allarme di ritardo non è stato caricato. 5 0 L'esecuzione dell'OB di allarme di ritardo è stata bloccata da una funzione di test attiva. Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 10-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi di ritardo 10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" Descrizione Con la funzione di sistema SFC 33 "CAN_DINT" (cancel time delay interrupt) è possibile cancellare un allarme di ritardo già attivato (vedere capitolo Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT"). L'OB di allarme di ritardo non viene allora richiamato. Parametri Dichiarazione Tipo Area di memoria OB_NR INPUT E, A, M, D, L, cost. INT Descrizione Numero di OB che deve essere cancellato (OB 20 ... OB 23). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di sistema si verifica un errore, il parametro attuale RET_VAL contiene un codice di errore Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro OB_NR è errato. 80A0 L'allarme di ritardo non è attivato. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 10-5 SFC per la gestione di allarmi di ritardo 10-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11 SFC per la gestione di eventi di errori di sincronismo 11.1 Mascheramento di eventi di errori di sincronismo Introduzione Eventi di errori di sincronismo sono eventi dovuti ad errori di programma e di accesso. Tali eventi di errore hanno luogo a causa della programmazione con campi o numeri di operandi errati o con indirizzi errati. Mascherare questi eventi di errore significa che: • eventi di errore mascherati non fanno scattare OB di errore e non comportano una programmata reazione di servizio. • la CPU memorizza in un registro di stato eventi gli errori mascherati verificatisi. Demascherare eventi di errore significa ripristinare un mascheramento precedentemente effettuato e cancellare il relativo bit nel registro di stato eventi della classe di priorità attuale. Il mascheramento viene cancellato • con un richiamo della SFC 37 "DMSK_FLT" • quando la classe di priorità attuale dell'OB è terminata (soltanto con l‘S7-400). Il mascheramento viene effettuato mediante il richiamo dell'SFC 36 "MSK_FLT". Se si presenta un evento di errore dopo il suo demascheramento, il sistema operativo avvia il rispettivo OB di errore. Per la reazione all'errore di programmazione programmare l'OB 121 e per la reazione all'errore di accesso programmare l'OB 122. È possibile leggere gli eventi di errore mascherati e quegli che sono effettivamente avvenuti mediante la SFC 38 "READ_ERR". Avvertenza: indipendentemente dal mascheramento o demascheramento degli eventi di errore, nell'S7-300, fatta eccezione della CPU 318, essi vengono registrati nel buffer di diagnostica e il LED di raccolta errori della CPU lampeggia. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11-1 SFC per la gestione di eventi di errori di sincronismo Gestire un errore in generale Se in un programma utente hanno luogo errori di programma o di accesso, è possibile reagire ad essi in diversi modi: • si può programmare un OB di servizio all'errore; il sistema operativo richiama questo OB se avviene l'evento di errore corrispondente. • si può disabilitare il richiamo dell'OB di errore per ogni singola classe di priorità. In questo caso la CPU non si porta in STOP quando nella classe di priorità ha luogo il relativo errore. Essa però registra l'errore avvenuto in un registro di stato eventi. Non è comunque possibile riconoscere in questa registrazione quando e quante volte l'errore in questione abbia avuto luogo. Evento di errore di sincronismo Errore mascherato? NO SÌ Richiamo di un OB di er rore. (la CPU si porta in STOP se l'OB di errore non è programmato). Il richiamo di un OB di er rore viene disabilitato. (la CPU non si porta in STOP nel caso che un er rore abbia luogo). In OB è programmata la reazione desiderata ad un certo errore. L'evento di errore viene registrato nel registro di stato eventi. Maschera per gli errori Gli eventi di errori di sincronismo sono associati ad una particolare stringa di bit, detta maschera. Questa maschera si ritrova nei parametri di ingresso e di uscita delle SFC 36, 37 e 38. In caso di eventi di errori di sincronismo si distingue tra errori di programma e di accesso, che sono mascherabili mediante due differenti tipi di maschere. Esse sono rappresentate nelle figure riportate di seguito. 11-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di eventi di errori di sincronismo Maschera per gli errori di programma Nella figura seguente è rappresentata la stringa di bit della maschera per errori di programma. La maschera per errori di programma è contenuta nei parametri PRGFLT_... Una spiegazione degli errori di programma è riportata nelle seguenti tabelle. Avvertenza I bit 29 ("SFC non caricata") e 31 ("SFB non caricata") nella high word della maschera degli errori di programmazione sono rilevanti solo in S7-400 e nella CPU 318. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11-3 SFC per la gestione di eventi di errori di sincronismo Bit non rilevanti Nella figura sopra il segno x significa per i .... • ... parametri di ingresso Per SFC 36, 37, 38 = "0" • ... parametri di uscita Per SFC 36, 37 = "1" per S7-300 Per SFC 38 = "0" = "0" per S7-400 Maschera degli errori di accesso per tutte le CPU Nella figura seguente è rappresentata la stringa di bit della maschera degli errori di accesso per tutte le CPU. La maschera degli errori di accesso è contenuta nei parametri ACCFLT_... La spiegazione degli errori di accesso è riportata nelle tabelle "Possibili cause di errore per tutte le CPU 31x eccetto la CPU 318" e "Possibili cause di errore per tutte le CPU 41x e CPU 318". Esempio La figura seguente mostra l'aspetto della parola meno significativa della maschera per errori di accesso con tutti gli errori possibili mascherati per tutte le CPU. 11-4 • come parametri di ingresso per la SFC 36 • come parametri di uscita per la SFC 36. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di eventi di errori di sincronismo Parola meno significativa degli errori di programma La tabella seguente contiene gli errori associati alla parola meno significativa della maschera per errori di programma. Ad ogni errore è associata la possibile causa. Errore ID di evento L'errore ha luogo... (W#16#...) Errore di conversione BCD 2521 ... se il valore da convertire non è un numero BCD (p. es. 5E8). Errore di lunghezza campo 2522 in lettura ... se un operando indirizzato non giace completamente all'interno o addirittura giace all'esterno del campo permesso. Esempio: deve essere letto MW 320, sebbene l'area merker sia solo di 256 byte. Errore di lunghezza campo 2523 in scrittura ... se un operando indirizzato non giace completamente all'interno o addirittura giace all'esterno del campo permesso. Esempio: deve essere letto MW 320, sebbene l'area merker sia solo di 256 byte.. Errore di campo in lettura 2524 ... se in un indirizzamento indiretto e concernente campi diversi viene assegnato un errato identificatore di campo per l'operando Esempio: giusto: LAR1 P#E 12.0 L W[AR1, P#0.0] sbagliato: LAR1 P#12.0 L W[AR1, P#0.0] In questa operazione viene segnalato l'errore di campo. Errore di campo in scrittura 2525 ... se in un indirizzamento indiretto e concernente campi diversi viene assegnato un errato identificatore di campo per l'operando Esempio: giusto: LAR1 P#E 12.0 T W[AR1, P#0.0] sbagliato: LAR1 P#12.0 T W[AR1, P#0.0] In questa operazione viene segnalato l'errore di campo. Errore di numero di temporizzatore 2526 Errore di numero di contatore 2527 .... se si vuole accedere ad un temporizzatore non esistente. Esempio: SI T [MW 0] con MW 0 = 129; il temporizzatore 129 deve essere avviato, ma sono presenti solo 128 temporizzatori. Errore di indirizzamento in 2528 lettura .... se si vuole accedere ad un contatore non esistente. Esempio: ZV Z [MW 0] con MW 0 = 600; si vuole accedere al contatore 600, ma sono presenti solo 512 contatori (CPU 416-1). ... se si indirizza un byte, una parola o una doppia parola con un indirizzo di bit 00. Esempio: giusto: LAR1 P#M12.0 L B[AR1, P#0.0] sbagliato: LAR1 P#M12.4 L B[AR1, P#0.0] Errore di indirizzamento in 2529 scrittura ... se si indirizza un byte, una parola o una doppia parola con un indirizzo di bit 00. Esempio: giusto: LAR1 P#M12.0 T B[AR1, P#0.0] sbagliato: LAR1 P#M12.4 T B[AR1, P#0.0] Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11-5 SFC per la gestione di eventi di errori di sincronismo Parola più significativa degli errori di programma La tabella seguente contiene gli errori associati alla parola più significativa della maschera per errori di programma. Ad ogni errore è associata la possibile causa. Errore ID di errore L'errore ha luogo... (W#16#...) Errore di scrittura blocco dati 2530 ... se il blocco dati nel quale si vuole scrivere è protetto in scrittura. Errore di scrittura blocco dati di istanza 2531 ... se il blocco dati di istanza nel quale si vuole scrivere è protetto in scrittura. Errore di numero di blocco 2532 DB ... se si vuole aprire un blocco dati, il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2533 DI ... se si vuole aprire un blocco dati di istanza, il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2534 FC ... se si vuole richiamare una funzione il cui numero è maggiore del numero massimo permesso. Errore di numero di blocco 2535 FB ... se si vuole richiamare un blocco funzionale il cui numero è maggiore del numero massimo permesso. DB non è caricato ... se il blocco dati da aprire non è caricato. 253A FC non è caricata 253C ... se la funzione da richiamare non è caricata. SFC non presente 253D ... se la funzione da richiamare non è caricata. FB non caricato 253E ... se il blocco funzionale da richiamare non è caricato. SFB non presente 253F ... se il blocco funzionale da richiamare non è caricato. Errori di accesso La tabella seguente contiene per tutte le CPU gli errori assegnati alla maschera per gli errori di accesso. Ad ogni errore è associata la possibile causa Errore ID di evento (W#16#...) L'errore ha luogo ... Errore di accesso alla periferia in lettura 2942 ... se all'indirizzo nell'area di periferia non è associata alcuna unità E/A oppure ... se l'accesso a questa area di periferia non viene confermato entro il tempo configurato di sorveglianza unità (ritardo conferma indirizzo). Errore di accesso alla periferia in scrittura 2943 ... se all'indirizzo nell'area di periferia non è associata alcuna unità E/A oppure ... se l'accesso a questa area di periferia non viene confermato entro il tempo configurato di sorveglianza unità (ritardo conferma indirizzo). 11-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di eventi di errori di sincronismo 11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT" Descrizione La SFC 36 "MSK_FLT" (mask synchronous faults) si usa per comandare la reazione della CPU ad eventi di errori di sincronismo. A questo scopo occorre mascherare il corrispondente evento di errore (mascheramento, vedere capitolo Mascheramento di eventi di errori di sincronismo). Con il richiamo della SFC 36 si mascherano gli eventi di errori di sincronismo nell'attuale classe di priorità. Se nei parametri di ingresso singoli bit delle maschere per errori di sincronismo vengono impostati su "1", gli altri bit, già impostati in precedenza, conservano il loro valore "1" (operazione logica di OR). Si ottengono quindi nuove maschere, leggibili mediante i parametri di uscita. Gli eventi di errori di sincronismo mascherati non richiamano alcun OB, ma vengono soltanto registrati in un registro di stato eventi. Tale registro è leggibile tramite la SFC 38 "READ_ERR". Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da mascherare ACCFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da mascherare RET_VAL INT E, A, M, D, L OUTPUT Informazione di errore PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora mascherati ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora mascherati Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Nessuno degli errori era già mascherato. 0001 Almeno uno degli errori era già mascherato; gli altri errori vengono tuttavia mascherati. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11-7 SFC per la gestione di eventi di errori di sincronismo 11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" Descrizione La SFC 37 "DMSK_FLT" (unmask synchronous faults) si usa per demascherare gli eventi di errore mascherati con la SFC 36 "MSK_FLT". Per eseguire questa operazione occorre impostare su "1" nei parametri di ingresso i corrispondenti bit delle maschere. Con il richiamo della SFC 37 si demascherano gli eventi di errori di sincronismo corrispondenti. Contemporaneamente vengono cancellate le registrazioni relative nel registro di stato eventi. Le nuove maschere sono poi leggibili tramite i parametri di uscita. Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da demascherare ACCFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da demascherare RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora mascherati ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora mascherati Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Tutti gli errori indicati sono stati demascherati. 0001 Almeno uno degli errori non era mascherato, gli altri errori vengono comunque demascherati. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 11-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di eventi di errori di sincronismo 11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" Descrizione Con la SFC 38 "READ_ERR" (read error registers) si legge il registro di stato eventi. Tale registro corrisponde, nella sua struttura, alle maschere per gli errori di programma e di accesso, programmabili con le SFC 36 e 37 come parametri di ingresso. Nei parametri di ingresso si indica quali eventi di errori di sincronismo del registro si vogliano consultare. Con il richiamo della SFC 38 si leggono le registrazioni desiderate del registro di stato eventi e le si cancellano contemporaneamente. Dal registro di stato eventi si ottiene l'informazione su quale degli eventi di errore mascherati si sono presentate almeno una volta nella lista attuale di priorità. Un bit impostato sta ad indicare che il rispettivo evento di errori di sincronismo si è presentato almeno una volta. Parametri Dichiarazione Tipo Area di memoria Descrizione PRGFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di programma ACCFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di accesso RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore PRGFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di programma ACCFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di accesso Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Tutti gli errori consultati vengono mascherati. 0001 Almeno uno degli errori consultati non è mascherato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 11-9 SFC per la gestione di eventi di errori di sincronismo 11-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 12 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo Scopo delle SFC 39 ... 42 Queste SFC vengono impiegate per • disabilitare richieste di allarmi o di eventi di errore di asincronismo nell'arco di tutti i successivi cicli di CPU con la SFC 39 "DIS_IRT" oppure per • ritardare classi di più elevata priorità fino al termine del ciclo con la SFC 41 "DIS_AIRT", oppure per • riabilitare richieste di allarmi o di eventi di errore di asincronismo con la SFC 40 "EN_IRT" e SFC 42 "EN_AIRT". L'elaborazione di allarmi e di eventi di errore di asincronismo è programmabile all'interno del programma utente. Per far questo occorre programmare i corrispondenti OB. Vantaggio della SFC 41 e SFC 42 La possibilità di disabilitare richieste di allarmi ed eventi di errore di asincronismo di più elevata priorità con la SFC 41 "DIS_AIRT" e di riabilitarle con la SFC 42 "EN_AIRT" comporta il vantaggio seguente: La CPU tiene il conto delle disabilitazioni di allarmi. Una disabilitazione di richieste di allarmi o di eventi di errore di asincronismo programmata non può essere revocata dal richiamo di eventuali funzioni standard, se queste a loro volta disabilitano e poi abilitano richieste di allarmi ed eventi di errore di asincronismo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 12-1 SFC per la gestione di allarmi e di eventi di errori di asincronismo Classi di allarme Gli allarmi sono suddivisi in diverse classi. La tabella seguente contiene tutte le classi di allarme e i corrispondenti OB. Classi di allarme OB Allarmi dall'orologio OB 10 ... OB 17 Allarmi di ritardo OB 20 ... OB 23 Schedulazioni orologio OB 30 ... OB 38 Interrupt di processo OB 40 ... OB 47 Allarmi per DVP1 OB 55 … OB 57 Allarme di multicomputing OB 60 Allarmi d'errore di ridondanza OB 70, OB 72 Allarmi per errori di asincronismo OB 80 ... OB 87 Allarmi per errori di sincronismo OB 121, OB 122 (L'elaborazione di allarmi per errori di sincronismo viene mascherata o demascherata con le SFC 36, 37 e 38.) Eventi di errori di asincronismo La tabella seguente contiene tutti gli eventi di errore di asincronismo, ai quali è possibile reagire da programma con un corrispondente OB. Eventi di errore di asincronismo OB Errore di tempo (p. es. superamento del max. tempo ciclo) OB 80 Guasto all'alimentazione (p.e. batteria difettosa) OB 81 Allarme di diagnostica (p.e. fusibile difettoso in una scheda di I/O) OB 82 Allarme di estrazione / inserimento OB 83 Evento di errore hardware della CPU (p. es. errore di interfaccia) OB 84 Errore di esecuzione del programma OB 85 Avaria dell'intero telaio di montaggio OB 86 Errore di comunicazione OB 87 12-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT" Descrizione Con la SFC 39 "DIS_IRT" (disable interrupt) si disabilitano nuove richieste di allarmi ed eventi di errori di asincronismo. Disabilitare significa che, al verificarsi di un evento di interruzione, la CPU • né richiama un OB di allarme oppure un OB di errori di asincronismo, • né provoca la reazione stabilita in caso di OB di allarme oppure di OB di eventi di errori di asincronismo non programmati. La disabilitazione delle richieste di allarmi e di eventi di errori di asincronismo rimane valida su tutte le classi di priorità e durante più di un ciclo di programma. Tale disabilitazione può essere revocata solo con la SFC 40 "EN_IRT" o con un nuovo avviamento (avviamento a caldo) e con avviamento a freddo. Se il sistema operativo registra l'avvenuta richiesta di allarme o l'avvenuto evento di errori di asincronismo nel buffer di diagnostica dipende dalla scelta del parametro di ingresso MODE. Avvertenza Si osservi che con la programmazione della SFC 39 "DIS_IRT", vanno perduti tutti gli allarmi che potrebbero eventualmente verificarsi. Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Indica quali richieste di eventi di allarme e di errore di asincronismo vengono disabilitate. BYTE OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 12-3 SFC per la gestione di allarmi e di eventi di errori di asincronismo MODE MODE Significato 00 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono disabilitate (non vengono disabilitati gli eventi di errori di sincronismo). Attribuire al parametro OB_NR il valore 0. Continuano ad essere eseguite registrazioni nel buffer di diagnostica. 01 Tutti i nuovi eventi di una data classe di priorità che si verificano vengono disabilitati. Le classi di allarme sono contrassegnate come segue: • allarmi orologio: 10 • allarmi di ritardo: 20 • allarmi di schedulazione orologio: 30 • interrupt di processo: 40 • allarmi per DPV1: 50 • allarmi di multicomputing: 60 • allarmi per errori di ridondanza: 70 • allarmi per errori di sincronismo: 80 02 Tutte le nuove richieste di un determinato allarme che si verificano vengono disabilitate. Si può contrassegnare un allarme mediante il numero di OB. Continuano ad essere eseguite registrazioni nel buffer di diagnostica. 80 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono disabilitate e non vengono più registrate nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica. 81 Tutti i nuovi eventi di una classe di allarme indicata vengono disabilitati e non vengono più registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica. 82 Tutti i nuovi eventi di un allarme indicato vengono disabilitati non vengono più registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di diagnostica Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro di ingresso OB_NR contiene un valore non permesso. 8091 Il parametro di ingresso MODE contiene un valore non permesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 12-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT" Descrizione Con la SFC 40 "EN_IRT" (enable interrupt) si riabilitano richieste di allarmi e di eventi di errori di asincronismo disabilitate. Abilitare significa che il sistema operativo della CPU, al verificarsi di un evento di interruzione • richiama un OB di allarme oppure un OB di errori di asincronismo oppure • provoca la reazione stabilita in caso di OB di allarme oppure di OB di errori di asincronismo non programmati. Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Indica quali richieste di allarme ed eventi di errore di asincronismo vengono abilitate (vedere uanto segue). BYTE OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. MODE MODE Significato 0 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono abilitate. 1 Tutte le nuove richieste di allarmi di una data classe di priorità che si verificano, vengono disabilitate. Le classi di allarme sono contrassegnate come segue: 2 • allarmi orologio: 10 • allarmi di ritardo: 20 • allarmi di schedulazione orologio: 30 • interrupt di processo: 40 • allarmi per DPV1: 50 • allarmi di multicomputing: 60 • allarmi per errori di ridondanza: 70 • allarmi per errori di sincronismo: 80 Tutte le nuove richieste di un determinato allarme che si verificano vengono abilitate. Si può contrassegnare l'allarme mediante il numero di OB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 12-5 SFC per la gestione di allarmi e di eventi di errori di asincronismo Informazioni di errore Codice di errore (W#16#...) Descrizione 0000 Non è avvenuto alcun errore. 8090 Il parametro di ingresso OB_NR contiene un valore non permesso. 8091 Il parametro di ingresso MODE contiene un valore non permesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 12-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT" Descrizione Con la SFC 41 "DIS_AIRT" (disable alarm interrupts) si ritarda l'esecuzione di OB di allarme e di OB di errori di asincronismo con una priorità più elevata di quella dell'OB in esecuzione. È possibile richiamare più volte la SFC 41 all'interno di un OB. Tali richiami della SFC 41 vengono contati dal sistema operativo. La disabilitazione dura finché tutte le esecuzioni di OB di allarme o di OB di errori di asincronismo, ritardate mediante la SFC 41, non vengono esplicitamente riabilitate con la SFC 42 "EN_AIRT" oppure finché l'elaborazione dell'OB attuale non è giunta al termine. Le richieste di allarmi o di eventi di errori di asincronismo pendenti vengono elaborate non appena viene revocata la disabilitazione tramite la SFC 42 "EN_AIRT" oppure quando l'elaborazione dell'OB attuale è giunta al termine. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Numero dei ritardi ( = numero dei richiami della SFC 41) INT Valore di ritorno La tabella seguente contiene il valore di ritorno della SFC 41, fornito dal parametro RET_VAL. Valore di ritorno Descrizione n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0; vedi capitolo Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT") Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 12-7 SFC per la gestione di allarmi e di eventi di errori di asincronismo 12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42 "EN_AIRT" Descrizione Con la SFC 42 "EN_AIRT" (enable alarm interupts) si abilita nuovamente l'esecuzione di allarmi e di eventi di errori di asincronismo con più elevata priorità, precedentemente ritardata con la SFC 41 "DIS_AIRT". Affinché l'esecuzione possa essere riabilitata, è necessario revocare ogni singola disabilitazione con SFC 42. Esempio Se sono stati disabilitati per 5 volte allarmi mediante 5 richiami della SFC 41, per revocare queste disabilitazioni occorrono 5 richiami di SFC 42. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT E, A, M, D, L Numero dei ritardi ancora programmati dopo l'esecuzione della SFC 42 oppure messaggio di errore. INT Valore di ritorno e informazione di errore Il capitolo Riconoscimento di errore con il parametro di uscita RET_VAL illustra come interpretare le informazioni di errore del parametro RET_VAL. In esso si trovano anche le informazioni di errore generali delle SFC. La tabella seguente contiene tutte le informazioni di errore specifiche per la SFC 42 che possono essere fornite tramite il parametro RET_VAL. Valore di ritorno e codice di errore Descrizione n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0). W#16#8080 Sebbene l'elaborazione dell'allarme fosse già stata abilitata, la funzione è stata comunque richiamata. 12-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13 SFC per la diagnostica 13.1 Diagnostica di sistema Le CPU possiedono internamente dati sullo stato del controllore programmabile. Con "diagnostica di sistema" si intende la possibilità di leggere i dati principali. Alcuni dati possono essere fatti visualizzare sul PG con STEP 7. Per poter accedere ai dati per la diagnostica del sistema anche nel proprio programma, utilizzare le SFC "RD_SINFO" e "RDSYSST" 13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" Descrizione Con la SFC 6 "RD_SINFO" (read start information) si legge l'informazione di avvio • dell'OB richiamato per ultimo e che non è stato elaborato completamente e • dell'OB di avviamento avviato per ultimo Entrambe le informazioni di avvio non contengono la registrazione del tempo. Se il richiamo si verifica nell'OB 100 o 101 o 102, vengono fornite due informazioni di avvio identiche. Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori TOP_SI OUTPUT STRUCT D, L Informazioni di avvio dell'OB attuale START_UP_SI OUTPUT STRUCT D, L Informazione di avvio dell'ultimo OB di avviamento Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-1 SFC per la diagnostica TOP_SI e START_UP_SI I parametri di uscita TOP_SI e START_UP_SI sono due strutture dalla forma identica. La loro forma è riprodotta nella tabella seguente. Elemento di struttura Tipo Descrizione EV_CLASS BYTE Bit da 0 a 3: identificazione dell'evento EV_NUM BYTE Numero dell'evento PRIORITY BYTE Numero del livello di esecuzione (significato di B#16#FE: OB non progettato o disabilitato oppure non avviabile nello stato di funzionamento attuale). NUM BYTE Numero OB TYP2_3 BYTE Identificazione dei dati 2_3: contrassegna l'informazione registrata in ZI2_3 TYP1 BYTE Identificazione dei dati 1: contrassegna l'informazione registrata in ZI1 ZI1 WORD Informazione supplementare 1 ZI2_3 DWORD Informazione supplementare 2_3 Bit da 4 a 7: classe dell'evento Avvertenza Dal punto di vista del contenuto degli elementi di struttura riportati nella tabella sopra corrispondono esattamente alle variabili temporanee di un OB. Tenere tuttavia presente che le variabili temporanee nei singoli OB possono avere altri nomi e altri tipi di dati. Tenere inoltre presente che l'interfaccia di richiamo degli OB contiene inoltre la data e l'ora in cui è stato richiamato l'OB. I bit da 4 a 7 dell'elemento di struttura EV_CLASS contengono la classe dell'evento. Qui sono possibili i seguenti valori: • 1: eventi di avvio degli OB standard • 2: eventi di avvio degli OB di errore di sincronismo • 3: eventi di avvio degli OB di errore di asincronismo L'elemento di struttura PRIORITY fornisce la classe di priorità appartenente all'OB attuale. Oltre a questi due elementi, anche NUM è importante. NUM contiene infatti il numero dell'OB attuale e dell'OB di avviamento avviato per ultimo. 13-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Esempio Supponiamo che l'OB richiamato per ultimo, che non è stato ancora elaborato completamente, sia l'OB80 e che l'OB di avviamento avviato per ultimo sia l'OB100. La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro TOP_SI della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 80. TOP_SI OB 80 Elemento di struttura EV_CLASS EV_NUM PRIORITY NUM TYP2_3 TYP1 ZI1 ZI2_3 Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Variabile locale corrispondente OB80_EV_CLASS OB80_FLT_ID OB80_PRIORITY OB80_OB_NUMBR OB80_RESERVED_1 OB80_RESERVED_2 OB80_ERROR_INFO OB80_ERR_EV_CLASS OB80_ERR_EV_NUM OB80_OB_PRIORITY OB80_OB_NUM Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD BYTE BYTE BYTE BYTE La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro START_UP_SI della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 100. START_UP_SI Elemento di struttura EV_CLASS EV_NUM PRIORITY NUM TYP2_3 TYP1 ZI1 ZI2_3 OB 100 Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Variabile locale OB100_EV_CLASS OB100_STRTUP OB100_PRIORITY OB100_OB_NUMBR OB100_RESERVED_1 OB100_RESERVED_2 OB100_STOP OB100_STRT_INFO Tipo di dati BYTE BYTE BYTE BYTE BYTE BYTE WORD DWORD Informazioni di errore La SFC 6 (RD_SINFO) non fornisce informazioni sugli errori specifiche, ma solo generali. I codici generali di errore e la loro analisi sono descritti in modo dettagliato nel capitolo Riconoscimento di errore con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-3 SFC per la diagnostica 13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST" Descrizione Con la SFC 51 "RDSYSST" (read system status) si può leggere una lista parziale SZL o un estratto della lista parziale SZL. La procedura di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di richiamo della SFC 51. Se è stato possibile eseguire subito la procedura di lettura, la SFC fornisce il valore 0 al parametro di uscita BUSY. Nel caso in cui BUSY abbia il valore 1, la procedura di lettura non è stata ancora portata a termine. Avvertenza Se viene richiamata la SFC 51 "RDSYSST" nell'OB di allarme di diagnostica mediante l'ID SZL W#16#00B1 o W#16#00B2 oppure W#16#00B3 e si accede all'unità che ha posto l'allarme di diagnostica, la procedura di lettura viene eseguita immediatamente. Con la SFC 51 "RDSYSST" vengono trasmessi solo record di dati completi. Risorse del sistema Se vengono avviate varie procedure di lettura asincrone (i job con SZL_ID W#16#00B4 e W#16#4C91, W#16#4092 e W#16#4292 e W#16#4692 ed eventualmente W#16#00B1 e W#16#00B3) a breve distanza l'una dall'altra, il sistema operativo garantisce che queste vengano eseguite tutte senza influenzarsi l'una con l'altra. L'arrivo al limite delle risorse del sistema viene comunicato in RET_VAL. La temporanea situazione di errore può essere rimossa ripetendo il job. Il numero massimo di job attivi "simultaneamente" della SFC 51 dipende dal tipo di CPU. Informazioni a riguardo sono riportate in /70/ e /101/. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'elaborazione SZL_ID INPUT WORD E, A, M, D, L, cost. Identificatore della lista parziale SZL o dell'estratto della lista parziale). INDEX INPUT WORD E, A, M, D, L, cost. Tipo o numero di un oggetto in una lista parziale RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si verifica un errore, il parametro RET_VAL contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L TRUE: l'operazione di lettura non è ancora terminata. SZL_HEADER OUTPUT STRUCT D, L 13-4 Vedere sotto Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Parametri Dichiarazione Tipo Area di memoria Descrizione DR OUTPUT E, A, M, L, D Campo di destinazione della lista parziale SZL trasferita oppure dell'estratto della lista parziale SZL trasferito: ANY • Nel caso sia stata letta solo l'informazione di intestazione di una lista parziale SZL non deve essere analizzato DR bensì solo SZL_HEADER. • Altrimenti il prodotto di LENTHDR e N_DR indica quanti byte sono stati registrati in DR. SZL_HEADER Il parametro SZL_HEADER è una struttura, definita nel modo seguente: SZL_HEADER: STRUCT LENTHDR: WORD N_DR: WORD END_STRUCT LENTHDR è la lunghezza in byte di un set di dati della lista parziale SZL oppure dell'estratto della lista parziale SZL. • Nel caso sia stata letta solo l'informazione di intestazione di una lista parziale SZL, N_DR contiene il numero dei rispettivi set di dati presenti. • Altrimenti N_DR contiene il numero dei set di dati trasmessi nel campo di destinazione. Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 nessun errore 0081 Lunghezza del campo DR troppo piccola. (Nonostante ciò, vengono forniti tanti set di dati quanto possibile. L'intestazione SZL ne indica il numero.) 7000 Primo richiamo con REQ=0: trasferimento dati non attivo; BUSY ha il valore 0. 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. 8081 Lunghezza del campo DR troppo piccola (non c'è abbastanza spazio per un set di dati) 8082 L'ID SZL è sbagliata nella CPU oppure la SFC è sconosciuta. 8083 INDEX errato o non ammesso 8085 Informazione momentaneamente non disponibile per cause interne di sistema (ad es. mancanza di risorse) 8086 Set di dati non leggibile a causa di un errore di sistema (bus, unità, sistema operativo). 8087 Set di dati non leggibile perché l'unità non è disponibile o non conferma. 8088 Set di dati non leggibile perché l'identificazione unità attuale non corrisponde all'identificazione unità di riferimento. 8089 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica o il set di dati stesso. 80A2 Errore di protocollo DP (errore livello 2) (errore temporaneo) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-5 SFC per la diagnostica Codice di errore (W#16#...) Spiegazione 80A3 Errore di protocollo DP in user interface/user (errore temporaneo) 80A4 Comunicazione nel bus K disturbata (errore emerso tra CPU e collegamento DP esterno) (errore temporaneo) 80C5 Periferia decentrata non disponibile (errore temporaneo) 80C6 Il trasferimento del set di dati è stato interrotto a causa di una interruzione della classe di priorità (riavviamento oppure sfondo) 80D2 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL SZL_IDs Avvertenza Le liste parziali leggibili con la SFC 51 "RDSYSST" • per S7-300 sono riportate in /72/ • per S7-400 sono indicate nella seguente tabella. SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) Identificazione unità 0111 Un set di dati di identificazione Identificazione dell'unità 0001 Identificazione dell'hardware di base 0006 Identificazione del firmware di base 0007 Caratteristiche CPU 0012 0112 Tutte le caratteristiche Irrilevante Caratteristiche di un gruppo Unità di elaborazione in MC7 0000 Sistema di tempo 0100 Comportamento sistema 0200 Descrizione linguaggio MC7 0300 Disponibilità di SFC 87 e SFC 0400 0F12 Solo informazione intestazione della lista parziale SZL irrilevante 0113 Un set di dati per l'area di memoria indicata Aree di memoria utente Memoria di lavoro 0001 Aree di sistema 0014 Set di dati di tutti i campi di sistema Irrilevante 0F14 Solo informazione intestazione della lista parziale SZL Irrilevante Tipi di blocchi 0015 13-6 Set di dati di tutti i tipi di blocchi Irrilevante Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) Stato dei LED dell'unità ( non leggibile in tutte le CPU, vedere /102/. 0019 Stato di tutti i LED Irrilevante 0F19 Solo informazione intestazione della lista parziale SZL Irrilevante 001C Identificazione di tutti i componenti 011C Identificazione di un componente Identificazione di un componente irrilevante Nome del sistema di automazione 0001 Nome dell'unità 0002 Sigla dell'impianto dell'unità 0003 Registrazione del copyright 0004 Numero di serie dell'unità 0005 Nome del tipo di unità 0007 Produttore e profilo di un'unità CPU 0009 Identificazione OEM di un'unità 000A Sigla topologica di un'unità 000B 021C Identificazione di tutti i componenti di una CPU di un sistema H N. rack 031C Identificazione di un componente di tutte le CPU ridondate di un sistema H indice 0F1C Solo informazione di intestazione della lista parziale SZL Irrilevante Stato degli allarmi 0222 Set di dati dell'allarme indicato Numero di OB 0025 Assegnazione di tutte le immagini di processo parziali agli OB irrilevante 0125 Assegnazone di un’immagine di processo parziale al rispettivo OB N. immagine di processo parziale 0225 Assegnazione di un OB alla rispettiva immagine di processo parziale N. OB. 0F25 Solo informazione di intestazione della lista parziale SZL irrilevante 0132 Dati di stato di una parte della comunicazione Assegnazione di immagini di processo parziali a CPU Dati sullo stato della comunicazione 0232 Diagnostica 0005 Caratteristiche orologio 0008 Dati di stato per una parte di comunicazione Livello di protezione della CPU e posizioni del selettore 0004 Informazioni cumulative sulla CPU H 0071 Informazioni sullo stato attuale del sistema H Irrilevante 0F71 Solo informazione intestazione della lista parziale SZL Irrilevante Stato dei LED dell'unità (leggibile non in tutte le CPU, vedere /102/). 0174 Stato di un LED Identificazione LED Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-7 SFC per la diagnostica SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) Slave DP attivati nel sistema H 0C75 Stato di comunicazione tra il sistema H ed uno slave DP attivato Indirizzo di diagnostica dell’interfaccia slave DP Informazioni sistema master DP 0090 Informazioni su tutti i sistemi master DP noti alla CPU 0000 0190 Informazioni su un sistema master DP ID sistema master DP 0F90 Solo informazioni nell'intestazione della lista SZL 0000 Informazioni sullo stato delle unità (vengono forniti al max. 27 set di dati) 0191 Informazione di stato di tutte le unità/sottomoduli inseriti Irrilevante 0191 Informazione di stato di tutte le unità non disattivate/telai con identificazione scorretta dell'unità Irrilevante 0291 Informazione di stato di tutte le unità guaste e non disattivate Irrilevante 0591 Informazione di stato unità di tutte di tutti i sottomoduli dell'unità host Irrilevante 0991 Informazione di stato unità di tutti i sottomoduli dell'unità host nel telaio indicato Telaio o ID sistema master DP 0C91 Informazione di stato unità di un'unità nella Indirizzo di base logico struttura centrale o in una interfaccia DP integrata 4C91 Informazione di stato unità di un'unità in una interfaccia DP esterna Indirizzo di base logico 0D91 Informazione di stato di tutte le unità nel telaio indicato/nella stazione DP indicata Telaio o ID sistema master DP o ID sistema master DP e numero stazione 0E91 Informazione di stato di tutte le unità assegnate Irrilevante Informazione di stato di telai e stazioni 0092 Stato di riferimento dei telai nella struttura centrale / delle stazioni di un sistema master DP 0 / ID sistema master DP 4092 Stato di riferimento delle stazioni di un sistema master DP collegato tramite una interfaccia DP esterna ID sistema master DP 0192 Stato di attivazione delle stazioni di un sistema master DP collegato per mezzo di un’interfaccia DP-A integrata ID sistema master DP 0292 Stato attuale dei telai nella struttura centrale / delle stazioni di un sistema master DP 0 / ID sistema master DP 4292 Stato attuale delle stazioni di un sistema master DP collegato tramite interfaccia DP esterna ID sistema master DP 0392 Stato della batteria tampone di un rack/telaio di montaggio di una CPU, in caso di guasto di almeno una batteria 0 0492 Stato dell’intera batteria tampone di tutti i rack/telai di montaggio di una CPU 0 0592 Stato dell’alimentazione da 24 V-di tutti i rack/telai 0 di montaggio di una CPU 4292 Stato attuale delle stazioni di un sistema master DP collegato tramite una interfaccia DP esterna 13-8 ID sistema master DP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica SZL_ID (W#16#...) Lista parziale INDICE (W#16#...) 0692 Stato di diagnostica delle apparecchiature di ampliamento in una configurazione centrale / delle stazioni di un sistema master DP collegato tramite un'interfaccia DP integrata. 0 / ID sistema master DP 4692 Stato di diagnostica delle stazioni di un sistema master DP collegato tramite un'interfaccia DP esterna ID sistema master DP Maggiori informazioni sul sistema master DP 0195 Maggiori informazioni su un sistema master DP ID sistema master DP 0F95 Solo informazioni nell'intestazione della lista SZL 0000 Buffer di diagnostica (vengono forniti 21 set di dati al massimo) 00A0 Tutte le registrazioni fornibili nello stato di funzionamento attuale Irrilevante 01A0 Le registrazioni più recenti, il numero viene indicato tramite l'indice Numero 0FA0 Solo informazione intestazione della lista parziale SZL Irrilevante Dati di diagnostica su unità 00B1 I primi quattro byte di diagnostica di un'unità (DS0) Indirizzo di base logico 00B2 Tutti i dati di diagnostica di un'unità (≤ 220 byte, DS1) (non unità DP) Telaio, posto connettore 00B3 Tutti i dati di diagnostica di un'unità (≤ 220 byte, DS1) Indirizzo di base logico 00B4 Dati di diagnostica di uno slave DP Indirizzo di diagnostica progettato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-9 SFC per la diagnostica 13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG" Descrizione Con la SFC 52 "WR_USMSG" (write user element in diagnosis buffer) si può scrivere un evento di diagnostica definito dall'utente nel buffer di diagnostica. In più è possibile trasmettere i relativi messaggi di diagnostica a tutti i nodi allacciati a questo scopo (tramite assegnazione del parametro di ingresso SEND = TRUE). In caso di errore, il parametro di uscita RET_VAL fornisce l'informazione di errore. Trasmissione messaggio utente Con la SFC 52 viene registrato un evento di diagnostica definito dall'utente nel buffer di diagnostica. In più è possibile trasmettere il relativo messaggio di diagnostica definito dall'utente anche a tutti i partecipanti allacciati a questo scopo (tramite assegnazione del parametro di ingresso SEND = TRUE). Il messaggio di diagnostica definito dall'utente viene dapprima scritta nel buffer di trasmissione e da lì automaticamente trasmesso al nodo allacciato. Si può controllare se la trasmissione del messaggio di diagnostica definito dall'utente è momentaneamente possibile. A tale scopo richiamare la SFC 51 "RDSYSST" con i parametri ID SZL = W#16#0132 e INDEX = W#16#0005. La quarta parola del set di dati fornito indica se la trasmissione è attualmente possibile (1) o meno (0). CPU Nodo p. es. PG, OP SEND= TRUE Buffer di trasmis sione 1 2 ... SFC 52 Trasmissione asincrona al pro gramma utente Buffer diagnostica ... Buffer di trasmissione pieno La registrazione del messaggio di diagnostica nel buffer di trasmissione può avere luogo solo se il buffer di trasmissione non è pieno. Quante registrazioni siano possibili nel buffer di trasmissione, dipende dal tipo della CPU. Se il buffer di trasmissione è pieno, 13-10 • la registrazione dell'evento di diagnostica nel buffer di diagnostica avviene comunque • nel parametro RET_VAL viene indicato che il buffer di trasmissione è pieno (RET_VAL = W#16#8092). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Il nodo non è allacciato Se deve essere trasmesso un messaggio di diagnostica definito dall'utente(SEND = TRUE), ma non è allacciato nessun nodo • la registrazione dell'evento di diagnostica definito dall'utente nel buffer di diagnostica avviene comunque • nel parametro RET_VAL viene indicato che attualmente non è allacciato nessun nodo (W#16#8091) o W#16/8091). Il valore W#16/8091 compare nelle versioni meno recenti della CPU. Struttura generale Un messaggio del buffer di diagnostica è strutturato internamente nel modo seguente: Byte Contenuto 1e2 ID di evento 3 Classe di priorità 4 Numero di OB 5e6 Riservato 7e8 Informazione supplementare 1 9, 10, 11 e 12 Informazione supplementare 2 dal 13 al 20 Registrazione del tempo ID di evento Ad ogni evento è associato un ID di evento. Informazione supplementare L'informazione supplementare contiene ulteriori informazioni relative all'evento. Tali informazioni possono avere contenuti differenti a seconda dell'evento. Se viene generato un evento di diagnostica, è l'utente stesso a poterne stabilire il contenuto. Quando si invia un messaggio di diagnostica definito dall'utente, le informazioni supplementari possono essere integrate come variabili nel testo di segnalazione (specifico dell'ID di evento). Registrazione del tempo Questa registrazione del tempo è del tipo Date_and_Time. Parametri Dichiarazione Tipo Area di memoria Descrizione SEND INPUT BOOL E, A, M, D, L, cost. Abilitazione a trasmettere un messaggio di diagnostica definito dall'utente a tutti i nodi allacciati EVENTN INPUT WORD E, A, M, D, L, cost. ID di evento. Assegnano gli ID di evento. L'assegnazione non avviene attraverso il server di segnalazione INFO1 INPUT ANY E, A, M, D, L Informazione supplementare lunga 1 parola INFO2 INPUT ANY E, A, M, D, L Informazione supplementare lunga 2 parole RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-11 SFC per la diagnostica SEND Con SEND = TRUE il messaggio di diagnostica definito dall'utente viene trasmessa a tutti i nodi allacciati. La trasmissione avviene solo se è allacciato un nodo e se il buffer di trasmissione non è pieno. La trasmissione avviene in maniera asincrona rispetto all'esecuzione del programma utente. EVENTN Il parametro EVENTN contiene l'ID dell'evento dell'utente. È possibile scrivere ID di evento della forma W#16#8xyz, W#16#9xyz, W#16#Axyz, W#16#Bxyz. Gli ID della forma W#16#8xyz e W#16#9xyz fanno parte degli eventi predefiniti, gli ID della forma W#16#Axyz e W#16#Bxyz fanno parte degli eventi liberamente definibili. Un evento entrante viene identificato da x = 1, un evento uscente da x = 0. Per eventi della classe A e B vale: yz è il numero di messaggio in rappresentazione decimale assegnato durante la progettazione del messaggio corrispondente. INFO1 Il parametro INFO1 contiene una informazione lunga una parola. Per INFO1 sono permessi i seguenti tipi di dato: • WORD • INT • ARRAY [0...1] OF CHAR È possibile integrare il parametro INFO1 come variabile nel testo di segnalazione, aggiungendo così informazioni attuali al messaggio. INFO2 Il parametro INFO2 contiene una informazione lunga due parole. Per INFO2 sono permessi i seguenti tipi di dato: • DWORD • DINT • REAL • TIME • ARRAY [0...3] OF CHAR È possibile integrare il parametro INFO2 come variabile nel testo di segnalazione, aggiungendo così informazioni attuali al messaggio. 13-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Nessun errore 0091 Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica avvenuta) 8083 Tipo INFO1 non ammesso 8084 Tipo INFO2 non ammesso 8085 EVENTN non ammesso 8086 Lunghezza di INFO1 non ammessa 8087 Lunghezza di INFO2 non ammessa 8091 (Questo codice di errore compare solo nelle versioni meno recenti della CPU) Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica avvenuta) 8092 Trasmissione attualmente impossibile, il buffer di trasmissione è pieno (evento di diagnostica registrato nel buffer di diagnostica) 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-13 SFC per la diagnostica 13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" Descrizione Con l'SFC 78 "OB_RT” è possibile rilevare il tempo di esecuzione dei singoli OB in momenti diversi. Avvertenza La SFC 78 fornisce i valori temporali registrati per ultimi degli OB desiderati indipendentemente dal fatto che siano caricati o meno. I dati della SFC 78 non vengono resettati in caso di cancellazione o di sovraccarico ma solamente con un nuovo avviamento (avviamento a caldo). Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione OB NR INPUT INT E, A, M, D, L RET VAL OUTPUT INT E, A, M, D, L PRIO OUTPUT INT E, A, M, D, L OB di cui si devono richiedere i tempi elaborati rilevati per ultimi. I numeri OB validi sono quelli degli OB di allarme e di errori di sincronismo generati dalla rispettiva CPU. L'elaborazione degli errori di sincronismo rientra nel tempo di elaborazione del rispettivo OB che ha causato l’errore. L’indicazione degli OB 121 e 122 o degli OB non generati nella CPU produce un messaggio di errore. Se l‘OB=0 vengono trasmessi i dati dell‘OB contestualmente al quale è stata richiamata l‘SFC . Al richiamo dell‘SFC 78 negli OB 121 o 122 mediante OB_NR=0, vengono indicati i tempi dell’OB che ha causato l’allarme inclusi i tempi dell’OB 12x . Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. In caso contrario RET_VAL contiene il numero dell‘OB, per il quale tali dati sono stati richiamati. Il parametro PRIO fornisce la classe di priorità dell'OB interrogato. 13-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Parametri Dichiarazione Tipo Area di memoria Descrizione LAST RT OUTPUT DINT E, A, M, D, L LAST_ET OUTPUT DINT E, A, M, D, L Tempo di esecuzione dell'ultima elaborazione relativa all'OB indicato espresso in microsecondi. Se l’OB relativamente al quale si intende rilevare i tempi di esecuzione è in corso di elaborazione, tenere presente che : Al primo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, il tempo di esecuzione dell’ultima richiesta di OB completata è specificato in LAST_RT. Ad ogni successivo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, in LAST_RT viene specificato: • DW#16#FFFF FFFF se nell’OB desiderato ha già avuto luogo un richiamo della SFC 78 con OB NR=0. • Il tempo di esecuzione dell’ultima richiesta di OB completata se nell’OB desiderato non ha avuto luogo alcun richiamo della SFC 78 con OB NR=0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore non sono indicati in LAST_RT. Tempo in microsecondi trascorso dall’ultima richiesta di OB e la fine dell’elaborazione dell’OB indicato in microsecondi, e precisamente l’ultima elaborazione completata dell’OB indicato. Al primo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, il tempo trascorso tra l’ultima richiesta di OB completamente elaborata e la fine dell’elaborazione dell’OB indicato è specificato in LAST_ET. Ad ogni successivo richiamo della SFC 78 durante l’elaborazione in corso dell’OB desiderato, in LAST_ET viene specificato: • DW#16#FFFF FFFF se nell’OB desiderato ha già avuto luogo un richiamo della SFC 78 con OB NR=0. • Il tempo trascorso tra l’ultima richiesta di OB completamente elaborata e la fine dell’elaborazione dell’OB desiderato, se in quest’ultimo non ha avuto luogo alcun richiamo della SFC 78 con OB NR=0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in LAST_ET. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-15 SFC per la diagnostica Parametri Dichiarazione Tipo Area di memoria Descrizione CUR_T OUTPUT DINT E, A, M, D, L CUR_RT OUTPUT DINT E, A, M, D, L CUR_ET OUTPUT DINT E, A, M, D, L NEXT_ET OUTPUT DINT E, A, M, D, L Tempo della richiesta OB per l’OB indicato e attualmente elaborato, come tempo relativo espresso in microsecondi. Avvertenza: il tempo di sistema è un contatore che conta da 0 a 2 147 483 647 microsecondi. In caso di overflow il contatore riparte nuovamente con 0. Tempo di esecuzione finora trascorso, espresso in microsecondi e relativo all’elaborazione attuale dell’OB indicato. CUR_RT è uguale a 0 se l‘OB non viene elaborato o non è ancora stato elaborato. Ad elaborazione conclusa, il tempo di esecuzione viene acquisito da LAST_RT e CUR_RT viene impostato su 0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore non sono indicati in CUR_RT. Tempo trascorso in microsecondi dal momento della richiesta dell'OB indicato e attualmente elaborato. CUR_ET è uguale a 0, se l'OB indicato non viene attualmente elaborato. Ad elaborazione conclusa, il tempo di esecuzione viene acquisito da LAST_ET e CUR_ET viene impostato su 0. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in CUR_ET. Se sono previste ulteriori elaborazioni dell’OB indicato prima che sia stata completata la richiesta corrente, in NEXT-ET viene indicato in microsecondi il tempo compreso tra il momento corrente ed il momento della successiva richiesta. NEXT_ET è uguale a 0, se non esiste, per l'OB interessato, nessun altro evento di avvio oltre a quello in attesa di elaborazione o attualmente elaborato. WinLC RTX non utilizza questo parametro. Avvertenza: i tempi di interruzione dovuti a OB di livello di priorità superiore sono indicati in NEXT_ET. I tempi comprendono anche i tempi di esecuzione delle elaborazioni degli allarmi per gli errori di sincronismo (OB 121, OB 122) eventualmente annidate. Avvertenza Se in OB_NR si specifica un numero di OB presente nella struttura l’insieme della propria CPU, ma il cui OB corrispondente non è ancora stato richiamato dal sistema operativo o non ancora caricato nella CPU, il numero di OB indicato è specificato in RET_VAL, la priorità progettata (se necessario di default) dell’OB indicato è specificata in PRIO e il valore DW#16#FFFF FFFF è specificato in LAST_RT. 13-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Informazioni sugli errori Classe di evento Spiegazione Codice di errore Da 1 a 102 Numero dell'OB a cui vengono trasmesse delle informazioni. W#16#8080 Il parametro OB NR contiene un valore non ammesso. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-17 SFC per la diagnostica 13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" Descrizione Con la SFC 87 "C_DIAG" è possibile determinare lo stato attuale di tutti i collegamenti S7 e di tutti i collegamenti S7 ad elevata disponibilità (o dei loro collegamenti parziali). Con una corretta analisi di questi dati di collegamento, è possibile riconoscere il guasto di collegamenti S7 e di collegamenti S7 ad elevata disponibilità, segnalandoli eventualmente a un sistema di servizio e supervisione. I collegamenti non controllati possono essere quelli che connettono un sistema di automazione con un altro oppure un sistema di automazione e un sistema di servizio e supervisione. Avvertenza La commutazione dello stato di funzionamento RUN -> STOP -> RUN di una CPU non si ripercuote sullo stato dei collegamenti progettati. Eccezione: quando una stazione H commuta dallo stato di sistema ridondato allo stato di sistema Stop, nei collegamenti ad alta disponibilità vengono interrotti i collegamenti parziali che terminano sulla CPU di riserva. In caso di caduta della tensione di rete, invece, tutti i collegamenti progettati vengono nuovamente creati con conseguente modifica dello stato del collegamento. Al primo richiamo dell'SFC 87 le informazioni sui collegamenti variano, durante o dopo l'avviamento, a seconda che l'ultimo stato della CPU fosse STOP oppure RETE OFF. Procedimento La SFC 87 "C_DIAG" è una SFC che lavora in maniera asincrona, vale a dire che l'elaborazione si può estendere a più richiami di SFC. L'utente avvia il job richiamando la SFC 87 con REQ=1. Quando è possibile avviare il job immediatamente, la SFC del parametro di uscita BUSY rimanda il valore 0. Se BUSY ha valore 1, il job è ancora in corso. Quando si richiama la SFC 87? Per evitare il disturbo di collegamenti S7 e di collegamenti S7 ad elevata disponibilità, richiamare la SFC 87 in un OB di allarme di clock, che venga avviato dal sistema operativo, p. es., ogni 10 secondi. Poiché normalmente è raro che lo stato di un collegamento cambi, con questo richiamo ciclico è preferibile copiare i dati del collegamento nel programma utente soltanto quando sono cambiati rispetto all'ultimo richiamo (richiamo con MODE=B#16#02, vedere oltre). 13-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Come si richiama la SFC 87? La SFC 87 "C_DIAG" ha 4 tipi di funzionamento, che vengono illustrati nella tabella seguente. MODE (B#16#...) La SFC copia i dati del collegamento nel programma utente La SFC trasmette l'informazione di conferma al sistema operativo 00 No Sì 01 Sì 02 • Sì, se i dati del collegamento sono cambiati • No, se i dati del non collegamento sono cambiati 03 Sì Sì SÌ No Con la trasmissione dell'informazione di conferma al sistema operativo, vengono confermate le modifiche dello stato dei dati del collegamento dall'ultimo richiamo della SFC 87 (con MODE=B#16#00, 01 o 02). Avvertenza Utilizzando la SFC 87 in un OB di allarme di clock nel tipo di funzionamento "Copia forzata" (MODE=B#16#02), occorre fare in modo che dopo l'avviamento a freddo della CPU nell'area di destinazione non vi siano valori iniziali. Ciò è possibile richiamando una volta nell'OB 102 la SFC 87 con il tipo di funzionamento "Copia non forzata con conferma " (MODE=B#16#01). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-19 SFC per la diagnostica Parametro Dichiarazione Tipo Area di memoria di dati Descrizione REQ INPUT BOOL Parametro di comando request to activate E, A, M, D, L, cost. REQ=1: avvio del job, se non ancora avvenuto MODE INPUT BYTE E, A, M, D, L, cost. Identificazione job Valori possibili: • B#16#00: la SFC non copia i dati di collegamento ma trasmette al sistema operativo una semplice informazione di conferma • B#16#01: la SFC copia i dati di collegamento a prescindere dal loro stato di modifica nel programma utente e trasmette al sistema operativo un'informazione di conferma • B#16#02: se i dati di collegamento sono cambiati, la SFC li copia nel programma utente. Se non sono cambiati, non vengono copiati. La SFC trasmette in entrambi i casi un'informazione di conferma al sistema operativo • B#16#03: la SFC copia i dati di collegamento a prescindere dal loro stato di modifica nel programma utente ma non trasmette al sistema operativo un'informazione di conferma RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (codice di errore o stato del job) BUSY OUTPUT BOOL E, A, M, D, L BUSY =1: il job non è concluso N_CON OUTPUT INT E, A, M, D, L Indice dell'ultima struttura in CON_ARR, per cui .DIS_PCON o .DIS_CON hanno il valore TRUE. Nel programma utente si devono controllare solo i primi elementi N_CON di CON_ARR Avvertenza: la prima struttura nel campo CON_ARR ha l'indice 1 CON_ARR OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di collegamento letti È ammesso un solo tipo di dati BYTE. A ogni collegamento è assegnata una struttura. Selezionare un'area di destinazione sufficientemente ampia: essa deve contenere tutte le strutture, anche in caso venisse raggiunto il massimo numero di collegamenti supportato dalla CPU. 13-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Struttura dell'area di destinazione CON_ARR L'area di destinazione per i dati di collegamento letti è un array di strutture. A ogni collegamento è assegnata una struttura. L'array non deve essere occupato dall'inizio con registrazioni valide, e tra due registrazioni valide possono trovarsi anche registrazioni non valide. I collegamenti sono disposti in base ai riferimenti. Avvertenza Quando i dati del collegamento vengono copiati dal sistema operativo all'area di destinazione indicata dall'utente, la coerenza dei dati del collegamento è garantita. Configurazione di una struttura Parametro Tipo di dati Descrizione CON_ID WORD Riferimento assegnato dall'utente in NETPRO per questo collegamento W#16#FFFF: identificazione non valida, vale a dire che il collegamento non è progettato. Se sono impostati anche CON_ARR[i].DIS_PCON o CON_ARR[i].DIS_CON (vedere oltre), il collegamento è stato riprogettato o cancellato dall'ultimo richiamo della SFC 87. STAT_CON BYTE Stato attuale del collegamento S7 o del collegamento S7 ad elevata disponibilità Valori possibili: • B#16#00: collegamento S7 non creato • B#16#10: collegamento S7 ad elevata disponibilità non creato • B#16#01: collegamento S7 in fase di creazione • B#16#11: collegamento S7 ad elevata disponibilità in fase di creazione • B#16#02: collegamento S7 creato • B#16#12: collegamento S7 ad elevata disponibilità creato ma non ad elevata disponibilità • B#16#13: collegamento S7 ad elevata disponibilità creato e ad elevata disponibilità PROD_CON BYTE N. di collegamento parziale del collegamento produttivo STBY_CON BYTE N. di collegamento parziale del collegamento standby (B#16#FF: nessun collegamento standby) Valori possibili: 0, 1, 2, 3 Valori possibili: 0, 1, 2, 3 Avvertenza: solo un collegamento S7 ad elevata disponibilità può avere un collegamento standby Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-21 SFC per la diagnostica Parametro Tipo di dati Descrizione DIS_PCON BOOL Le transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 di CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC impostano CON_ARR[i].DIS_PCON a 1. Tutte le altre modifiche di stato del collegamento i lasciano CON_ARR[i].DIS_PCON invariato. Avvertenza: DIS_CON BOOL • Con MODE=B#16#01 e 02, il bit corrispondente a DIS_PCON nel sistema operativo viene resettato in seguito alla copiatura dei dati di collegamento nella zona del traguardo. • Con MODE=B#16#03, il bit corrispondente a DIS_PCON nel sistema operativo rimane invariato. Qualsiasi modifica di CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC ad eccezione delle transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 imposta CON_ARR[i].DIS_CON su 1. Avvertenza: • Con MODE=B#16#01 e 02, il bit corrispondente a DIS_CON nel sistema operativo viene resettato in seguito alla copiatura dei dati di collegamento nella zona del traguardo. • Con MODE=B#16#03, il bit corrispondente a DIS_CON nel sistema operativo rimane invariato.. RES0 BYTE Riservato (B#16#00) RES1 BYTE Riservato (B#16#00) Informazioni sugli errori Codice di errore (W#16#...) Spiegazione 0000 • MODE=B#16#00, 01 o 02: nessuna modifica dello stato del collegamento (elemento della struttura STAT_CON) dall'ultimo richiamo. L'ordine è stato eseguito senza errori • MODE=B#16#03: copia riuscita senza errori • MODE=B#16#00, 01 o 02: modifica dello stato del collegamento (elemento della struttura STAT_CON) con almeno un collegamento dall'ultimo richiamo. Il job è stato eseguito senza errori • MODE=B#16#03: RET_VAL W#16#0001 impossibile: 0001 7000 Primo richiamo con REQ=0. Il job definito con MODE non viene elaborato. BUSY ha il valore 0 7001 Primo richiamo con REQ=1. Il job definito con MODE è stato avviato. BUSY ha il valore 1. 7002 Richiamo intermedio (non rilevante per REQ). Il job attivato è ancora in corso. BUSY ha il valore 1. 8080 Il parametro MODE ha un valore non valido 8081 Il parametro CON_ARR ha un tipo di dati non valido 8082 Il parametro CON_ARR ha una lunghezza insufficiente. La SFC non copia i dati nell'area di destinazione 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 13-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica 13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" Descrizione La SFC 103 "DP_TOPOL" permette di determinare la topologia di un sistema master DP selezionato. Richiamando la SFC 103 vengono indirizzati tutti i repeater di diagnostica del sistema master DP. Avvertenza La topologia può essere definita soltanto per un sistema master DP per volta. La definizione della topologia è indispensabile per visualizzare i dettagli della localizzazione in caso di guasti delle linee. Ripetere la definizione della topologia con la SFC 103 dopo la configurazione e in seguito a ogni modifica della configurazione fisica di un sistema master DP. Per modifica della configurazione fisica si intende: • Modifica della lunghezza dei conduttori • Inserimento o estrazione di nodi o componenti con funzioni di repeater • Modifica di indirizzi dei nodi Se un repeater di diagnostica segnala un errore, la SFC scrive le uscite DPR e DPRI per la durata di un ciclo SFC. Se viene segnalato un errore da più repeater di diagnostica del sistema master DP selezionato, la SFC scrive in DPR e DPRI le informazioni sul primo repeater di diagnostica che ha segnalato l’errore. L’informazione di diagnostica completa può essere letta con la SFC 13 "DPNRM_DG" o con STEP 7. Se nessun repeater di diagnostica segnala un errore, le uscite DPR e DPRI hanno il valore ZERO. Se in seguito al verificarsi di un errore si intende avviare nuovamente la definizione della topologia, è necessario innanzitutto eseguire il resettaggio dell'SFC 103. Il resettaggio avviene richiamanfo l'SFC 103 mediante REQ = 0 e R = 1. Procedimento La SFC 103 "DP_TOPOL" è una SFC a funzionamento asincrono, vale a dire che l’elaborazione comprende più richiami di SFC. Per avviare la definizione della topologia di bus, richiamare SFC 103 con REQ=1. Per interrompere il processo richiamre la SFC 103 con R=1. Per mezzo dei parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job, vedi anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Avvertenza La definizione della topologia può richiedere diversi minuti. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-23 SFC per la diagnostica Identificazione di un job Il parametro di ingresso DP_ID definisce un job in modo univoco. Se l’utente ha richiamato la SFC 103 "DP_TOPOL" e la richiama nuovamente prima di terminare la definizione della topologia, la SFC si comporta in un determinato modo se è stato richiamato lo stesso job: se il parametro DP_ID corrisponde a un job non ancora concluso, il richiamo della SFC viene interpretato come richiamo successivo, e in RET_VAL viene registrato il valore W#16#7002. Se invece si tratta di un altro job, la CPU lo respinge. Parametri Dichiaraz Tipo ione Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, Cost.. REQ=1: avvio della definizione della topologia R INPUT BOOL E, A, M, D, L, Cost. R=1: interruzione della definizione della topologia DP_ID INPUT INT E, A, M, D, L, Cost. ID del sistema master DP la cui topologia deve essere definita RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: la definizione della topologia non è ancora terminata DPR OUTPUT BYTE E, A, M, D, L Indirizzo PROFIBUS del repeater di diagnostica che segnala un errore DPRI OUTPUT BYTE E, A, M, D, L Segmento di misura del repeater di diagnostica che segnala un errore: • Bit 0 = 1: guasto temporaneo del segmento DP2 • Bit 1 = 1: guasto temporaneo del segmento DP2 • Bit 4 = 1: guasto temporaneo del segmento DP3 • Bit 5 = 1: guasto permanente del segmento DP3 Guasti permanenti: nella rete sono stati rilevati guasti permanenti che impediscono di definire correttamente la topologia. I dati esatti sulle cause dei guasti si possono leggere come informazioni di diagnostica con la SFC 13 "DPNRM_DG" o con STEP 7. Guasti temporanei: nella rete sono stati rilevati guasti temporanei che impediscono di definire correttamente la topologia. Probabilmente si tratta di un contatto difettoso o di diversi errori indefiniti. Non è possibile rilevare la causa precisa del guasto. 13-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per la diagnostica Informazioni di errore Per quanto riguarda le informazioni di errore "vere e proprie" (codici di errore W#16#8xyz) della tabella che segue occorre fare una distinzione: • Errori temporanei (codici di errore da W#16#80A2 a 80A4, 80C3, 80C5): Questo tipo di errore può essere eliminato senza l'intervento dell'utente, vale a dire che è sufficiente richiamare nuovamente la SFC (eventualmente più volte). Esempio di errore temporaneo: le risorse richieste sono momentaneamente occupate (W#16#80C3). • Errori permanenti (codici di errore W#16#8082, 80B0, 80B2): Questo tipo di errore non può essere eliminato senza l'intervento dell'utente. È opportuno richiamare nuovamente la SFC soltanto dopo aver eliminato l'errore. Esempio di errore permanente: il master DP / la CPU non supportano questo servizio (W#16#80B0). Codice di errore (W#16#...) Spiegazione 0000 Il job è stato eseguito senza errori. 7000 Primo richiamo con REQ=0. Non viene avviata alcuna definizione della topologia di bus. BUSY ha il valore 0. 7001 Primo richiamo con REQ=1. Il job è stato impostato per definire la topologia. BUSY ha il valore 1. 7002 Richiamo intermedio (REQ irrilevante): La definizione della topologia non è ancora terminata. BUSY ha il valore 1. 7010 L'utente ha cercato di interrompere la definizione della topologia ma non è in corso nessun job con il DP_ID indicato. BUSY ha il valore 0. 7011 Primo richiamo con R=1. L'interruzione della definizione della topologia è stata avviata. BUSY ha il valore 1. 7012 Richiamo intermedio: l'interruzione della definizione della topologia non è ancora conclusa. BUSY ha il valore 1. 7013 Ultimo richiamo: la definizione della topologia è stata interrotta. BUSY ha il valore 0. 8082 Non è stato progettato un sistema master DP con il DP_ID indicato. 80A2 Errore di definizione della topologia; informazioni più precise sono riportate nei parametri di uscita DPR e DPRI 80A3 Errore di definizione della topologia; il tempo di controllo è scaduto (timeout) 80A4 Comunicazione disturbata nel bus di comunicazione 80B0 Il master DP / la CPU non supportano questo servizio. 80B2 Errore di definizione della topologia: nel sistema master DP selezionato non è stato riconosciuto un repeater di diagnostica. 80C3 Le risorse richieste sono momentaneamente occupate. Cause possibili: l'utente ha avviato una seconda definizione della topologia (è consentita una sola definizione della topologia per volta) o nella CPU H è attualmente in corso un accoppiamento e aggiornamento. 80C5 Il sistema master DP non è attualmente disponibile. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 13-25 SFC per la diagnostica 13-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI" Descrizione Con la SFC 26 "UPDAT_PI" (update process image) è possibile aggiornare l'immagine di processo dell'OB1 (= immagine di processo parziale 0) degli ingressi o un‘immagine di processo parziale degli ingressi definita con STEP 7. Nel caso che come procedura di segnalazione per l'aggiornamento dell'immagine di processo da parte del sistema sia stata progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia, con la SFC 26 viene sempre eseguito l'aggiornamento dell'immagine di processo parziale selezionata. Altrimenti questo aggiornamento con la SFC 26 viene eseguito solo se l'immagine di processo parziale selezionata non viene aggiornata da parte del sistema, vale a dire • se questa immagine di processo parziale non è stata assegnata ad alcun OB di allarme, oppure • se è stata selezionata l'immagine di processo parziale 0 e (per mezzo della progettazione) è stato disinserito l'aggiornamento dell'immagine di processo dell'OB1. Avvertenza Ogni indirizzo logico che è stato assegnato ad un'immagine di processo parziale degli ingressi non fa più parte dell'immagine di processo dell'OB1 degli ingressi. Un’immagine di processo parziale aggiornata con la SFC 26 non può essere aggiornata contemporaneamente con la SFC 126 "SYNC_PI”. L'aggiornamento da parte del sistema dell'immagine di processo dell'OB1 degli ingressi e delle immagini di processo parziali degli ingressi che sono stati assegnate ad un OB di allarme ha luogo indipendentemente dai richiami della SFC 26. Parametri Dichiarazione Tipo Area di memoria Descrizione PART INPUT BYTE E, A, M, D, L, cost. Numero dell'immagine di processo parziale da aggiornare degli ingressi. Max. campo di valori (dipendente dalla CPU): da 0 a 15 ( 0 significa immagine di processo dell'OB1, n con 1 ≤ n ≤ 15 significa immagine di processo parziale n) RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si è verificato un errore di accesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-1 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 Valore non ammesso per il parametro PART. 8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. 8092 L'immagine di processo parziale viene aggiornata dal sistema con un OB e non è stata allo scopo progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia. Non è stato ancora eseguito un aggiornamento con la SFC 26 "UPDAT PI". 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si utilizza l'SFC 26 "UPDAT_PI" per immagini di processo parziale degli slave normalizzati DP per cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 14 "DPRD_DAT". 14-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" Descrizione Con la SFC 27 "UPDAT_PO" (update process outputs) vengono trasmessi alle unità di uscita gli stati di segnale dell'immagine di processo dell'OB1 (=immagine di processo parziale 0) delle uscite oppure un immagine di processo parziale delle uscite definita con STEP 7. Se per l'immagine di processo parziale scelta è stata definita un'area di coerenza, i dati corrispondenti verranno trasmessi in modo coerente all'unità periferica opportuna. Avvertenza Ogni indirizzo logico che è stato assegnato con STEP 7 ad un'immagine di processo parziale delle uscite non fa più parte dell'intera immagine di processo dell'OB1 delle uscite. Le uscite aggiornate con la SFC 27 non possono essere aggiornate contemporaneamente con la SFC 127 "SYNC_PO”. La trasmissione alle unità di uscita, da parte del sistema, dell'immagine di processo dell'OB1 delle uscite e delle immagini di processo parziali delle uscite che sono state assegnate ad un OB di allarme ha luogo indipendentemente dai richiami della SFC 27. Parametri Dichiarazione Tipo Area di memoria Descrizione PART INPUT BYTE E, A, M, D, L, cost. Numero dell'immagine di processo parziale da trasmettere delle uscite. Max. campo di valori (dipendente dalla CPU): da 0 a 15 ( 0 significa immagine di processo dell'OB1, n con 1 ≤ n ≤ 15 significa immagine di processo parziale n) RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si è verificato un errore di accesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-3 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 Valore non ammesso per il parametro PART 8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si utilizza SFC 27 "UPDAT_PO" per immagini di processo parziale degli slave normalizzati DP per cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 15 "DPWR_DAT". 14-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_PI" Descrizione Con l'SFC 126 "SYNC_PI" è possibile aggiornare l'immagine di processo parziale degli ingressi con sincronizzazione di clock. L'SFC consente quindi ad un programma utente collegato ad un clock DP di aggiornare, in modo coerente ed con sincronizzazione di clock, i dati acquisiti in ingresso all'interno di un'immagine di processo parziale degli ingressi. L'SFC 126 può essere interrotta ed è richiamabile unicamente negli OB 61, 62, 63 e 64. Avvertenza È consentito richiamare la SFC 126 "SYNC_PI" negli OB 61 - 64 soltanto se la corrispondente immagine di processo parziale è stata assegnata al rispettivo OB in configurazione HW. Un’immagine di processo parziale aggiornata con la SFC 126 non può essere aggiornata contemporaneamente con la SFC 26 "UPDAT_PI”. Parametri Parametri Dichiarazione Tipo Campo di valori PART INPUT da 1 a 30 BYTE Preconfigurazione Descrizione Numero dell'immagine di processo parziale degli ingressi che dev'essere aggiornata con sincronizzazione di clock. RET_VAL OUTPUT INT Informazioni sugli errori FLADDR OUTPUT WORD Indirizzo del primo byte che causa l'errore, nel caso si sia verificato un errore di accesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-5 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Informazioni sugli errori Classe di evento Spiegazione Codice di errore W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo parziale degli ingressi non è consentito in questo OB. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#80A0 Durante l'aggiornamento è stato rilevato un errore di accesso. Gli ingressi interessati sono stati impostati a "0". W#16#80A1 Il momento dell'aggiornamento è posteriore all'intervallo di accesso. L'immagine di processo parziale degli ingressi non è stata aggiornata. Il ciclo DP è troppo breve per garantire un tempo sufficiente per l'elaborazione SFC. Pertanto è necessario incrementare i tempi TDP, Ti e To in STEP 7. W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. L'immagine di processo parziale degli ingressi non è stata aggiornata. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si impiega la SFC 126 "SYNC_PI" per parti dell'immagine di processo di slave DP normalizzati per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di errore della SFC 14 "DPRD_DAT". 14-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_PO" Descrizione Con l'SFC 127 "SYNC_PO" è possibile aggiornare l'immagine di processo parziale delle uscite con sincronizzazione di clock. Il programma utente collegato ad un clock DP può quindi usare questa SFC per trasmettere all'unità periferica, con sincronizzazione di clock ed in modo coerente, i dati di uscita calcolati di un'immagine di processo parziale delle uscite. L'SFC 127 può essere interrotta ed è richiamabile solo negli OB 61, 62, 63 e 64. Avvertenza È consentito richiamare la SFC 127 "SYNC_PO" negli OB 61 - 64 soltanto se la corrispondente immagine di processo parziale è stata assegnata al rispettivo OB in configurazione HW. Un’immagine di processo parziale aggiornata con la SFC 127 non può essere aggiornata contemporaneamente con la SFC 27 "UPDAT_PO”. Parametri Parametri Dichiarazione Tipo Campo di valori PART INPUT BYTE da 1 a 30 Preconfigurazione Descrizione RET_VAL OUTPUT INT Se durante l'elaborazione della funzione si verifica un errore, il valore di risposta contiene un codice di errore. FLADDR OUTPUT WORD Indirizzo del primo byte che causa l'errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Numero dell'immagine di processo parziale delle uscite che dev'essere aggiornata con sincronizzazione di clock. 14-7 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Informazioni sugli errori Classe di evento Spiegazione Codice di errore W#16#0001 Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è stato suddiviso in due cicli DP. Tuttavia i dati interni ad uno slave sono stati trasmessi coerentemente. W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo parziale delle uscite non è consentito in questo OB. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova nell'area dell'immagine di processo ammessa della CPU. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#80A0 Durante l'aggiornamento è stato rilevato un errore di accesso. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#80A1 Il momento dell'aggiornamento è posteriore all'intervallo di accesso. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. Il ciclo DP è troppo breve per garantire un tempo sufficiente per l'elaborazione SFC. Pertanto è necessario incrementare i tempi TDP, Ti e To in STEP 7 W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. Le uscite non sono state trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata. W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Se si impiega la SFC 127 "SYNC_PO" per parti dell'immagine di processo di slave DP normalizzati per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di errore della SFC 15 "DPWR_DAT". 14-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" Descrizione Un richiamo della SFC 79 "SET" (set range of outputs) ha l'effetto seguente: • il campo di bit selezionato nell'area di periferia tramite i parametri N e SA viene impostato • anche i bit corrispondenti nell'immagine di processo delle uscite vengono impostati indipendentemente se si trovano in un'immagine di processo parziale delle uscite. Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di processo. In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 79 tenta altrimenti di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore. Avvertenza Durante l'esecuzione della SFC 79, byte interi vengono sempre scritti nell'area di periferia. Se il campo di bit selezionato tramite i parametri N e SA non inizia o termina su un limite byte, un richiamo della SFC 79 ha l'effetto seguente: • I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o alla disattivazione di sistemi di raffreddamento • Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra. Se si parametrizza N con "0", un richiamo della SFC 79 non ha alcun effetto. Se non è impostato il relè master control, il richiamo della SFC 79 non ha alcun effetto. Parametri Dichiarazione Tipo Area di memoria Descrizione N INPUT INT E, A, M, D, L, cost. Numero dei bit da impostare RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori SA OUTPUT POINTER P Puntatore sul primo bit da impostare Informazioni di errore Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Riconoscimento di errore con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni di errore generali delle SFC. La SFC 79 non fornisce informazioni sugli errori specifiche per il parametro RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-9 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET" Descrizione Un richiamo della SFC 80 "RSET" (reset range of outputs) ha l'effetto seguente: • il campo di bit selezionato nell'area della periferia tramite i parametri N e SA viene resettato • anche i bit corrispondenti nell'immagine di processo delle uscite vengono resettati indipendentemente se si trovano in un'immagine di processo parziale delle uscite. Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di processo. In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 80 tenta altrimenti di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore. Avvertenza Con l'esecuzione della SFC 80, vengono sempre scritti interi byte nell'area della periferia. Se il campo di bit selezionato tramite i parametri N e SA inizia o termina su un limite byte, un richiamo della SFC 80 ha l'effetto seguente: • I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o la disattivazione di sistemi di raffreddamento. • Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra. Se si parametrizza N con "0", un richiamo della SFC 80 non ha alcun effetto. Se il relè master control non è impostato, un richiamo della SFC 80 non ha alcun effetto. Parametri Dichiarazione Tipo Area di memoria Descrizione N INPUT INT E, A, M, D, L, cost. Numero dei bit da reimpostare RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori SA OUTPUT POINTER P Puntatore sul primo bit da reimpostare Informazioni di errore Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Riconoscimento di errore con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni di errore generali delle SFC. La SFC 80 non fornisce informazioni sugli errori specifiche per il parametro RET_VAL. 14-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" Descrizione L'SFB 32 "DRUM" realizza un dispositivo di avanzamento a passi con al massimo 16 passi. Il numero del primo passo viene assegnato con il parametro DSP e il numero dell'ultimo passo con il parametro LST_STEP. In ogni passo vengono descritti tutti i 16 bit di uscita, da OUT0 a OUT15 e il parametro di uscita OUT_WORD (in cui sono riuniti i bit di uscita). A un bit di uscita viene assegnato il bit relativo del campo OUT_VAL oppure lo stesso bit d'uscita del passo precedente. Il valore assegnato dipende da come vengono occupati i bit di maschera nel parametro S_MASK (vedere tabella seguente). Avvertenza La preimpostazione dei bit della maschera è 0. Per modificare l'impostazione attuale di uno o più bit della maschera, procedere alla modifica nel DB di istanza. L'SFB 32 "DRUM" si inserisce nel passo successivo se all'ingresso JOG di fronte al richiamo dell'SFB precedente è emerso un fronte di salita. Se l'SFB si trova già nell'ultimo passo, le variabili Q e EOD vengono poste in JOG con fronte di salita, DDC riceve valore 0 e l'SFB rimane nell'ultimo passo fino a che l'ingresso RESET non viene occupato da 1. Inoltre è possibile anche un avanzamento in funzione del tempo nel successivo passo. Per fare ciò è necessario che il parametro DRUM_EN sia occupato da 1. Il passaggio nel passo successivo avviene • se è impostato il bit di evento EVENTi relativo al passo attuale e • se è trascorso il tempo assegnato per il passo attuale. Questo tempo risulta dal prodotto della base tempo DTBP e del fattore tempo valido per il passo attuale (dal campo S_PRESET) Avvertenza Il tempo di esecuzione DCC rimasto ancora nel passo attuale viene ridotto solo se il relativo bit d'evento EVENTi è impostato. Se richiamando l'SFB all'ingresso RESET è presente 1, il dispositivo di avanzamento a passi va nel passo il cui numero è stato attribuito all'ingresso DSP. Avvertenza Se è stato selezionato DRUM_EN a 1 si ha il particolare caso di • avanzamento dei passi su interrupt periodico selezionando EVENTi = 1 per DSP i LST_STEP. • avanzamento dei passi su interrupt di evento tramite i bit di evento EVENTi selezionando DTBP = 0. È inoltre possibile fare avanzare in qualsiasi momento il dispositivo di avanzamento a passi (anche con DRUM EN=1) tramite l'ingresso JOG. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-11 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Al primo richiamo del blocco è necessario occupare l'ingresso RESET con 1. Se il dispositivo di avanzamento a passi si trova nell'ultimo passo (DSC ha il valore di LST_STEP) e se il tempo di elaborazione assegnato per questo passo è trascorso, le uscite Q e EOD vengono impostate e l'SFB rimane nell'ultimo passo finché non si occupa l'ingresso RESET con 1. Un temporizzatore DRUM funziona solo negli stati di esercizio AVVIAMENTO e RUN. Il sistema operativo resetta l'SFB 32 "DRUM" all'avviamento a freddo, ma non al nuovo avviamento (avviamento a caldo). Se l'SFB 32 "DRUM" deve essere inizializzato dopo il nuovo avviamento (avviamento a caldo), lo si deve richiamare nell'OB 100 con RESET = 1. Parametri Dichiarazione Tipo Area di memoria Descrizione RESET INPUT BOOL E, A, M, D, L, cost. Il livello 1 causa il resettaggio del dispositivo di avanzamento a passi. Al primo richiamo del blocco è necessario occupare RESET con 1. JOG INPUT BOOL E, A, M, D, L, cost. Un fronte di salita (davanti all'ultimo richiamo di SFB) causa l'avanzamento nel passo successivo, se per caso il dispositivo di avanzamento a passi non si trova ancora nell'ultimo passo. L'avanzamento avviene indipendentemente dal valore attribuito a DRUM_EN. DRUM_EN INPUT BOOL E, A, M, D, L, cost. Parametro di comando che stabilisce se è possibile un avanzamento in funzione del tempo nel passo successivo (1: avanzamento in funzione del tempo possibile). LST_STEP INPUT BYTE E, A, M, D, L, cost. Numero dell'ultimo passo valori possibili: da 1 a 16 EVENTi 1≤ i ≤16 INPUT BOOL E, A, M, D, L, cost. Bit d'evento n. i (appartiene al passo i) OUTj 0≤ j≤15 OUTPUT BOOL E, A, M, D, L Bit d'uscita n. j (identico al bit n. j di OUT_WORD) Q OUTPUT BOOL E, A, M, D, L Parametro di stato che indica se il tempo assegnato per l'elaborazione dell'ultimo passo è trascorso. OUT_WORD OUTPUT WORD E, A, M, D, L, P Bit di uscita riuniti in una variabile ERR_CODE OUTPUT WORD E, A, M, D, L, P Se durante l'elaborazione dell'SFB si presenta un errore, ERR_CODE contiene l'informazione di errore. JOG_HIS VAR BOOL E, A, M, D, L, cost. (non rilevante per l'utente: parametro d'ingresso JOG del richiamo SFB precedente). EOD VAR BOOL E, A, M, D, L, cost. Identico al parametro di uscita Q DSP VAR BYTE E, A, M, D, L, P, cost. Numero del primo passo valori possibili: da 1 a 16 DSC VAR BYTE E, A, M, D, L, P, cost. Numero del passo attuale DCC VAR DWORD E, A, M, D, L, P, cost. Tempo di elaborazione rimasto ancora nel passo attuale in ms (rilevante solo se DRUM_EN = 1 e relativo bit d'evento = 1). DTBP VAR WORD Base tempo in ms valida per tutti i passi 14-12 E, A, M, D, L, P, cost. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit Parametri Dichiarazione Tipo PREV_TIME VAR DWORD E, A, M, D, L, cost. Area di memoria (Non rilevante per l'utente: tempo sistema del richiamo SFB precedente) S_PRESET VAR ARRAY of WORD Campo unidimensionale con fattori tempo per ogni passo. Scelta sensata degli indizi: [da 1 a 16]. In questo caso S_PRESET [x] contiene il fattore tempo del passo x. OUT_VAL VAR ARRAY E, A, M, D, L, cost. of BOOL Campo bidimensionale con i valori da emettere in ogni passo, se non li si ha cancellati tramite S_MASK. Scelta sensata degli indizi: [da 1 a 16, da 0 a 15]. In questo caso OUT_VAL [x,y] contiene il valore che viene assegnato al bit d'uscita OUTy nel passo x. S_MASK VAR ARRAY E, A, M, D, L, cost. of BOOL Campo bidimensionale con i bit di maschera per ogni passo. Scelta sensata degli indizi: [da 1 a 16, da 0 a 15]. In questo caso S_MASK [x,y] contiene il bit di maschera per il valore yesimo da emettere nel passo x. Significato dei bit di maschera: E, A, M, D, L, cost. Descrizione • 0: il valore relativo del passo precedente viene attribuito al bit d'uscita relativo • 1: il valore relativo da OUT_VAL viene attribuito al relativo bit d'uscita. Informazioni di errore Se dovesse verificare una delle condizioni indicate nella seguente tabella, l'SFC 32 "DRUM" rimane nello stato attuale e l'uscita ERR_CODE viene impostata in base a ciò. Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Valore non ammesso per LST_STEP 8082 Valore non ammesso per DSC 8083 Valore non ammesso per DSP 8084 Il prodotto DCC = DTBP * S_PRESET [DSC] supera il valore 2**31-1 (circa 24,86 giorni) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 14-13 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 14-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15 Funzioni di sistema per l'indirizzamento di unità 15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC" Descrizione Conoscendo il posto connettore di un canale di un'unità di ingresso/uscita e l'offset dell'area di indirizzamento dati utili, è possibile con la SFC 5 "GADR_LGC" (convert geographical address to logical address) rilevare l'indirizzo di base logico corrispondente di un'unità, ovvero l'indirizzo E o A più piccolo. Parametri Dichiarazione Tipo Area di memoria Descrizione SUBNETI D INPUT E, A, M, D, L, cost. • Identificazione dell'area: • 0, se il posto connettore si trova in uno dei telai di montaggio 0 (apparecchiatura centrale) o da 1 a 21 (apparecchiatura di ampliamento) • ID sistema master DP del sistema periferico decentrale, se il posto connettore si trova in un dispositivo di periferia decentrata. • Numero del telaio di montaggio se l'identificazione dell'area è 0 • Numero di stazione del dispositivo di periferia decentrata se l'identificazione dell'area > 0 RACK INPUT BYTE WORD E, A, M, D, L, cost. SLOT INPUT WORD E, A, M, D, L, cost. N. del posto connettore SUBSLOT INPUT BYTE E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è possibile collocare alcun sotto-modulo, indicare 0) SUBADDR INPUT WORD E, A, M, D, L, cost. Offset nell'area di indirizzamento dati utili dell'unità RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori IOID OUTPUT BYTE E, A, M, D, L Identificazione dell'area: B#16#54: Ingresso periferia (PE) B#16#55: Uscita periferia (PA) In caso di unità miste la SFC fornisce l'identificazione dell'area dell'indirizzo più basso. In caso di indirizzi uguali la SFC fornisce l‘identificazione B#16#54. LADDR OUTPUT WORD E, A, M, D, L Indirizzo di base logico dell‘unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15-1 Funzioni di sistema per l'indirizzamento di unità Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8094 Nessuna sotto-rete è stata configurata con la SUBNETID indicata. 8095 Valore non ammesso nel parametro RACK 8096 Valore non ammesso nel parametro SLOT 8097 Valore non ammesso nel parametro SUBSLOT 8098 Valore non ammesso nel parametro SUBADDR 8099 Il posto connettore non è stato progettato o è occupato da un modulo con indirizzi compressi (ET 200S) 809A Il sotto-indirizzo per il posto connettore selezionato non è progettato (possibile soltanto nella periferia a livello centrale per la CPU e l'IM). 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 15-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di sistema per l'indirizzamento di unità 15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR" Descrizione Con la SFC 49 "LGC_GADR" (convert logical address to geographical address) è possibile rilevare il posto connettore dell'unità appartenente ad un indirizzo logico e l'offset nell'area di indirizzamento dati utili dell'unità. Avvertenza L'applicazione della SFC 49 "LGC_GADR" a un modulo con indirizzi compressi (ET 200S) non è ammessa. Parametri Dichiarazione Tipo Area di memoria Descrizione IOID INPUT E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: BYTE • B#16#00: il bit 15 di LADDR indica se l'indirizzo è un ingresso (bit15=0) o un'uscita (bit15=1). • B#16#54 = ingresso di periferia (PE) • B#16#55 = uscita di periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione dell'area dell'indirizzo minore. Se gli indirizzi sono uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico Con un'unità mista si deve indicare il minore dei due indirizzi. RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori AREA OUTPUT BYTE E, A, M, D, L Identificazione dell'area: indica come interpretare i parametri di uscita rimanenti. RACK OUTPUT WORD E, A, M, D, L N. del telaio di montaggio SLOT OUTPUT WORD E, A, M, D, L N. del posto connettore SUBADDR OUTPUT WORD E, A, M, D, L Offset nell'area di indirizzamento dati utili dell'unità corrispondente. Avvertenza Se si impiega un sistema di automazione S7-400H in funzionamento ridondato e, richiamando la SFC 49, si indica nel parametro LADDR l'indirizzo logico di un'unità di uno slave DP collegato, nell'high byte del parametro RACK viene emessa l'ID del sistema master DP del canale attivo. Se non esiste un canale attivo, viene emessa l'ID del sistema master DP corrispondente della CPU master. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15-3 Funzioni di sistema per l'indirizzamento di unità Parametri di uscita AREA Il parametro di uscita AREA indica come interpretare i parametri di uscita RACK, SLOT e SUBADDR. La tabella seguente spiega questo rapporto di dipendenza. Valore di AREA Sistema Significato di RACK, SLOT e SUBADDR 0 S7-400 RACK : N. del telaio di montaggio SLOT : N. del posto connettore SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base 1 S7-300 RACK : N. del telaio di montaggio SLOT : N. del posto connettore SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base 2 DP RACK (low byte): numero di stazione RACK (high byte): ID del sistema master DP SLOT: numero di slot nella stazione SUBADDR: offset nell'area indirizzamento dati utili indirizzo logico dell'unità corrispondente 3 Area S5-P RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 4 Area S5-Q RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 5 Area S5-IM3 RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x 6 Area S5-IM4 RACK : N. del telaio di montaggio SLOT : N. del posto connettore della capsula di adattamento SUBADDR : indirizzo nell'area S5 x Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 L'indirizzo logico indicato non è valido o valore non ammissibile con parametro IOID 8093 Per le unità selezionate tramite IOID e LADDR questa SFC non è consentita. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL 15-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di sistema per l'indirizzamento di unità 15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR" Descrizione Partendo da un indirizzo logico di un'unità, è possibile con la SFC 50 "RD_LGADR" (read module logical addresses) rilevare tutti gli indirizzi logici convenzionati di questa unità. L'assegnazione degli indirizzi alle unità è stata effettuata in precedenza con STEP 7. La SFC 50 registra gli indirizzi logici rilevati nel campo PEADDR o nel campo PAADDR in ordine crescente. Parametri Dichiarazione Tipo Area di memoria Descrizione IOID INPUT E, A, M, D, L, cost. Identificazione dell'area di indirizzamento: BYTE • B#16#00: il bit 15 di LADDR indica se l'indirizzo è un ingresso (bit15=0) o un'uscita (bit15=1). • B#16#54 = ingresso di periferia (PE) • B#16#55 = uscita di periferia (PA) LADDR INPUT WORD E, A, M, D, L, cost. Un indirizzo logico RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori PEADDR OUTPUT ANY E, A, M, D, L Campo per gli indirizzi PE, gli elementi di campo devono essere del tipo WORD. PECOUNT OUTPUT INT E, A, M, D, L Numero degli indirizzi PE forniti PAADDR ANY E, A, M, D, L Campo per gli indirizzi PA, gli elementi di campo devono essere del tipo WORD. INT E, A, M, D, L Numero degli indirizzi PA forniti OUTPUT PACOUNT OUTPUT Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8090 L'indirizzo logico indicato non è valido 80A0 Errore nel parametro di uscita PEADDR: il tipo dei dati degli elementi di campo non è WORD. (Questo codice di errore esiste solo in S7-400 e nella CPU 318.) 80A1 Errore nel parametro di uscita PAADDR: il tipo dei dati degli elementi di campo non è WORD. (Questo codice di errore esiste solo in S7-400 e nella CPU 318.) 80A2 Errore nel parametro di uscita PEADDR: il campo indicato non ha potuto accogliere tutti gli indirizzi logici. 80A3 Errore nel parametro di uscita PAADDR: il campo indicato non ha potuto accogliere tutti gli indirizzi logici. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15-5 Funzioni di sistema per l'indirizzamento di unità 15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" Descrizione Dal canale di un'unità degli ingressi e delle uscite si ricava il rispettivo posto connettore dell'unità. La SFC 70 "GEO_LOG" ("convert geographical address to logical address") consente di determinare da tali dati il corrispondente indirizzo iniziale dell'unità, vale a dire l'indirizzo E o A più basso. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione MASTER INPUT INT E, A, M, D, L, cost. Identificatore area: STATION INPUT INT E, A, M, D, L, cost. • 0 se il posto connettore si trova in uno dei telai di montaggio 0-3 (apparecchiatura centrale) • 1 ... 31: ID del sistema master DP della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo del PROFIBUS • 100 … 115: ID del sistema PROFINET IO della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo del PROFINET Numero del telaio di montaggio se l'identificatore area è = 0 Numero della stazione dell'apparecchiatura da campo se l'identificatore area è > 0 SLOT INPUT INT E, A, M, D, L, cost. Numero del posto connettore SUBSLOT INPUT INT E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è possibile inserire sotto-moduli, qui va indicato 0) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore LADDR OUTPUT WORD E, A, M, D, L Indirizzo iniziale dell'unità il bit 15 di LADDR indica se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). 15-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di sistema per l'indirizzamento di unità Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori 8094 Non è stata configurata una sottorete con la SUBNETID indicata 8095 Valore non consentito per il parametro STATION 8096 Valore non consentito per il parametro SLOT 8097 Valore non consentito per il parametro SUBSLOT 8099 Il posto connettore non è stato progettato 809A L'indirizzo del sotto-modulo per il posto connettore selezionato non è stato progettato 8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15-7 Funzioni di sistema per l'indirizzamento di unità 15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO" Descrizione La SFC 71 "LOG_GEO" ("convert logical address to geographical address") consente di determinare il posto connettore dell'unità corrispondente a un indirizzo logico e l'offset nell'area di indirizzi dei dati utili dell'unità. Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità Indicare nel bit 15 se l'indirizzo disponibile è un indirizzo di ingresso (bit 15 = 0) oppure un indirizzo di uscita (Bit 15 = 1). RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore AREA OUTPUT INT E, A, M, D, L Identificatore area: indica in che modo vanno interpretati i restanti parametri di uscita. MASTER OUTPUT INT E, A, M, D, L, cost. Identificatore area: STATION OUTPUT INT E, A, M, D, L • 0 se il posto connettore si trova in uno dei telai di montaggio 0-3 (apparecchiatura centrale) • 1 ... 31: ID del sistema master DP della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo del PROFIBUS • 100 … 115: ID del sistema PROFINET IO della rispettiva apparecchiatura da campo se il posto connettore si trova in un'apparecchiatura da campo del PROFINET Numero del telaio di montaggio se l'identificatore area è = 0 Numero della stazione dell'apparecchiatura da campo se l'identificatore area è > 0 SLOT OUTPUT INT E, A, M, D, L Numero del posto connettore SUBSLOT OUTPUT INT E, A, M, D, L Numero del sotto-modulo OFFSET OUTPUT INT E, A, M, D, L Offset nell'area di indirizzi dei dati utili dell'unità corrispondente 15-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 Funzioni di sistema per l'indirizzamento di unità Parametro di uscita AREA Valore di AREA Sistema Significato di RACK, SLOT e SUBADDR 0 S7-400 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore SUBSLOT: 0 OFFSET: differenza tra indirizzo logico e indirizzo logico di base 1 S7-300 MASTER: 0 STATION: numero del telaio di montaggio SLOT: Numero del posto connettore SUBSLOT: 0 OFFSET: Differenza tra indirizzo logico e indirizzo logico di base 2 PROFIBUS DP MASTER: ID sistema master DP STATION: numero della stazione SLOT: numero del posto connettore nella stazione SUBSLOT: 0 OFFSET: offset nell'area di indirizzi dei dati utili dell'unità corrispondente PROFINET IO MASTER: ID sistema PROFINET IO STATION: numero della stazione SLOT: numero del posto connettore nella stazione SUBSLOT: numero del sotto-modulo OFFSET: offset nell'area di indirizzi dei dati utili dell'unità corrispondente 3 Area S5 P MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" 4 Area S5 Q MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" 5 Area S5 IM3 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento OFFSET: indirizzo nell'area S5 "x" 6 Area S5 IM4 MASTER: 0 STATION: numero del telaio di montaggio SLOT: numero del posto connettore della capsula di adattamento SUBSLOT: 0 OFFSET: indirizzo nell'area S5 "x" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 15-9 Funzioni di sistema per l'indirizzamento di unità Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori 8090 L'indirizzo logico indicato non è valido 8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita RET_VAL 15-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16 SFC per periferia decentrata o per PROFINET IO 16.1 Attivazione di un interrupt di processo nel master DP con l’SFC 7 "DP_PRAL" Campo di validità L’SFC descritta in questo capitolo può essere utilizzata solo se si usa una CPU 315-2DP come slave intelligente. Descrizione Con l’SFC 7 "DP_PRAL" viene attivato, dal programma utente di uno slave intelligente, un interrupt di processo nel relativo master DP. Questo fa in modo che venga avviato l'OB 40 nel master DP. Con il parametro di ingresso AL_INFO è possibile contrassegnare la causa dell'interrupt di processo desiderato. Questa identificazione di interrupt viene trasferita al master DP e può essere analizzata nell'OB 40 (variabile OB40_POINT_ADDR). L'interrupt di processo richiesto viene definito in modo univoco tramite i parametri di ingresso IOID e LADDR. Per ogni area di indirizzamento progettata nella memoria di trasferimento è possibile attivare un interrupt di processo esattamente nel momento desiderato. Metodo di lavoro L’SFC 7 "DP_PRAL" è un’SFC che lavora in modo asincrono, ciò significa che l'elaborazione comprende più richiami dell’SFC. La richiesta di interrupt di processo viene avviata richiamando l’SFC 7 con REQ=1. Lo stato dell’ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. L’ordine è terminato quando si è conclusa l'elaborazione dell'OB 40 nel master DP. Avvertenza Se lo slave DP viene utilizzato come uno slave standard, l’ordine è concluso non appena il telegramma di diagnostica è stato ritirato dal master DP. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-1 SFC per periferia decentrata o per PROFINET IO Identificazione di un ordine I parametri di ingresso IOID e LADDR definiscono un ordine in modo univoco. Se l’SFC 7 "DP_PRAL" è stata richiamata su uno slave DP e la si richiama nuovamente prima che il master DP abbia confermato l'interrupt di processo richiesto, il successivo comportamento dell’SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine: se i parametri IOID e LADDR concordano con un ordine non ancora concluso, il richiamo SFC viene interpretato come richiamo conseguente, indipendentemente dal valore del parametro AL_INFO, e in RET_VAL viene registrato il valore W#16#7002. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: attivazione interrupt di processo sul relativo master DP IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento nella memoria di trasferimento (dal punto di vista dello slave DP) B#16#54=Ingresso periferia (PE) B#16#55=Uscita periferia (PA) Se si tratta di un'unità mista si deve indicare l'identificazione di area dell'indirizzo minore. Se gli indirizzi sono uguali si deve indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento (dal punto di vista dello slave DP). Se si tratta di un'area appartenente ad un'unità mista si deve indicare il minore dei due indirizzi. AL_INFO INPUT DWORD E, A, M, D, L, cost. Identificazione di interrupt Questa identificazione viene fornita all'OB 40 che deve essere avviato sul relativo master DP (variabile OB40_POINT_ADDR). Se lo slave intelligente viene operato su un master non S7 il telegramma di diagnostica deve essere analizzato nel master (vedere /70/). RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'interrupt di processo attivato non è stato ancora confermato dal master DP. 16-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Il L’ordine è stato eseguito senza errori 7000 Primo richiamo con REQ=0. Nessuna richiesta di interrupt di processo attiva; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. È stato richiesto un interrupt di processo al master DP; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): l'interrupt di processo attivato non è stato ancora confermato dal master DP; BUSY ha valore 1. 8090 Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento errato. 8091 Interrupt inibito tramite la progettazione. 8093 Tramite la coppia di parametri IOID e LADDR viene indirizzata un'unità dalla quale non è possibile una richiesta di interrupt di processo. 80B5 Richiamo nel master DP non ammesso 80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate. 80C5 La periferia decentrata non è attualmente disponibile (p. es. guasto della stazione). 80C8 Lo stato di funzionamento attuale del master DP non consente di eseguire questa funzione. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-3 SFC per periferia decentrata o per PROFINET IO 16.2 Sincronizzazione di gruppi di slave DP con l’SFC 11 "DPSYC_FR" Descrizione Con l’SFC 11 "DPSYC_FR" è possibile sincronizzare uno o più gruppi di slave DP. A tale scopo occorre inviare una delle seguenti istruzioni di comando, o una combinazione di esse, ai gruppi interessati: • SYNC (emissione e congelamento simultanei degli stati delle uscite con gli slave DP) • UNSYNC (annulla nuovamente l'istruzione di comando SYNC) • FREEZE (congelamento degli stati degli ingressi con gli slave DP) • UNFREEZE (annulla nuovamente l'istruzione di comando FREEZE) Avvertenza Osservare che i comandi di controllo SYNC e FREEZE restano attivi anche in seguito a un nuovo avviamento o a un avviamento a freddo. Osservare inoltre che è consentito attivare un solo ordine SYNC/UNSYNC o un solo ordine FREEZE/UNFREEZE alla volta. Presupposti Prima di inviare le istruzioni di comando sopra indicate, gli slave DP devono essere stati suddivisi in gruppi con STEP 7 (vedere /231/). Occorre sapere a quale gruppo e con quale numero è stato assegnato un determinato slave DP e quali caratteristiche hanno i singoli gruppi in merito al comportamento SYNC/FREEZE. Metodo di lavoro L’SFC 11 "DPSYC_FR" è una SFC che lavora in modo asincrono, ciò significa che l'elaborazione comprende più richiami dell’SFC. L’ordine viene avviato richiamando l’SFC 11 con REQ=1. Lo stato dell’ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il paragrafo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Identificazione di un ordine Se è stato attivato un ordine SYNC/FREEZE e viene nuovamente richiamata l’SFC 11 prima che questo ordine sia stato concluso, il successivo comportamento dell’SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se i parametri di ingresso LADDR, GROUP e MODE concordano, il richiamo SFC viene interpretato come richiamo conseguente. 16-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Descrizione delle uscite delle unità DP La descrizione delle uscite di unità DP viene attivata da • Comandi di trasferimento • Scrittura dell'immagine di processo delle uscite nelle unità (da parte del sistema operativo alla fine dell'OB1 oppure richiamando l’SFC 27 "UPDAT_PO"), • Richiamo dell’SFC 15 "DPWR_DAT". Normalmente il master DP trasferisce i dati di uscita alle uscite dello slave DP in modo ciclico (nel ciclo del bus PROFIBUS DP). Quando si desidera inviare simultaneamente alle uscite del processo determinati dati di uscita che possono essere ripartiti tra diversi slave, è possibile inviare l'istruzione di comando SYNC al rispettivo master DP con l'ausilio di SFC 11 "DPSYC_FR": Funzione di SYNC Con l'istruzione di comando SYNC gli slave DP dei gruppi indicati vengono commutati nel modo Sync, ciò significa che il master DP ordina agli slave DP interessati di congelare le uscite sugli ultimi valori ricevuti. Nei telegrammi di uscita successivi gli slave DP memorizzano i dati di uscita in un buffer interno; lo stato delle uscite rimane invariato. Dopo ogni istruzione di comando SYNC gli slave DP dei gruppi selezionati inviano i dati di uscita del loro buffer interno alle uscite del processo. Le uscite vengono di nuovo aggiornate ciclicamente solo quando viene data l'istruzione di comando UNSYNC con l'ausilio dell’SFC 11 "DPSYC_FR". Avvertenza Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data comunicazione tramite il valore di ritorno dell’SFC. Lettura degli ingressi di unità DP I dati di ingresso delle unità DP vengono letti • con comandi di caricamento • durante l'aggiornamento dell'immagine di processo degli ingressi (da parte del sistema operativo all'inizio dell'OB1 oppure richiamando l’SFC 26 "UPDAT_PI"), richiamando l’SFC 14 "DPRD_DAT". Normalmente il master DP riceve questi dati di ingresso ciclicamente (nel ciclo del bus PROFIBUS DP) e dai suoi slave DP e li mette a disposizione della CPU. Se si desidera importare dal processo in modo perfettamente simultaneo determinati dati di ingresso che possono essere ripartiti tra diversi slave, inviare l'istruzione di comando FREEZE al rispettivo master DP con la funzione SFC 11 "DPSYC_FR". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-5 SFC per periferia decentrata o per PROFINET IO Funzione di FREEZE Con l'istruzione di comando FREEZE gli slave DP interessati vengono commutati nel modo Freeze, ciò significa che il master DP ordina agli slave DP interessati di congelare lo stato attuale degli ingressi. Gli slave DP trasferiscono poi questo stato momentaneo al master DP nell'ambito del trasferimento ciclico. Dopo ogni istruzione di comando FREEZE gli slave DP congelano di nuovo lo stato degli ingressi. Il master DP riceve allora lo stato attuale degli ingressi nuovamente in modo ciclico solo quando viene data l'istruzione di comando UNFREEZE con l'ausilio dell’SFC 11 "DPSYC_FR". Avvertenza Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data comunicazione tramite il valore di ritorno dell’SFC. Coerenza dei dati A causa del metodo di lavoro asincrono e la probabilità di interruzione della funzione dovuta a classi di priorità superiore, nell'utilizzare l’SFC 11 "DPSYC_FR" si dovrebbe fare attenzione che le immagini di processo siano coerenti con gli ingressi e le uscite effettive della periferia. Ciò avviene quando viene osservata una delle regole di coerenza seguenti: • Definire le immagini di processo parziali adatte per le "uscite SYNC" e gli "ingressi FREEZE" (solo possibile con S7-400). Richiamare l’SFC 27 "UPDAT_PO" immediatamente prima del rispettivo primo richiamo di un ordine SYNC. Richiamare l’SFC 26 "UPDAT_PI" subito dopo il rispettivo ultimo richiamo di un ordine FREEZE. • Oppure: per le uscite che sono interessate da un ordine SYNC e gli ingressi interessati da un ordine FREEZE utilizzare solo accessi diretti alla periferia. Quando un ordine SYNC è in corso di svolgimento, non devono essere scritte le uscite interessate e quando un ordine FREEZE è in corso di svolgimento non devono essere importati gli ingressi interessati. Utilizzo dell’SFC 15 e SFC 14 Nel caso venga utilizzata l’SFC 15 "DPWR_DAT", questa SFC deve essere stata terminata prima di inviare un ordine SYNC per le rispettive uscite. Nel caso venga utilizzata l’SFC 14 "DPRD_DAT", questa SFC deve essere stata terminata prima di inviare un ordine FREEZE per i rispettivi ingressi. 16-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Avviamento e SFC 11 "DPSYC_FR" È esclusivo compito dell'utente dare le istruzioni di comando SYNC e FREEZE negli OB di avviamento. Se le uscite di uno o più gruppi devono lavorare nel modo Sync già all'avviamento del programma utente, durante l'avviamento queste uscite devono essere inizializzate e l’SFC 11 "DPSYC_FR" deve essere elaborata completamente con l'istruzione di comando SYNC. Se gli ingressi di uno o più gruppi devono lavorare nel modo FREEZE già all'avviamento del programma utente, durante l'avviamento l’SFC 11 "DPSYC_FR" deve essere elaborata completamente per questi ingressi con l'istruzione di comando FREEZE. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT E, A, M, D, L, cost. Parametro di comando attivato al raggiungimento del limite REQ1 attivazione dell’ordine SYNC/FREEZE BOOL LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico del master DP GROUP INPUT BYTE E, A, M, D, L, cost. Selezione gruppi Bit 0 = 1: selezionato gruppo 1 Bit 1 = 1: selezionato gruppo 2 : Bit 7 = 1: selezionato gruppo 8 Possono essere selezionati più gruppi per ordine Il valore B#16#0 non è ammesso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-7 SFC per periferia decentrata o per PROFINET IO Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT E, A, M, D, L, cost. Identificativo dell’ordine (codifica secondo EN 50170, volume 2, PROFIBUS) BYTE Bit 0: riservato (valore 0) Bit 1: riservato (valore 0) Bit 2: • 1: UNFREEZE viene eseguito • 0: senza significato Bit 3: • 1: FREEZE viene eseguito • 0: senza significato Bit 4: • 1: UNSYNC viene eseguito • senza significato Bit 5: • 1: SYNC viene eseguito • 0 : senza significato Bit 6: riservato (valore 0) Bit 7: riservato (valore 0) Possibili valori: con esattamente un identificativo per ordine: B#16#04 (UNFREEZE), B#16#08 (FREEZE), B#16#10 (UNSYNC), B#16#20 (SYNC) con più identificativo per ordine: B#16#14 (UNSYNC, UNFREEZE), B#16#18 (UNSYNC, FREEZE), B#16#24 (SYNC, UNFREEZE), B#16#28 (SYNC, FREEZE) RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. RET_VAL è valido solo per un ciclo, ovvero dal primo comando che segue il richiamo dell’SFC fino al richiamo SFC successivo. Ne consegue che RET_VAL deve essere analizzato dopo ogni elaborazione del blocco. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L’ordine SYNC/FREEZE non è stato ancora terminato. 16-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Codice di errore (W#16#...) Spiegazione 0000 L’ordine è stato eseguito senza errori 7000 Primo richiamo con REQ=0. L’ordine definito da LADDR, GROUP e MODE non è attivo; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. L’ordine definito da LADDR, GROUP e MODE è stato attivato; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): l’ordine SYNC/FREEZE attivato non è ancora in corso; BUSY ha valore 1. 8090 L'unità selezionata tramite LADDR non è un master DP. 8093 Questa SFC non è ammessa per l'unità selezionata tramite LADDR (progettazione o versione del master DP). 8094 Parametro GROUP errato 8095 Parametro MODE errato. 80B0 Il gruppo selezionato tramite GROUP non è stato progettato. 80B1 Il gruppo selezionato tramite GROUP non è stato assegnato a questa CPU. 80B2 L’ordine SYNC specificato tramite MODE non è ammesso sul gruppo selezionato tramite GROUP. 80B3 L’ordine FREEZE specificato tramite MODE non è ammesso sul gruppo selezionato tramite GROUP. 80C2 Mancanza temporanea di risorse del master DP: il master DP elabora momentaneamente il massimo possibile di ordini per una CPU. 80C3 Questo ordine SYNC/UNSYNC non può essere momentaneamente attivato, in quanto in uno stesso momento può essere attivato solo un ordine SYNC-/UNSYNC. Controllare il programma utente. 80C4 Questo ordine FREEZE/UNFREEZE non può essere momentaneamente attivato, in quanto in uno stesso momento può essere attivato solo un ordine FREEZE/UNFREEZE. Controllare il programma utente. 80C5 Cortocircuito direttamente nell'interfaccia DP 80C6 Interruzione dell’ordine perché la CPU ha bloccato l'accesso alla periferia 80C7 Interruzione dell’ordine a causa del nuovo avviamento (avviamento a caldo) o avviamento a freddo del master DP. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-9 SFC per periferia decentrata o per PROFINET IO 16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l‘FC 12 "D_ACT_DP" Descrizione L’SFC 12 "D_ACT_DP" consente la disattivazione e la riattivazione mirate di slave DP/PROFINET IO Device progettati. È inoltre possibile determinare, per ciascun slave DP o PROFINET IO Device utilizzati, se questi componenti sono attualmente attivati o disattivati. Disattivando un IE/PB Link PN IO con l’ausilio di un SFC 12, si avrà la disattivazione di tutti i PROFINET IO Device ad esso subordinati. Il mancato funzionamento viene segnalato. L’SFC 12 non è applicabile su apparecchiature da campo PROFIBUS PA che sono collegate ad un sistema master DP tramite DP/PA Link. Avvertenza Finché sono attivi uno o più ordini SFC 12 non è possibile caricare dal PG alla CPU configurazioni modificate (in ambito CiR). Durante il caricamento dal PG alla CPU di una configurazione modificata in ambito CiR, la CPU rifiuta l’attivazione di un ordine SFC 12. Scopo Se in una CPU vengono configurati slave DP/ PROFINET IO Device che non esistono realmente oppure che al momento non sono necessari, la CPU accede regolarmente a questi slave DP/ PROFINET IO Device. Dopo la loro disattivazione non vi sono più altri accessi della CPU. In PROFIBUS DP si ottiene così il ciclo di bus DP più veloce possibile e non compaiono più i relativi eventi di errore. Esempi applicativi Nella costruzione di macchine in serie il costruttore prevede una varietà di opzioni. Ogni macchina fornita comprende tuttavia solo una combinazione particolare di determinate opzioni. Tutte le opzioni possibili della macchina sono progettate dal costruttore come slave DP/PROFINET IO Device al fine di creare e tenere aggiornato un programma utente comprendente tutte le opzioni possibili. Con l’SFC 12 è possibile disattivare all'avviamento della macchina tutti gli slave DP / PROFINET IO Device non disponibili. Una situazione analoga esiste per le macchine utensili che comprendono molti utensili ma che ne utilizzano solo pochi in un determinato momento. Qui gli utensili vengono realizzati come slave DP/PROFINET IO Device. Il programma utente attiva con l'ausilio dell’SFC 12 gli utensili attualmente necessari e disattiva gli utensili che vengono riutilizzati solo in un secondo momento. 16-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Modalità operative L’SFC 12 "D_ACT_DP" è una SFC che lavora in modo asincrono, ciò significa che l'elaborazione comprende più richiami dell’SFC. L’ordine viene avviato richiamando l’SFC 12 con REQ=1. Lo stato dell’ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Identificazione di un ordine Nel caso è stato avviato un ordine di disattivazione e attivazione e viene di nuovo richiamata l’SFC 12 prima che questo sia stato concluso, il successivo comportamento dell’SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se il parametro LADDR concorda con lo stesso parametro dell’ordine, il richiamo SFC viene interpretato come richiamo conseguente. Disattivazione di slave DP/ PROFINET IO Device Se uno slave DP o un PROFINET IO Device vengono disattivati con l’SFC 12, le relative uscite di processo vengono impostate sui valori sostitutivi progettati oppure su 0 (stato sicuro). Il relativo master DP/PROFINET IO Controller d’ora in poi non accede più a questi componenti. Gli slave DP/PROFINET IO Device disattivati non vengono identificati come disturbati o mancanti nei LED di errore del master DP/PROFINET IO Controller o della CPU L'immagine di processo degli ingressi degli slave DP/PROFINET IO Device disattivati viene aggiornata con 0, ciò sta ad indicare che essa viene trattata come slave DP/PROFINET IO Device guasti. Nel caso nel proprio programma vi sia accesso diretto ai dati utili di uno slave DP/PROFINET IO Device precedentemente disattivati, viene richiamato l'OB di errore di accesso alla periferia (OB 122) ed il relativo evento di avvio viene immesso nel buffer di diagnostica. Nel caso si acceda tramite SFC (p. es. SFC 59 "RD_REC") ad uno slave DP/PROFINET IO Device disattivati, in RET_VAL si ottiene la stessa informazione di errore emessa per slave DP/PROFINET IO Device non disponibili. La disattivazione di uno slave DP/ PROFINET IO Device non causa un avvio dell'OB di errore di esecuzione del programma (OB 85), anche se i suoi ingressi o uscite appartengono all'immagine di processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer di diagnostica. La disattivazione di uno slave DP/ PROFINET IO Device non provoca un avvio dell'OB di guasto del telaio (OB 86) ed il sistema non ordina nemmeno che vengano eseguite registrazioni nel buffer di diagnostica. Se una stazione DP/PNO si guasta dopo essere stata disattivata con l’SFC 12, il guasto non viene riconosciuto dal sistema operativo. Pertanto non avviene né un avvio dell'OB86 né un'introduzione nel buffer di diagnostica. Il guasto della stazione viene constatato solo alla nuova attivazione della stessa e comunicato all'utente tramite il relativo RET_VAL. Con PROFIBUS DP vale: se si intende disattivare slave DP che partecipano come mittenti alla comunicazione diretta, si raccomanda di disattivare prima i riceventi (auditori) che ascoltano quali dati di ricezione il mittente invia al proprio master DP. Solo al termine di questa procedura disattivare il mittente. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-11 SFC per periferia decentrata o per PROFINET IO Attivazione di slave DP/ PROFINET IO Device Riattivando uno slave DP o un PROFINET IO Device con l’SFC 12, questi componenti vengono configurati e parametrizzati dal relativo master DP/ PROFINET IO Controller (come nel caso del ripristino di stazioni DP/PROFINET IO guaste). L'attivazione è da consederarsi conclusa quando questi componenti sono in grado di trasferire i dati utili. L'attivazione di slave DP/PROFINET IO Device non provoca un avvio dell'OB di errore di esecuzione del programma (OB 85), anche se i suoi ingressi o le sue uscite appartengono all'immagine di processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer di diagnostica. L'attivazione di uno slave DP/PROFINET IO Device non provoca un avvio dell'OB di guasto del telaio (OB 86), ed il sistema operativo non comanda nemmeno l'esecuzione di registrazioni nel buffer di diagnostica. Se si cerca di attivare con l’SFC 12 uno slave disattivato separato fisicamente dal bus DP l’SFC invia il codice di errore W#16#80A2 e lo slave rimane disattivato. Nel caso sia di nuovo collegato al bus DP in un secondo momento, occorre riattivare lo slave per mezzo dell’SFC 12 . Avvertenza L'attivazione di uno slave DP/PROFINET IO Device può durare un certo lasso di tempo. Se si desidera interrompere un ordine di attivazione in corso, avviare l’SFC 12 con lo stesso valore per LADDR e MODE = 2. Ripetere il richiamo dell’SFC 12 con MODE = 2 finché non viene visualizzata l'avvenuta interruzione dell’ordine di attivazione con RET_VAL = 0. Se si vogliono attivare slave DP che partecipano alla comunicazione diretta si raccomanda di attivare prima i mittenti e poi i destinatari (auditori). Avviamento della CPU Il sistema operativo della CPU mostra nei diversi tipi di avviamento il comportamento seguente rispetto agli slave DP/PROFINET IO Device: • Nei modi di avviamento a freddo e Nuovo avviamento (avviamento a caldo) vengono riattivati gli slave/ i dispositivi disattivati. • Nel modo di avviamento Riavviamento rimane immutato lo stato di attivazione degli slave/ dei dispositivi: gli slave / i dispositivi attivati rimangono attivati, gli slave/ i dispositivi disattivati rimangono disattivati. Dopo l'avviamento la CPU cerca di stabilire un contatto in modo ciclico con tutti gli slave/ i dispositivi progettati e non disattivati che non sono presenti o non sono indirizzabili. Avvertenza La CPU S7-300-CPU non supporta un richiamo dell’SFC 12 negli OB di avviamento. 16-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Parametri Parametri dell’SFC 12 "D_ACT_DP" Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando attivato al raggiungimento del limite REQ=1: Eseguire attivazione o disattivazione MODE INPUT BYTE E, A, M, D, L, cost. Identificativo di ordine Possibili valori: • 0: fornisce informazioni sull’attivazione/la disattivazione del componente interpellato • 1: attiva slave DP/ PROFINET IO Device • 2: disattiva slave DP/ PROFINET IO Device LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico qualunque di slave DP/ PROFINET IO Device RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L Identificativo attivo: • BUSY=1: l’ordine è ancora attivo • BUSY=0: l’ordine è stato terminato Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 L’ordine è stato eseguito senza errori 0001 Lo slave DP/ il PROFINET IO Device è attivato (questo codice di errore è solo possibile con MODE = 0.) 0002 Lo slave DP/ il PROFINET IO Device è disattivato (questo codice di errore è solo possibile con MODE = 0.) 7000 Primo richiamo con REQ=0. L‘ordine definito con LADDR non è attivo; BUSY ha valore 0. 7001 Primo richiamo con REQ=1. L‘ordine definito con LADDR è stato attivato; BUSY ha valore 1. 7002 Richiamo intermedio (REQ è irrilevante): L‘ordine attivato è ancora in fase di esecuzione; BUSY ha valore 1. 8090 • L'utente non ha progettato un'unità con l'indirizzo indicato in LADDR. • L'utente utilizza la propria CPU come slave I e ha indicato in LADDR un indirizzo di questo slave I. 8092 L'operazione di disattivazione in corso di uno slave DP /PROFINET IO Device (MODE=2) non può essere interrotta dalla sua attivazione (MODE=1) Attivare i componenti in un secondo momento. 8093 All'indirizzo indicato in LADDR non appartiene alcuno slave DP /PROFINET IO Device (assenza di una progettazione ), oppure il parametro MODE non è noto. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-13 SFC per periferia decentrata o per PROFINET IO Codice di errore (W#16#...) Spiegazione 80A1 Non è statopossibile parametrizzare il componetne indirizzato. (Questo codice di errore è possibile soltanto con MODE = 1). Avvertenza: Quest’informazione di errore viene fornita dall’SFC soltanto in caso di guasto dello slave/del dispositivo attivati durante la parametrizzazione. Se soltanto la parametrizzazione di una singola unità non è riuscita, l'SFC fornisce l'informazione di errore W#16#0000. 80A2 Il componente indirizzato non risponde 80A3 Il master DP /PROFINET IO Controller in oggetto non supporta questa funzione. 80A4 La CPU non supporta questa funzione per master DP/PROFINET IO Controller esterni. 80A6 Errore di posto connettore nello slave DP /PROFINET IO Device; non è possibile accedere a tutti i dati utili (questo codice di errore è possibile solo con MODE=1). Avvertenza: Quest’informazione di errore viene fornita dall’SFC soltanto se dopo la relativa parametrizzazione e prima della fine dell’SFC, il componente attivato subisce nuovamente un guasto. Se il gusto concerne una singola unità, l'SFC fornisce l'informazione di errore W#16#0000. 80C1 L’SFC12 è stata avviata e viene continuata con un altro indirizzo logico (questo codice di errore è possibile solo con MODE=1). 80C3 • Errore di risorse temporaneo: la CPU elabora momentaneamente il maggior numero possibile di ordini di attivazione o disattivazione. (Questo codice di errore è possibile soltanto con MODE = 1 e MODE = 2.) • È in corso una modifica della configurazione della CPU. La disattivazione e l’attivazione di slave DP/PROFINET IO Device non è per il momento possibile. 8xyy 16-14 Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO 16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l’SFC 13 "DPNRM_DG" Diagnostica slave Con l’SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. La struttura generale della diagnostica slave è riportata nella seguente tabella, ulteriori informazioni nei manuali relativi agli slave DP. Byte Significato 0 Stato di stazione 1 1 Stato di stazione 2 2 Stato di stazione 3 3 Numero stazione master 4 Identificazione del costruttore (byte superiore) 5 Identificazione del costruttore (byte inferiore) 6 ... Altre diagnostiche specifiche dello slave Descrizione Con l’SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. Al termine del corretto trasferimento dati, i dati letti vengono registrati nell'area di destinazione rappresentata da RECORD. L'operazione di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di richiamo dell’SFC 13. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-15 SFC per periferia decentrata o per PROFINET IO Metodo di lavoro L'operazione di lettura viene eseguita in modo asincrono, cioè l'operazione si estende su un arco di più chiamate dell’SFC 13. Tramite i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato dell’ordine, vedere il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: richiesta di lettura LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di diagnostica progettato dello slave DP Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 1022 significa: LADDR:=W#16#3FE. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. Se invece non ci sono stati errori, in RET_VAL c'è la lunghezza dei dati trasferiti. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di diagnostica letti. Solo il tipo dei dati BYTE è ammesso. Lunghezza minima del set di dati da leggere o dell'area di destinazione = 6, lunghezza massima del set di dati da leggere = 240; negli slave standard in cui il numero di dati di diagnostica di norma è superiore a 240 ed è di max. 244, i primi 240 byte vengono trasferiti nell'area di destinazione e il bit di overflow corrispondente viene impostato nei dati. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'operazione di lettura non è ancora terminata. Parametro di ingresso RECORD La CPU valuta la lunghezza effettiva dei dati di diagnostica: Se l'indicazione della lunghezza di RECORD • è minore del numero dei dati forniti, i dati vengono annullati e in RET_VAL viene registrato il codice di errore corrispondente. • è maggiore o uguale al numero dei dati forniti, i dati passano all'area di destinazione e in RET_VAL viene registrata la lunghezza effettiva come valore positivo. Avvertenza I parametri attuali di RECORD devono concordare in tutti i richiami che appartengono ad un ordine. Un ordine è definito in modo univoco con il parametro di ingresso LADDR. 16-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Slave standard con più di 240 byte di dati di diagnostica Per slave standard, in cui il numero dei dati di diagnostica standard è posto tra i 241 e i 244 byte, si deve fare attenzione a quanto segue: Se l'indicazione della lunghezza di RECORD • è minore di 240 byte, i dati vengono annullati e in RET_VAL viene registrata la relativa informazione di errore. • è maggiore di od uguale a 240 byte, i primi 240 byte dei dati di diagnostica standard vengono trasferiti nell'area di destinazione e il relativo bit di overflow viene impostato nei dati. Parametro di uscita RET_VAL • Se durante l'esecuzione della funzione si è verificato un errore, il valore di ritorno conterrà un codice di errore. • Se durante il trasferimento non si è verificato alcun errore, RET_VAL conterrà la lunghezza dei dati letti in byte come numero positivo. Avvertenza Il numero di dati letti dipende, in uno slave DP, dal suo stato di diagnostica. Informazioni di errore Per analizzare le informazioni di errore del parametro RET_VAL, vedere anche Analisi degli errori con il parametro di uscita RET_VAL. In questo capitolo sono riportate anche le informazioni di errore generali delle SFC. Le informazioni di errore specifiche per l’SFC 13 sono una parte delle informazioni sugli errori per l’SFC 59 "RD_REC", vedere Lettura di set di dati con l’SFC 59 "RD_REC". Risorse del sistema dell'S7-400 Nell'S7-400, con il richiamo dell’SFC 13 "DPNRM_DG" relativo ad un ordine attualmente non elaborato, vengono occupate risorse (dell'area di memoria) della CPU. L’SFC 13 può essere richiamata in modo ripetuto per vari slave DP se non viene superato il numero massimo di ordini SFC 13 attivi contemporaneamente. L'informazione relativa alla cifra massima suddetta può essere consultata in /101/. In caso di ordini attivi "contemporaneamente", è garantito il fatto che questi vengano eseguiti tutti senza influenzarsi l'uno con l'altro. RET_VAL comunica quando si arriva al limite delle risorse di sistema. In questo caso, L’ordine va ripetuto. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-17 SFC per periferia decentrata o per PROFINET IO 16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l’SFC 14 "DPRD_DAT" Coerenza dei dati Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base S7 - Coerenza dei dati. Scopo dell’SFC 14 L’SFC 14 "DPRD_DAT" è necessaria in quanto con i comandi di caricamento che hanno accesso alla periferia e all'immagine di processo degli ingressi è possibile leggere in modo coerente un massimo di quattro byte. Avvertenza I dati coerenti si possono eventualmente leggere anche attraverso l'immagine di processo degli ingressi. Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di automazione S7-300: Configurazione e dati della CPU. Tutte le CPU S7-400 supportano questa funzionalità. ! Cautela In caso di utilizzo dell’SFC 14 "DPRD_DAT" evitare gli accessi ad aree della periferia le cui immagini di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock). Descrizione Con l’SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) è possibile leggere dati coerenti da uno slave standard DP/PROFINET IO Device. Le informazioni relative alla lunghezza massima per le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è di 32 byte. Se il trasferimento dati è avvenuto correttamente, i dati letti vengono registrati nell'area di destinazione rappresentata da RECORD. L'area di destinazione deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità selezionata. 16-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile con un richiamo dell’SFC 14, accedere solo ai dati di un'unità/identificazione DP sotto l'indirizzo iniziale progettato. Parametri Dichiarazione Tipo Area di memoria Descrizione LADDR INPUT E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area E dall'unità da cui si deve leggere. WORD Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 100 significa: LADDR:=W#16#64. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati utili letti. Deve essere della stessa lunghezza progettata con STEP 7 per l'unità selezionata. Solo il tipo di dati BYTE è ammesso. Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Codice di errore (W#16#...) Spiegazione 0000 Nessun errore. 8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure • non è osservata la limitazione relativa alla lunghezza dei dati oppure • l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale. 8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE. 8093 Nessuna unità DP/ nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR dalla quale potete leggere dati coerenti. 80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 80B0 Guasto dello slave con interfaccia DP esterna 80B1 La lunghezza dell'area di destinazione indicata non è uguale alla lunghezza dei dati utili progettata con STEP 7. 80B2 Errore di sistema con interfaccia DP esterna 80B3 Errore di sistema con interfaccia DP esterna 80C0 I dati non sono stati ancora letti dall'unità 80C2 Errore di sistema con interfaccia DP esterna 80Fx Errore di sistema con interfaccia DP esterna 87xy Errore di sistema con interfaccia DP esterna 808x Errore di sistema con interfaccia DP esterna 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-19 SFC per periferia decentrata o per PROFINET IO 16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l’SFC 15 "DPWR_DAT" Coerenza dei dati Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base S7 - Coerenza dei dati. Avvertenza I dati coerenti si possono eventualmente scrivere anche attraverso l'immagine di processo delle uscite. Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di automazione S7-300: Configurazione e dati della CPU. Tutte le CPU S7-400 supportano questa funzionalità. ! Cautela In caso di utilizzo dell’SFC 15 "DPWR_DAT" evitare gli accessi ad aree della periferia le cui immagini di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock). Scopo dell’SFC 15 L’SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno accesso alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo coerente un massimo di quattro byte. Descrizione Con l’SFC 15 "DPWR_DAT" (write consistent data to a DP-normslave) vengono trasferiti i dati in RECORD in modo coerente allo slave standard DP/PROFINET IO Device indirizzato ed eventualmente all'immagine di processo (vale a dire se l'utente ha progettato l'area di indirizzamento dello slave DP standard come area di coerenza in un'immagine di processo). Le informazioni relative alla lunghezza massima dei dati da trasferire per le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è di 32 byte. Il trasferimento avviene in modo sincrono, cioè al termine dell’SFC, anche l'operazione di scrittura è terminata. L'area sorgente deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità selezionata. 16-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 SFC per periferia decentrata o per PROFINET IO Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile accedere solo ad una unità dello slave DP. Parametri Dichiarazione Tipo Area di memoria Descrizione LADDR INPUT E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area IPU dall'unità a cui si deve scrivere. WORD Avvertenza: l'indirizzo deve essere indicato in formato esadecimale. Ad es. l'indirizzo 100 significa: LADDR:=W#16#64. RECORD INPUT ANY E, A, M, D, L Area sorgente per i dati utili letti. Deve essere della stessa lunghezza di come progettata con STEP 7 per l'unità selezionata. Solo il tipo dei dati BYTE è ammesso. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un errore, il valore di ritorno contiene un codice di errore. Informazioni di errore Avvertenza Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54 "RALRM" STATUS[3]. Codice di errore (W#16#...) Spiegazione 0000 Nessun errore. 808x Errore di sistema sull'interfaccia DP esterna 8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure • non è osservata la limitazione relativa alla lunghezza dei dati oppure • l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale. 8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE. 8093 Nessuna unità DP/nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR su cui si possono scrivere dati coerenti. 80A1 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso. 80B0 Guasto dello slave con interfaccia DP esterna. 80B1 La lunghezza dell'area sorgente indicata non è uguale alla lunghezza dei dati utili progettata con STEP 7. 80B2 Errore di sistema con interfaccia DP esterna 80B3 Errore di sistema con interfaccia DP esterna 80C1 I dati del ordine di scrittura precedente sull'unità non sono stati ancora elaborati dall'unità. 80C2 Errore di sistema con interfaccia DP esterna 80Fx Errore di sistema con interfaccia DP esterna 80xy Errore di sistema con interfaccia DP esterna 80x Errore di sistema con interfaccia DP esterna 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 16-21 SFC per periferia decentrata o per PROFINET IO 16-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 17 PROFInet 17.1 Informazioni sulle SFC 112, 113 e 114 Avvertenza Il sistema operativo aggiorna per default sia l'interfaccia PROFInet sia le interconnessioni DP nel punto di controllo del ciclo. Questi aggiornamenti sono indispensabili e vanno eseguiti comunque, anche se l'utente ha disattivato gli aggiornamenti automatici al momento della progettazione (p. es. per incidere meglio sul comportamento temporale della CPU). In questo caso occorre richiamare le SFC da 112 a 114 al momento opportuno. Gli aggiornamenti indicati si possono disattivare al momento della progettazione solamente tutti insieme. Memoria ombra Il DB di interfaccia costituisce l'interfaccia del programma utente dei componenti PROFInet. Per garantire che i suoi ingressi e le sue uscite siano coerenti al momento dell'esecuzione delle corrispondenti parti del programma, per ogni DB di interfaccia è disponibile un'area di memoria, identica per configurazione, che viene gestita dal sistema operativo ed è definita memoria ombra. Nel programma utente è possibile accedere soltanto al DB di interfaccia, mentre altri componenti (esterni) PROFInet possono accedere soltanto alla memoria ombra. In questo modo si evita qualunque conflitto di accesso agli ingressi e alle uscite del DB di interfaccia. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 17-1 PROFInet Aggiornamento dell'interfaccia PROFInet Poiché la coerenza dei dati viene garantita per mezzo della memoria ombra, secondo la descrizione precedente, l'aggiornamento dell'interfaccia PROFInet è costituito dalle due azioni seguenti: • Copia degli ingressi della memoria ombra negli ingressi del DB di interfaccia prima di elaborare il programma utente appartenente al componente PROFInet • Copia delle uscite del DB di interfaccia nelle uscite della memoria ombra dopo aver elaborato il programma utente appartenente al componente PROFInet. L'aggiornamento dell'interfaccia PROFInet viene eseguito automaticamente dal sistema operativo oppure dall'utente, richiamando le SFC 112 e 113 (secondo la progettazione definita al momento della creazione del componente PROFInet nel SIMATIC Manager). La figura seguente mostra uno schema dell'aggiornamento per mezzo delle SFC 112 e 113. '%GಪLQWHUIDFFLD LQWHUIDFFLDSURJUDPPDXWHQWH ,1 287 6)& ರ31B,1ಮ 6)& ರ31B287ಮ 0HPRULDRPEUD ,QWHUIDFFLD352),QHW ,1 287 L'aggiornamento da parte del sistema avviene sempre nel punto di controllo del ciclo. 17-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 PROFInet Invece per aggiornare l'interfaccia tramite le SFC 112 e 113 occorre richiamare la SFC 112 all'inizio dell'OB nel quale si trova il programma appartenente al componente PROFInet e la SFC 113 alla fine dello stesso OB. La figura seguente mostra un esempio utilizzando l'OB 30. 5LFKLDPRGHOOD6)& 5LFKLDPRGHOOD6)& 2% 2% 2% W Avvertenza sui componenti multifunzione (più DB di interfaccia PROFInet su un dispositivo): I componenti multifunzione consentono l’aggioranmento di tutti i DB di interfaccia con un unico ordine SFC (DBNO=0) (analogamente all’aggiornamento nel punto di controllo del ciclo triggerato tramite SFC). Se durante l’aggiornamento di un DB di interfaccia si verifica un errore, l‘operazione di aggiornamento dell’altro DB non viene interrotta. Un eventuale valore negativo di RET_VAL si riferisce ad uno dei DB di interfaccia aggiornati. Aggiornamento delle interconnessioni DP L'aggiornamento delle interconnessioni DP viene eseguito da parte del sistema operativo oppure per mezzo della SFC 114, secondo la progettazione definita al momento della creazione del componente PROFInet nel SIMATIC Manager. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 17-3 PROFInet 17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFInet con la SFC 112 "PN_IN" Descrizione La SFC 112 "PN_IN" consente di copiare i dati di ingresso contenuti in PROFInet dalla memoria ombra del componente PROFInet nel corrispondente DB di interfaccia. Al termine della SFC i dati di ingresso attuali sono a disposizione dell'applicazione utente. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione DBNO INPUT WORD E, A, M, D, L, cost. Numero del DB di interfaccia (DBNO=0: aggiornamento di tutti i DB di interfaccia PROFInet) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori. 8001 La progettazione CBA manca o non è valida. 8002 Il numero del DB non corrisponde alla progettazione del componente. 8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato caricato. 8006 Il DB di interfaccia è protetto in scrittura nella CPU oppure è stato compilato con la parola chiave UNLINKED. 80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile con il DB caricato. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Vedere anche: Informazioni sulle SFC 112, 113 e 114 17-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 PROFInet 17.3 Aggiornamento delle uscite dell'interfaccia PROFInet dei componenti PROFInet con l’SFC 113 "PN_OUT" Descrizione La SFC 113 "PN_OUT" consente di copiare i dati di uscita creati nell'applicazione dell'utente dal DB di interfaccia del componente PROFInet nella corrispondente memoria ombra. Al termine della SFC i dati di uscita attuali sono a disposizione di altri componenti PROFInet. Parametri Dichiarazione Tipo di dati Area di memoria Descrizione DBNO INPUT WORD E, A, M, D, L, cost. Numero del DB di interfaccia (DBNO=0: aggiornamento di tutti i DB di interfaccia PROFInet) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Non si sono verificati errori. 8001 La progettazione CBA manca o non è valida. 8002 Il numero del DB non corrisponde alla progettazione del componente. 8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato caricato. 8006 Il DB di interfaccia è stato compilato con la parola chiave UNLINKED. 80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile con il DB caricato. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Vedere anche: Informazioni sulle SFC 112, 113 e 114 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 17-5 PROFInet 17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP" Descrizione La SFC 114 "PN_DP" consente di aggiornare • Tutte le interconnessioni tra componenti PROFInet nel PROFIBUS locale e • Tutte le interconnessioni con trasferimento ciclico tra componenti PROFInet nel PROFIBUS locale e componenti PROFInet esterni. Queste interconnessioni sono valide oltre i limiti di rete (tra Industrial Ethernet e PROFIBUS DP). Procedimento La SFC 114 "PN_DP" è una SFC asincrona, la cui elaborazione cioè si può estendere per più richiami di SFC. L'aggiornamento delle interconnessioni DP si avvia richiamando la SFC 114 con REQ=1. Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita RET_VAL e BUSY (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'aggiornamento delle interconnessioni DP RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene un codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: L'aggiornamento delle interconnessioni DP non è ancora terminato. 17-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 PROFInet Informazioni di errore Codice di errore (W#16#...) Spiegazione 0000 Ordine eseguito senza errori. 7000 Primo richiamo con REQ=0. L'aggiornamento delle interconnessioni DP non viene avviato. BUSY ha il valore 0. 7001 Primo richiamo con REQ=1. BUSY ha il valore 1. 7002 Richiamo intermedio (REQ è irrilevante). L'aggiornamento delle interconnessioni DP non è ancora concluso. BUSY ha il valore 1. 8001 La progettazione CBA manca o non è valida. 8095 È stato avviato un ulteriore aggiornamento delle interconnessioni DP in una classe di priorità maggiore. Tuttavia l'aggiornamento nella classe con priorità inferiore (tramite sistema operativo o elaborazione di una SFC 114) è ancora in corso. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Vedere anche: Informazioni sulle SFC 112, 113 e 114 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 17-7 PROFInet 17-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 18 FB per l'accesso ciclico ai dati utili secondo PNO 18.1 Introduzione agli FB per l’accesso ciclico ai dati utili secondo PNO Panoramica Gli FB per l’accesso ciclico ai dati utili secondo PNO consistono nei seguneti blocchi (il cui significato è spiegato in parentesi): • FB 20 "GETIO" (lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device) • FB 21 "SETIO" (scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device) • FB 22 "GETIO_PART" (lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device) • FB 23 "SETIO_PART" (scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device) Interfacce degli FB per l’accesso ciclico ai dati utili secondo PNO Le interfacce degli FBsopracitati sono identiche agli FB omonimi definiti nella Norma "PROFIBUS and PROFINET Communication Function Blocks on PROFIBUS DP and PROFINET IO Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 18-1 FB per l'accesso ciclico ai dati utili secondo PNO 18.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l‘FB 20 "GETIO" Descrizione L‘FB 20 "GETIO" consente la lettura coerente di tutti gli ingressi di uno slave DP standard /PROFINET IO Device. L‘FB 20 richiama per questo scopo l‘SFC 14 "DPRD_DAT". Se la trasmissione dati avviene correttamente, i dati letti vengono inseriti nell’area di destinazione creata da INPUTS. La lunghezza dell’area di destinazione deve essere identica a quella progettata in STEP 7 per il componente selezionato. Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile, con un singolo richiamo dell‘FB 20, accedere di volta in volta soltanto ai dati di un componente o ad un identificativo DP nell’ambito degli indirizzi iniziali progettati. Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) • high word: non di rilievo STATUS OUTPUT DWORD E, A, M, D, L Contiene l’informazione di errore dell‘SFC 14 "DPRD_DAT" nel formato DW#16#40xxxx00 LEN OUTPUT INT E, A, M, D, L Numero dei dati letti in byte INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti. La lunghezza di quest’area deve essere identica a quella progettata in STEP 7 per gli slave DP / per i componenti PROFINET IO selezionati. È consentito soltanto il tipo di dati BYTE. Informazioni di errore Vedere Lettura coerente dei dati di uno slave DP standard/PROFINET IO Device con l‘SFC 14 "DPRD_DAT" . 18-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 FB per l'accesso ciclico ai dati utili secondo PNO 18.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l‘FB 21 "SETIO" Descrizione L‘FB 21 "SETIO" consente il trasferimento coerente dei dati dall’area sorgente creata da OUTPUTS allo slave DP standard / PROFINET IO Device indirizzati ed eventualmente all’immagine di processo (nel caso in cui l’area indirizzi interessata dello slave DP standard sia stata progettata come area coerente in un’immagine di processo). L‘FB 21 richiama per questo scopo l‘SFC 15 "DPWR_DAT". La lunghezza dell’area sorgente deve essere identica a quella progettata in STEP 7 per il componente selezionato. Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile, con un singolo richiamo dell‘FB 20, accedere soltanto ad un componente o ad un identificativo dello slave DP. Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • • low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) high word: non di rilievo LEN INPUT INT E, A, M, D, L Non di rilievo STATUS OUTPUT DWORD E, A, M, D, L Contiene l’informazione di errore dell‘SFC 15 "DPWR_DAT" nel formato DW#16#40xxxx00 OUTPUTS IN_OUT ANY E, A, M, D Area sorgente dei dati da scrivere. La lunghezza di quest’area deve essere identica a quella progettata in STEP 7 per gli slave DP / per i componenti PROFINET IO selezionati. È consentito soltanto il tipo di dati BYTE. Informazioni di errore Vedere Scrittura coerente dei dati di uno slave DP standard/PROFINET IO Device con l‘SFC 15 "DPWR_DAT". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 18-3 FB per l'accesso ciclico ai dati utili secondo PNO 18.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l‘FB 22 "GETIO_PART" Descrizione L‘FB 22 "GETIO_PART" consente la lettura coerente dell’area di un’immagine di processo appartenente ad uno slave DP standard / PROFINET IO Device. L‘FB 22 richiama per questo scopo l‘SFC 81 "UBLKMOV". Avvertenza Assegnare un’immagine di processo parziale degli ingressi all‘OB nel quale viene richiamato l‘FB 22 "GETIO_PART". È inoltre necessario, prima del richiamo dell‘FB 22, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell‘immagine di processo parziale degli ingressi. Se la CPU non conosce le immagini di processo parziali o se si intende richiamare l‘FB 22 nell‘OB 1, è necessario, prima di procedere al richiamo dell‘FB 22, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell‘immagine di processo degli ingressi I parametri OFFSET e LEN consentono di stabilire quale la parte dell’area dell’immagine di processo dei componenti indirizzati tramite l’ID debba essere letta. Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore FALSE e i dati letti vengono inseriti nell’area di destinazione creata da INPUTS. Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore TRUE e nel parametro STATUS viene inoltrata l’informazione di errore dell‘SFC 81 "UBLKMOV". Se l’area di destinazione (parametro INPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti è in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se l’area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell’area di destinazionne. Al parametro ERROR viene assegnato il valore FALSE. Avvertenza Nell’immagine di processo degli ingressi, l‘FB 22 "GETIO_PART" non effettua il controllo dei limiti tra i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito dell’utente accertarsi che l’area dell’immagine di processo determinata tramite i parametri OFFSET e LEN appartenga ad un componente univoco. Una lettura globale dei dati dei componenti, in grado di operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri. La trasferibilità in sistemi di altri costruttori viene quindi compromessa. 18-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 FB per l'accesso ciclico ai dati utili secondo PNO Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) • high word: non di rilievo OFFSET INPUT INT E, A, M, D, L, Cost.. Numero dei primi byte che devono essere letti nell’immagine di processo del componente (valore minimo: 0) LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da leggere STATUS OUTPUT DWORD E, A, M, D, L Contiene l’informazione di errore dell‘SFC 81 "UBLKMOV" nel formato DW#16#40xxxx00, se ERROR = TRUE ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore: ERROR = TRUE, se al richiamo dell‘SFC 81 "UBLKMOV" si verifica un errore. INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti: • Se l’area di destinazione è inferiore a LEN, vengono trasmessi tanti byte quanti è in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE • Se l’area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell’area di destinazionne. Al parametro ERROR viene assegnato il valore FALSE. Informazioni di errore Vedere Copiatura continuata di varabili con l‘SFC 81 "UBLKMOV". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 18-5 FB per l'accesso ciclico ai dati utili secondo PNO 18.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l‘FB 23 "SETIO_PART" Descrizione L‘FB 23 "SETIO_PART" consente il trasferimento coerente di dati dall’area sorgente creata dal parametro OUTPUTS ad una parte dell’area dell’immagine di processo appartenente ad uno slave DP standard / PROFINET IO Device. L‘FB 23 richiama per questo scopo l‘SFC 81 "UBLKMOV". Avvertenza Assegnare un’immagine di processo parziale delle uscite all‘OB nel quale viene richiamato l‘FB 23 "SETIO_PART". È inoltre necessario, prima del richiamo dell‘FB 23, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell‘immagine di processo parziale delle uscite. Se la CPU non conosce le immagini di processo parziale o se si intende richiamare l‘FB 23 nell‘OB 1, è necessario, prima di procedere al richiamo dell‘FB 23, acquisire il relativo slave DP standard o il relativo PROFINET IO Device nell‘immagine di processo delle uscite I parametri OFFSET e LEN consentono di stabilire in quale parte dell’area dell’immagine di processo dei componenti indirizzati tramite l’ID debba avvenire la scrittura. Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore FALSE. Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore TRUE e nel parametro STATUS viene inoltrata l’informazione di errore dell‘SFC 81 "UBLKMOV". Se l’area sorgente (parametro OUTPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti ne aono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se l’area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Avvertenza Nell’immagine di processo della uscite, l‘FB 23 "SETIO_PART" non effettua il controllo dei limiti tra i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito dell’utente accertarsi che l’area dell’immagine di processo determinata tramite i parametri OFFSET e LEN appartenga ad un componente univoco. Una scrittura globale dei dati dei componenti, in grado di operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri. La trasferibilità in sistemi di altri costruttori viene quindi compromessa. 18-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 FB per l'accesso ciclico ai dati utili secondo PNO Parametri Dichiara zione Tipo di dati Area di memoria Descrizione ID INPUT DWORD E, A, M, D, L, Cost.. • low word: indirizzo logico degli slave DP /dei componenti PROFINET IO (unità o modulo) • high word: non di rilievo OFFSET INPUT INT E, A, M, D, L, Cost.. Numero dei primi byte che devono essere scritti nell’immagine di processo del componente (valore minimo: 0) LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da scrivere STATUS OUTPUT DWORD E, A, M, D, L Contiene l’informazione di errore dell‘SFC 81 "UBLKMOV" nel formato DW#16#40xxxx00, se ERROR = TRUE ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore: ERROR = TRUE, se al richiamo dell‘SFC 81 "UBLKMOV" si verifica un errore. OUTPUTS IN_OUT ANY E, A, M, D Area sorgente dei dati da scrivere: • Se l’area sorgente è inferiore a LEN, vengono trasmessi tanti byte quanti ne sono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE • Se l’area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Informazioni di errore Vedere Copiatura continuata di varabili con l‘SFC 81 "UBLKMOV". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 18-7 FB per l'accesso ciclico ai dati utili secondo PNO 18-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2 A5E00709342-01 s SFC per la comunicazione di dati globali Panoramica della comunicazione S7 e della comunicazione di base S7 SIMATIC Software di sistema per S7-300/400 - Funzioni standard e di sistema Volume 2/2 Manuale di riferimento Comunicazione S7 Comunicazione di base S7 Comunicazione aperta tramite Industrial Ethernet Creazione di segnalazioni riferite ai blocchi Temporizzatore IEC e contatore IEC Funzioni IEC SFB per la regolazione integrata SFB per CPU compatte SFC per le CPU H Funzioni di copiatura e di blocco Tecnica delle materie plastiche A5E00739862-01 21 22 23 24 25 26 27 28 29 30 31 32 Lista di stato di sistema SZL 33 Eventi 34 Lista delle SFC e degli SFB 35 Glossario Indice analitico Edizione 03/2006 20 Dati di diagnostica Bibliografia Il presente manuale fa parte del pacchetto di documentazione con il numero di ordinazione: 6ES7810-4CA08-8EW1 19 Istruzioni tecniche di sicurezza Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. ! Pericolo ! Avvertenza ! Cautela questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza la morte o gravi lesioni fisiche. il simbolo indica che la mancata osservanza delle relative misure di sicurezza la morte o gravi lesioni fisiche. indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. Cautela indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. Attenzione indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate. Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali. Personale qualificato L'apparecchio/sistema in questione deve essere installato e messo in servizio solo rispettando le indicazioni contenute in questa documentazione. La messa in servizio e l'esercizio di un apparecchio/sistema devono essere eseguiti solo da personale qualificato. Con riferimento alle indicazioni contenute in questa documentazione in merito alla sicurezza, come personale qualificato si intende quello autorizzato a mettere in servizio, eseguire la relativa messa a terra e contrassegnare le apparecchiature, i sistemi e i circuiti elettrici rispettando gli standard della tecnica di sicurezza. Uso regolamentare delle apparecchiature/dei sistemi: Si prega di tener presente quanto segue: ! Avvertenza L'apparecchiatura può essere destinata solo agli impieghi previsti nel catalogo e nella descrizione tecnica e può essere utilizzata solo insieme a apparecchiature e componenti di Siemens o di altri costruttori raccomandati o omologati dalla Siemens. Per garantire un funzionamento ineccepibile e sicuro del prodotto è assolutamente necessario che le modalità di trasporto, di immagazzinamento, di installazione e di montaggio siano corrette, che l'apparecchiatura venga usata con cura e che si provveda ad una manutenzione appropriata. Marchio di prodotto I nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Automation and Drives Postfach 4848 90437 NÜRNBERG GERMANIA A5E00739862-01 03/2006 Copyright © Siemens AG 2006 Con riserva di eventuali modifiche tecniche Indice 19 SFC per la comunicazione di dati globali ............................................................................ 19-3 19.1 19.2 20 Panoramica della comunicazione S7 e della comunicazione di base S7......................... 20-3 20.1 20.2 20.3 20.4 21 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 ................................................................................................................. 20-3 Coerenza dei dati...................................................................................................... 20-3 Informazioni generali sui blocchi di comunicazione S7 ............................................ 20-3 Panoramica dei blocchi di comunicazione di base S7.............................................. 20-3 Comunicazione S7 ................................................................................................................. 21-3 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 21.10 21.11 21.12 21.13 21.14 21.15 21.16 21.17 21.18 22 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"................. 19-3 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" .... 19-3 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 ....................... 21-3 Comportamento all'avviamento degli SFB di comunicazione S7 ............................. 21-3 Comportamento in caso di disturbi degli SFB di comunicazione S7 ........................ 21-3 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"................................ 21-3 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"........................................ 21-3 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" ....................................... 21-3 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"................................................ 21-3 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" .................................... 21-3 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" .................................... 21-3 Invio di dati ad una stampante con l'SFB 16 "PRINT" .............................................. 21-3 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" ............................................ 21-3 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" ................................................................................................ 21-3 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"........................................................................................... 21-3 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"............................................................................................ 21-3 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" ......................................................................................... 21-3 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL"................................................. 21-3 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" .............. 21-49 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 ....................... 21-51 Comunicazione di base S7.................................................................................................... 22-3 22.1 22.2 22.3 22.4 22.5 22.6 Parametri comuni delle SFC di comunicazione di base S7...................................... 22-3 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati ............................................................................................................ 22-3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" ......................................................................................... 22-3 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"...................................................... 22-3 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" ..................................................... 22-3 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"..................................................... 22-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 iii Indice 22.7 22.8 22.9 22.10 23 Comunicazione aperta tramite Industrial Ethernet............................................................. 23-3 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 23.10 23.11 23.12 24 Panoramica............................................................................................................... 23-3 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet.. 23-3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP ....................................................................... 23-3 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP ................................................................................................ 23-3 Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP .... 23-3 Esempi di parametrizzazione di collegamenti di comunicazione aperti ................... 23-3 Inizializzazione del collegamento con l'FB 65 "TCON"............................................. 23-3 Sconnessione con l'FB 66 "TDISCON" .................................................................... 23-3 Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND ...... 23-3 Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"................................................................................................... 23-3 Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" .................................. 23-3 Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" ............................ 23-3 Creazione di segnalazioni riferite ai blocchi ....................................................................... 24-3 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 24.10 24.11 24.12 24.13 24.14 24.15 24.16 24.17 iv Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 69 "X_ABORT"................................................ 22-3 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT" ...................................................... 22-3 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" ...................................................... 22-3 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT" ................................................. 22-3 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB ............... 24-3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" .................................................................... 24-3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P".............................................................. 24-3 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"..................................................................... 24-3 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" ....................................................................................... 24-3 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8".......................................................................................... 24-3 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" ...................................... 24-3 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG"................................................ 24-3 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG"................................................... 24-3 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi ............................................................................... 24-3 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi ............................................................................... 24-3 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC................ 24-3 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"....................................................................................... 24-3 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" ............................. 24-3 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" ................................................... 24-3 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"................................................................................................. 24-3 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI".................................................................................................... 24-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Indice 25 Temporizzatore IEC e contatore IEC .................................................................................... 25-3 25.1 25.2 25.3 25.4 25.5 25.6 26 Funzioni IEC............................................................................................................................ 26-3 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 26.10 26.11 27 Posizionamento con uscita analogica con l'SFB 44 "Analogico".............................. 28-3 Posizionamento con uscita digitale con l'SFB 46 "Digitale" ..................................... 28-3 Comando del contatore con l'SFB 47 "COUNT"....................................................... 28-3 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" .............. 28-3 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE".... 28-3 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"........................................ 28-3 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP".................................. 28-3 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" ... 28-3 Invio di dati (RK 512) con l'SFB 63 "SEND_RK" ...................................................... 28-3 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"................................................ 28-3 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" ..... 28-3 Ulteriori informazioni di errore degli SFB da 60 a 65................................................ 28-3 SFC per le CPU H ................................................................................................................... 29-3 29.1 30 Regolazione continua con l'SFB 41/FB 41 "CONT_C"............................................. 27-3 Regolazione a passi con l'SFB 42/FB 42 "CONT_S" ............................................... 27-3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN" ....................................... 27-3 Esempio con un blocco PULSEGEN ........................................................................ 27-3 SFB per CPU compatte.......................................................................................................... 28-3 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 28.10 28.11 28.12 29 Sommario.................................................................................................................. 26-3 Dati tecnici relativi alle funzioni IEC.......................................................................... 26-3 Data e ora come tipi di dati composti........................................................................ 26-3 Funzioni orologio....................................................................................................... 26-3 Confronto tra variabili DATE_AND_TIME................................................................. 26-3 Confronto tra variabili STRING ................................................................................. 26-3 Modifica dei valori numerici ...................................................................................... 26-3 Esempio in AWL ....................................................................................................... 26-3 Esempio in AWL ....................................................................................................... 26-3 Modifica della variabile STRING............................................................................... 26-3 Conversione dei formati............................................................................................ 26-3 SFB per la regolazione integrata .......................................................................................... 27-3 27.1 27.2 27.3 27.4 28 Creazione di un impulso con l'SFB 3 "TP"................................................................ 25-3 Creazione di ritardo all'inserzione con l'SFB 4 "TON" .............................................. 25-3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" ....................................... 25-3 Conteggio in avanti con l'SFB 0 "CTU"..................................................................... 25-3 Conteggio all'indietro con l'SFB 1 "CTD" .................................................................. 25-3 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD".............................................. 25-3 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"........................... 29-3 Funzioni integrate (per CPU con ingressi/uscite integrati) ............................................... 30-3 30.1 30.2 30.3 30.4 SFB 29 (HS_COUNT)............................................................................................... 30-3 SFB 30 (FREQ_MES)............................................................................................... 30-3 SFB 38 (HSC_A_B) .................................................................................................. 30-3 SFB 39 (POS) ........................................................................................................... 30-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 v Indice 31 Tecnica delle materie plastiche ............................................................................................ 31-3 31.1 32 Dati di diagnostica ................................................................................................................. 32-3 32.1 32.2 32.3 33 Panoramica della struttura dei dati di diagnostica .................................................... 32-3 Dati di diagnostica..................................................................................................... 32-3 Struttura dei dati di diagnostica specifici del canale ................................................. 32-3 Lista di stato di sistema SZL................................................................................................. 33-3 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 33.10 33.11 33.12 33.13 33.14 33.15 33.16 33.17 33.18 33.19 33.20 33.21 33.22 33.23 33.24 33.25 33.26 33.27 33.28 33.29 33.30 33.31 33.32 33.33 33.34 vi SFC 63 (AB_CALL)................................................................................................... 31-3 Panoramica della lista di stato di sistema (SZL)....................................................... 33-3 Struttura di una lista parziale SZL............................................................................. 33-3 ID SZL....................................................................................................................... 33-3 Liste parziali SZL possibili ........................................................................................ 33-3 ID SZL W#16#xy11 - Identificazione di unità............................................................ 33-3 ID SZL W#16#xy12 - Caratteristiche della CPU....................................................... 33-3 ID SZL W#16#xy13 - Aree di memoria utente.......................................................... 33-3 ID SZL W#16#xy14 - Aree di sistema....................................................................... 33-3 ID SZL W#16#xy15 - Tipi di blocchi.......................................................................... 33-3 ID SZL W#16#xy19 - Stato dei LED di unità ............................................................ 33-3 ID SZL W#16#xy1C - Identificazione di un componente .......................................... 33-3 ID SZL W#16#xy22 – Stato degli allarmi .................................................................. 33-3 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB ............ 33-3 ID SZL W#16#xy32 - Dati di stato della comunicazione........................................... 33-3 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0005 ................................................................... 33-3 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008 ................................................................... 33-3 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B................................................................... 33-3 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000C................................................................... 33-3 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004 ................................................................... 33-3 ID SZL W#16#xy37 - Informazioni Ethernet sull'unità .............................................. 33-3 ID SZL W#16#xy71 - Informazione cumulativa della CPU H ................................... 33-3 ID SZL W#16#xy74 - Stato dei LED dell'unità .......................................................... 33-3 ID SZL W#16#xy75 - Slave DP connessi nel sistema H .......................................... 33-3 ID SZL W#16#xy90 - Informazioni sul sistema master DP....................................... 33-3 ID SZL W#16#xy91 - Informazione sullo stato delle unità........................................ 33-3 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione ...................................................................................... 33-3 ID SZL W#16#0x94 – Telaio di montaggio -/ informazione di stato della stazione ............................................................................................... 33-3 ID SZL W#16#xy95 - Informazioni supplementari sul sistema master DP............... 33-3 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP .............................................................................. 33-3 ID SZL W#16#xyA0 - Buffer di diagnostica .............................................................. 33-3 ID SZL W#16#00B1 - Informazione di diagnostica unità.......................................... 33-3 ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico.................. 33-3 ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico....... 33-3 ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP....................................... 33-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Indice 34 Eventi....................................................................................................................................... 34-3 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 34.10 34.11 34.12 35 Eventi e ID di evento................................................................................................. 34-3 Classe di evento 1 - Eventi di OB standard.............................................................. 34-3 Classe di evento 2 - Eventi di errore di sincronismo ................................................ 34-3 Classe di evento 3 - Eventi di errore di asincronismo .............................................. 34-3 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento....................................................................................................... 34-3 Classe di evento 5 - Elaborazione stati di funzionamento........................................ 34-3 Classe di evento 6 - Eventi di comunicazione .......................................................... 34-3 Classe di evento 7 - Eventi H/F ................................................................................ 34-3 Classe di evento 8 - Eventi di diagnostica per unità................................................. 34-3 Classe di evento 9 - Eventi utente standard............................................................. 34-3 Classe di evento A e B - Eventi utente liberi ............................................................ 34-3 Classe di evento riservata ........................................................................................ 34-3 Lista delle SFC e degli SFB................................................................................................... 35-3 35.1 35.2 35.3 35.4 Lista delle SFC, in ordine numerico.......................................................................... 35-3 Lista delle SFC, in ordine alfabetico ......................................................................... 35-3 Lista degli SFB, in ordine numerico .......................................................................... 35-3 Lista degli SFB, in ordine alfabetico ......................................................................... 35-3 Bibliografia ........................................................................................................................ Bibliografia-3 Glossario ...............................................................................................................................Glossario-3 Indice analitico............................................................................................................ Indice analitico-3 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 vii Indice viii Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 19 SFC per la comunicazione di dati globali 19.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND" Descrizione Con la SFC 60 "GD_SND" (global data send) vengono raccolti i dati di un blocco GD, i quali vengono poi trasmessi sul percorso definito nello stesso blocco GD. Il blocco GD deve essere progettato precedentemente con STEP 7. La SFC 60 "GD_SND" può essere richiamata in un qualsiasi punto del programma utente. Il conteggio di scansione nonché la raccolta sistematica e la trasmissione dei dati al punto di controllo del ciclo non vengono influenzati dai richiami della SFC 60. Interruzione della funzione La SFC 60 "GD_SND" può essere interrotta da livelli di esecuzione di priorità più elevata. È anche possibile il caso in cui, nel livello di esecuzione a priorità più elevata, la SFC 60 venga richiamata di nuovo per lo stesso blocco GD. Nel livello a priorità più elevata vengono quindi raccolti e trasmessi i dati. Al ritorno nella SFC interrotta, quest'ultima viene subito terminata e i dati qui raccolti vengono annullati. Questo tipo di procedura garantisce che i dati presenti nell'elaborazione del livello a priorità più elevata vengano trasmessi in modo coerente (in modo concorde alla definizione di coerenza come definita per i dati globali). Coerenza dei dati per GD In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale ciò che segue: Coerenti sono • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della rispettiva CPU in ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 19-1 SFC per la comunicazione di dati globali Garanzia di coerenza per l'intero blocco GD Un blocco GD della CPU di trasmissione ha un struttura tale che non è possibile garantire a priori che i dati raccolti siano coerenti, così come per esempio nel caso in cui il blocco GD sia formato da un array di byte e il numero di byte superi la lunghezza massima ammessa per la CPU utilizzata. Se tuttavia si richiede la coerenza dell'intero blocco GD, è necessario procedere nel seguente modo: • Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata con il richiamo della SFC 39 "DIS_IRT" o della SFC 41 "DIS_AIRT". • Richiamare la SFC 60 "GD_SND". • Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT"). Parametri Dichiarazione Tipo Area di memoria Descrizione CIRCLE_ID INPUT E, A, M, D, L, cost. Numero del circolo GD in cui si trova il blocco GD da trasmettere. Questo numero viene preimpostato da STEP 7 nella progettazione dei dati globali. BYTE Valori ammessi: da 1 a 16. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD da trasmettere situato nel circolo GD selezionato. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. Valori ammessi: da 1 a 3. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. RET_VAL 19-2 OUTPUT INT E, A, M, D, L Informazione sull'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFC per la comunicazione di dati globali Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato. 8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri. 8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal programma. 8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 60 è stata richiamata per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione della funzione"). 8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile progettata. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Dopo ogni richiamo della SFC 60 si deve analizzare lo stato del rispettivo blocco GD ed eventualmente resettarlo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 19-3 SFC per la comunicazione di dati globali 19.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" Descrizione Con la SFC 61 "GD_RCV" (global data receive) vengono ritirati i dati stabiliti esattamente per un blocco GD di un telegramma GD ricevuto e registrati nel blocco GD di ricezione. Quest'ultimo deve essere stato progettato con STEP 7. La SFC 61 "GD_RCV" può essere richiamata in un qualsiasi punto del programma utente. Il conteggio di scansione nonché il ritiro dei dati da parte del sistema al punto di controllo del ciclo non vengono influenzati dai richiami della SFC 61. Interruzione della funzione La SFC 61 può essere interrotta da livelli di esecuzione di priorità più elevata, ma sempre in modo tale che la coerenza definita per i dati globali rimanga invariata. In un'interruzione di questo genere, può accadere che, nel livello di esecuzione a priorità più elevata, la SFC 61 può essere richiamata di nuovo per lo stesso blocco GD. Nel livello a priorità più elevata i dati vengono quindi raccolti nel blocco GD di ricezione. Al ritorno nella SFC interrotta, quest'ultima viene subito terminata. Coerenza dei dati per GD In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale ciò che segue: Coerenti sono 19-4 • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della rispettiva CPU in ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFC per la comunicazione di dati globali Garanzia di coerenza per l'intero blocco GD Un blocco GD in una CPU in ricezione ha un struttura tale che non è possibile garantire a priori che i dati provengano sempre dallo stesso telegramma, come ad esempio, quando il blocco GD è formato da tre elementi GD. Se tuttavia si richiede la coerenza dell'intero blocco GD di ricezione, è necessario procedere nel seguente modo: • Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata con il richiamo della SFC 39 "DIS_IRT" o SFC 41 "DIS_AIRT". • Richiamare la SFC 61 "GD_RCV". • Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT"). Parametri Dichiarazione Tipo Area di memoria Descrizione CIRCLE_ID INPUT E, A, M, D, L, cost. Numero del circolo GD in cui deve essere registrato il blocco GD entrante. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. BYTE Valori ammessi: da 1 a 16. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD nel circolo GD selezionato in cui i dati entranti devono essere registrati. Questo numero viene preimpostato da STEP 7 durante la progettazione dei dati globali. Valori ammessi: da 1 a 3. Il numero max. di circoli GD ammessi è riportato nei dati tecnici della CPU utilizzata. RET_VAL OUTPUT INT E, A, M, D, L Informazione sull'errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 19-5 SFC per la comunicazione di dati globali Informazioni di errore Codice di errore Spiegazione (W#16#...) 0000 Nessun errore. 8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato. 8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri. 8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal programma. 8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 61 è stata richiamata per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione della funzione"). 8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile progettata. 8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL Avvertenza Dopo ogni richiamo della SFC 61 "GD_RCV" si deve analizzare lo stato del rispettivo blocco GD ed eventualmente resettarlo. 19-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20 Panoramica della comunicazione S7 e della comunicazione di base S7 20.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 Criteri di scelta Accanto alla comunicazione globale, per lo scambio dati tra CPU/FM di sistemi di automazione SIMATIC S7 sono a disposizione dell'utente due metodi: • lo scambio dati mediante la comunicazione di base S7 • lo scambio dati mediante la comunicazione S7 Quale metodo l'utente scelga di utilizzare per i propri compiti dipende sia dal sistema di automazione della famiglia SIMATIC S7 in uso che da altri parametri dello scambio dati. La seguente tabella riporta una lista di criteri in base ai quali effettuare la scelta. Criterio Comunicazione di base S7 Comunicazione S7 Disponibilità dei blocchi S7-300 e S7-400 come SFC Collegamenti di comunicazione Non viene progettato un collegamento. Viene creato al momento di funzionamento della SFC. Permane al termine del trasferimento dati oppure viene disattivato, comandato mediante parametro. Se temporaneamente non può essere creato alcun collegamento, il relativo job non può essere inviato Viene progettato un collegamento in maniera fissa mediante la progettazione di collegamenti. Transizione dello stato di funzionamento a STOP Alla transizione della CPU che ha avviato un trasferimento dati nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati. Nello stato di funzionamento STOP il collegamento viene mantenuto. S7-300: come FB e FC S7-400: come SFB e SFC Più collegamenti In ogni momento c'è al massimo un ad un partner di collegamento ad un partner di comunicazione comunicazione. Si possono creare più collegamenti ad uno stesso partner di comunicazione. Spazio di indirizzamento Indirizzamento di unità nella propria stazione S7 oppure sulla sotto-rete MPI. Indirizzamento di unità sulla sotto-rete MPI, sul PROFIBUS oppure sull'Industrial Ethernet Numero di partner di comunicazione Il numero dei partner di comunicazione accessibili in successione non si limita al numero delle risorse di collegamento (vedere /70/, /101/). (Durante il tempo di funzionamento del programma, i collegamenti possono essere creati e nuovamente disattivati). Il numero dei partner di comunicazione accessibili contemporaneamente è limitata al numero delle risorse di collegamento. Dipende dalla CPU in uso (vedere /70/, /101/). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20-1 Panoramica della comunicazione S7 e della comunicazione di base S7 Criterio Comunicazione di base S7 Lunghezza dati utili massima Viene garantita solo una lunghezza di dati utili La lunghezza massima trasferibile di dati utili pari a 76 byte. dipende dal tipo di blocco (USEND / URCV, GET ecc.) e dal partner di comunicazione (S7-300 o S7-400). Comunicazione S7 Numero delle variabili trasferibili al richiamo di un blocco Si può trasferire solo una variabile. Classificazione dei blocchi Le SFC di comunicazione di base S7 sono funzioni di sistema e non necessitano quindi di alcuna memoria utente Gli SFB di comunicazione S7 sono blocchi funzionali di sistema e necessitano quindi di un DB di istanza per i parametri attuali ed i dati statici. Modifica dinamica dei parametri di indirizzamento È possibile una modifica dinamica del parametro di indirizzamento. Al termine del job in corso si possono interpellare altri partner di comunicazione. Non è possibile una modifica dinamica del parametro di indirizzamento. Con il primo richiamo del blocco, viene stabilito il collegamento con il partner di comunicazione e cioè fino al prossimo nuovo avviamento (avviamento a caldo) o all'avviamento a freddo. • S7-300: una variabile • S7-400: max. quattro variabili Realizzazione della norma IEC 61131-5 con S7-400 I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5: • USEND(SFB8)/URCV(SFB9) • BSEND(SFB12)/BRCV(SFB13) • PUT(SFB15)/GET(SFB14) corrisponde a READ/WRITE • STATUS(SFB22)/USTATUS(SFB23) • ALARM(SFB33) • NOTIFY(SFB36) START(SFB19), STOP(SFB20) e RESUME (SFB21) realizzano un'interfaccia di richiamo per le funzioni di controllo del programma. Realizzazione della norma IEC 61131-5 con S7-300 I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5: 20-2 • USEND(SFB8)/URCV(SFB9) • BSEND(SFB12)/BRCV(SFB13) • PUT(FB15)/GET(FB14) corrisponde a READ/WRITE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Panoramica della comunicazione S7 e della comunicazione di base S7 20.2 Coerenza dei dati Definizione La dimensione dell'area di dati non modificabile contemporaneamente da processi simultanei, viene definita area dei dati coerenti. Un'area dati le cui dimensioni superano la coerenza dei dati può quindi essere danneggiata nella loro interezza. Ciò significa che un'area di dati contigua con una dimensione superiore all'area coerente dati, in alcuni momenti può essere parzialmente costituita da blocchi di dati coerenti nuovi e vecchi. Esempio Si può avere, ad esempio, un'incoerenza se un blocco di comunicazione viene interrotto da un OB di interrupt di processo con priorità superiore. Se il programma utente modifica i dati dell'OB parzialmente già elaborati dal blocco di comunicazione, i dati trasferiti saranno: • in parte precedenti all'elaborazione dell'interrupt di processo • e in parte successivi all'elaborazione dell'interrupt di processo. I dati saranno quindi incoerenti (ovvero non contigui). Conseguenza Per trasferire grosse quantità di dati in modo coerente è necessario che il trasferimento non venga interrotto. Ciò può, ad esempio, determinare un incremento del tempo di reazione all'allarme della CPU. Quindi, più estesa è la quantità di dati da trasferire in modo coerente, più aumenta il tempo di reazione del sistema. Coerenza dei dati in SIMATIC Se il programma utente contiene funzioni di comunicazione, quali BSEND/BRCV, che accedono a dati comuni, è possibile coordinare l'accesso a queste aree di memoria p. es. con il parametro "DONE". La coerenza dei dati delle aree di comunicazione che viene trasferita localmente mediante un blocco di comunicazione può essere quindi realizzata nel programma utente. Con le funzioni di comunicazione S7 quali PUT/GET o lettura/scrittura mediante comunicazione OP, è necessario tenere conto della dimensione dell'area dati coerente fin dalla programmazione/progettazione, poiché nel programma utente del dispositivo di destinazione (server) non è presente un blocco che sincronizzi la comunicazione nel programma utente. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20-3 Panoramica della comunicazione S7 e della comunicazione di base S7 Nelle S7-300 e C7-300 (fa eccezione la CPU 318-2 DP) i dati di comunicazione vengono copiati in modo coerente nella memoria utente in blocchi di 32 byte nel punto di controllo del ciclo del sistema operativo. Per le aree di memoria più grandi la coerenza dei dati non viene garantita. Se è necessaria una coerenza dei dati definita, i dati di comunicazione del programma utente non devono essere superiori a 32 byte (max 8 byte a seconda della versione). Nella S7-400 i dati di comunicazione non vengono invece elaborati nel punto di controllo del ciclo, ma in fasi temporali fisse durante il ciclo del programma. Da parte del sistema viene garantita la coerenza di una variabile. A queste aree di comunicazione è possibile accedere in modo coerente, ad esempio da un OP o una OS, con le funzioni PUT/GET o la lettura/scrittura delle variabili. Suggerimento Per ulteriori informazioni sulla coerenza dei dati, consultare la descrizione dei singoli blocchi e il manuale Comunicazione con SIMATIC. 20-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Panoramica della comunicazione S7 e della comunicazione di base S7 20.3 Informazioni generali sui blocchi di comunicazione S7 Classificazione Per la comunicazione S7 è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di comunicazione integrate avviene nel programma utente tramite SFB/FB o un'SFC/FC. Questi blocchi possono essere suddivisi nelle seguenti classi: • SFB/FB per lo scambio dei dati • SFB/FB per la modifica degli stati di funzionamento • SFB per l‘interrogazione dello stato di funzionamento • SFC/FC per l'interrogazione del collegamento. Disponibilità dei blocchi di comunicazione S7-300/400 • I blocchi per la S7-400 sono contenuti nella biblioteca "Standard Library". • I blocchi caricabili per la S7-300 sono contenuti nella biblioteca "SIMATIC_NET_CP". Per il funzionamento dei blocchi S7-300 è necessario un CP SIMATIC NET della gamma S7-300. Ulteriori informazioni sull'argomento sono contenute nella documentazione corrispondente. Avvertenza Non tutte le SFB sono realizzate come FB nella S7-300. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20-5 Panoramica della comunicazione S7 e della comunicazione di base S7 SFB/FB per lo scambio dati Gli SFB/ FB di comunicazione per lo scambio dei dati servono allo scambio dei dati tra due partner di comunicazione. A seconda che esista un SFB/FB di comunicazione solo sull'unità locale oppure sia sull'unità locale che sull'unità remota, si parla di scambio dati a una o a due vie. Blocchi Blocchi S7-400 S7-300 Definizione Breve descrizione SFB 8 FB 8 USEND SFB 9 FB 9 URCV Trasferimento rapido e senza conferma dei dati, indipendente dall'elaborazione della funzione di comunicazione (URCV) nel partner di comunicazione (p. es. messaggi sullo stato di funzionamento e la manutenzione). I dati possono essere quindi sovrascritti dal partner con dati più recenti SFB 12/ FB 12 BSEND/ SFB 13 FB 13 BRCV SFB 14 FB 14 GET Lettura di variabili comandata dal programma senza che sia presente una funzione di comunicazione specifica nel programma utente del partner di comunicazione SFB 15 FB 15 PUT Scrittura di variabili comandata dal programma senza che sia presente una funzione di comunicazione specifica nel programma utente del partner di comunicazione SFB 16 - PRINT Invio di dati a una stampante (solo S7-400) Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il trasferimento dei dati si conclude solo dopo che la funzione di ricezione (BRCV) del partner ha ricevuto i dati SFB per la modifica dello stato di funzionamento Con gli SFB per la modifica dello stato di funzionamento viene comandato lo stato di funzionamento di un dispositivo remoto. Con gli SFB per la modifica dello stato di funzionamento lo scambio dati è a una via. Blocco S7-400 Breve descrizione SFB 19 START Effettua il NUOVO AVVIAMENTO di una CPU S7/M7-300/400 C7-300 dallo stato di funzionamento STOP. SFB 20 STOP STOP di una CPU S7/M7-300/400 o C7-300 nello stato di funzionamento RUN, ALT o avviamento SFB 21 RESUME Riavviamento di una CPU S7-400 dallo stato di funzionamento STOP. 20-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Panoramica della comunicazione S7 e della comunicazione di base S7 SFB per l'interrogazione dello stato di funzionamento Con gli SFB per l'interrogazione dello stato di funzionamento si possono ricevere informazioni sullo stato di funzionamento di un dispositivo remoto. Con SFB "STATUS" il tipo di scambio dati è a una via, mentre con SFB "USTATUS" lo scambio dati è a due vie. Blocco S7-400 Breve descrizione SFB 22 STATUS Indica lo stato di funzionamento di un partner di comunicazione (CPU S7-400, M7-300/400) su richiesta dell'utente. SFB 23 USTATUS Se è stato impostato l'apposito attributo (Invia messaggi sullo stato di funzionamento), riceve lo stato di funzionamento di una CPU S7-400 quando questa passa in uno stato diverso. SFC/FC per l'interrogazione del collegamento Blocco S7-400 Blocco S7-300 Breve descrizione SFC 62 "CONTROL" - Interrogazione dello stato di un collegamento appartenente all'istanza di un SFB - FC 62 "C_CNTRL" Interrogazione dello stato di un collegamento attraverso la sua ID Suggerimento: Lo stato del collegamento attuale si può diagnosticare anche con la SFC 87 C_DIAG (solo per S7-400). Programma d'esempio Con STEP 7 viene fornito un programma esemplificativo per S7-400 che illustra l'uso degli SFB di comunicazione S7. Il progetto di esempio si chiama step7\examples\com_sfb e si trova in "...\STEP7\Examples\ZIt01_10". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20-7 Panoramica della comunicazione S7 e della comunicazione di base S7 20.4 Panoramica dei blocchi di comunicazione di base S7 Classificazione delle SFC di comunicazione di base S7 Per la comunicazione di base S7 non è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di comunicazione integrate avviene nel programma utente tramite SFC. Le SFC sono suddivise in due classi: SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i partner di comunicazione appartengono alla stessa stazione S7 (riconoscibile perché preceduta da una "I" che indica "Intern"). • SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i partner di comunicazione sono collegati alla stessa sotto-rete MPI (riconoscibile perché preceduta da una "X" che indica "Extern"). La comunicazione oltre i limiti della sotto-rete non è possibile con le SFC di comunicazione di base S7. Le SFC di comunicazione di base S7 sono operabili su tutte le CPU S7-300 e S7-400. Da queste CPU è possibile anche scrivere delle variabili nelle CPU della S7-200 e leggerle da là. SFC per la comunicazione esterna Blocco Breve descrizione SFC 65/ X_SEND/ SFC 66 X_RCV Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il trasferimento dei dati si conclude solo dopo che la funzione di ricezione (X_RCV) del partner ha ricevuto i dati. SFC 67 X_GET Lettura di una variabile da un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 68 X_PUT Scrittura di una variabile in un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 69 X_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende nuovamente utilizzabili le risorse di collegamento in entrambi i partner. SFC per la comunicazione interna Blocco Breve descrizione SFC 72 I_GET Lettura di una variabile da un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 73 I_PUT Scrittura di una variabile in un partner di comunicazione senza che sia necessario collocare nel partner una SFC corrispondente. Questa funzionalità è consentita dal sistema operativo del partner di comunicazione. SFC 74 I_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende nuovamente utilizzabili le risorse di collegamento in entrambi i partner. 20-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Panoramica della comunicazione S7 e della comunicazione di base S7 Programmi esemplificativi STEP 7 viene fornito con due programmi esemplificativi per le SFC di comunicazione di base S7 collocati nelle directory step7\examples\com_sfc1 e step7\examples\com_sfc2. Dimensione massima dei dati utili Le SFC di comunicazione di base S7 sono incorporate in tutte le CPU della S7-300 e della S7-400. Il numero dei dati utili trasferibili (parametro SD o RD) garantito per tutte le SFC è di 76 byte. Il numero esatto è indicato nel rispettivo blocco. Collegamento con il partner di comunicazione Nelle SFC di comunicazione di base S7 viene creato il collegamento al momento di esecuzione della SFC; a seconda del valore assegnato al parametro di ingresso CONT, il collegamento resta anche a conclusione del trasferimento dati, oppure viene nuovamente disattivato. Di conseguenza per la comunicazione si hanno le seguenti proprietà: • Il numero dei partner di comunicazione accessibili in successione è maggiore del numero dei partner di comunicazione indirizzabili contemporaneamente (questa è una dimensione specifica della CPU, vedere /70/, /101/). • Qualora momentaneamente non sia possibile creare alcun collegamento ad un partner di comunicazione perché le risorse di collegamento (sulla propria CPU o nel partner di comunicazione) sono tutte occupate, questo viene visualizzato in RET_VAL. Il job va quindi avviato nuovamente in un momento successivo opportuno. Tuttavia non può essere garantita la riuscita della creazione del collegamento in un momento successivo. Eventualmente il programma va verificato dal punto di vista dell'uso generale delle risorse di collegamento e va utilizzata una CPU che possegga più risorse di collegamento. I collegamenti già esistenti di SFB di comunicazione di base S7 non possono essere usati dalle SFC di comunicazione di base S7. Quando viene avviato un job, il collegamento creato per esso può essere momentaneamente utilizzato solo per questo job. Altri job per lo stesso partner di comunicazione possono essere nuovamente svolti solamente quando il job in corso è stato terminato. Pertanto osservare la seguente avvertenza: Avvertenza Se il programma contiene più job per lo stesso partner di comunicazione occorre far sì che quelle SFC, nelle quali in RET_VAL viene visualizzato W#16#80C0, siano richiamate nuovamente in un momento successivo opportuno. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 20-9 Panoramica della comunicazione S7 e della comunicazione di base S7 Identificazione di un job Qualora con una delle SFC di comunicazione di base S7 sia stato avviato un trasferimento dati oppure un annullamento dei collegamenti e tale SFC venga nuovamente richiamata prima che il trasferimento in corso sia stato concluso, il comportamento successivo della SFC dipende in maniera decisiva dal fatto che il job al nuovo richiamo sia o meno lo stesso. La tabella seguente evidenzia per ogni SFC quale parametro di ingresso stabilisce un job. Se i parametri citati nella tabella corrispondono ad un job non ancora concluso, il richiamo della SFC vale come richiamo successivo. Blocco Job identificato mediante SFC 65 X_SEND DEST_ID, REQ_ID SFC 67 X_GET DEST_ID, VAR_ADDR SFC 68 X_PUT DEST_ID, VAR_ADDR SFC 69 X_ABORT DEST_ID SFC 72 I_GET IOID, LADDR, VAR_ADDR SFC 73 I_PUT IOID, LADDR, VAR_ADDR SFC 74 I_ABORT IOID, LADDR Comportamento all'interruzione Le SFC di comunicazione di base S7 possono essere interrotte mediante OB con priorità superiore. Qualora la stessa SFC venga nuovamente richiamata con l'identico job, questo secondo richiamo viene interrotto e ne viene data visualizzazione in RET_VAL. Poi l'elaborazione della SFC interrotta viene continuata. Accesso alla memoria di lavoro della CPU Indipendentemente dal numero dei dati utili attualmente da trasferire, le funzioni di comunicazione del sistema operativo in blocchi di dimensione massima accedono alla memoria di lavoro della CPU in modo che con l'impiego delle funzioni di comunicazione il tempo di reazione agli allarmi non si protragga. A seconda di come è stato impostato con STEP 7 il carico di ciclo massimo a causa della comunicazione, durante lo svolgimento di un job mediante le funzioni di comunicazione del sistema operativo possono avvenire più accessi alla memoria di lavoro. Transizione dello stato di funzionamento del client a STOP Se, con il trasferimento dati, la CPU che ha iniziato un job (e ha così creato un collegamento) passa nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati. Esecuzione di modifiche al programma Tutte le parti del programma, che hanno effetto diretto sui richiami delle SFC di comunicazione di base S7, devono essere modificate solo nello stato di funzionamento STOP. Di queste fa parte, in particolare, la cancellazione di FC, FB o OB che contengono i richiami delle SFC di comunicazione di base S7. Poi va eseguito un nuovo avviamento (avviamento a caldo) o avviamento a freddo. Se non si osserva quanto detto, le risorse di collegamento possono restare occupate ed il sistema di automazione si trova quindi in uno stato non definito. 20-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21 Comunicazione S7 21.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Classificazione I parametri degli SFB/FB di comunicazione S7 possono essere suddivisi, in base alla loro funzione, nelle seguenti cinque classi: 3. Parametri di controllo: servono all'attivazione di un blocco 4. Parametri di indirizzamento: servono all'indirizzamento del partner di comunicazione remoto 5. Parametri di trasmissione: indicano i campi dei dati che devono essere trasmessi al partner remoto 6. Parametri di ricezione: indicano i campi dei dati, nei quali vengono registrati i dati ricevuti dal partner remoto 7. Parametri di stato: servono a verificare se il blocco ha terminato il suo compito senza errori e ad analizzare gli errori. Parametri di controllo L'attivazione dello scambio dei dati avviene solo se, al richiamo dell'SFB/FB, i rispettivi parametri di controllo hanno un campo definito (p. es. se sono impostati) o se il valore è cambiato rispetto all'ultimo richiamo SFB/FB nel modo definito (p. es. fronte positivo). Avvertenza sulla S7-300 Al momento del primo richiamo, il parametro REQ deve essere impostato su FALSE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-1 Comunicazione S7 Parametri di indirizzamento Parametro Descrizione ID Riferimento alla descrizione locale del collegamento (preimpostato durante la progettazione del collegamento in STEP 7). R_ID Il parametro R_ID consente di definire il rapporto fra un SFB di trasmissione e un SFB di ricezione. Il lato della trasmissione dell'SFB e il lato di ricezione dell'altro SFB devono avere lo stesso valore per R_ID. Viene così resa possibile la comunicazione di diverse coppie di SFB con lo stesso collegamento logico. • • R_ID deve essere specificato nel formato DW#16#wxyzWXYZ In un collegamento logico le coppie di blocchi definite mediante R_ID devono essere univoche. Il parametro PI_NAME è descritto solo negli SFB in cui è rilevante (solo S7-400). Avvertenza S7-300: i parametri di indirizzamento ID e R_ID si possono ridefinire durante l'esecuzione. I nuovi parametri diventano attivi con ogni job, una volta terminato il job precedente. In questo modo è possibile combinare tra loro più coppie di FB tramite una sola istanza. Suggerimento: queste possibilità consentono di ridurre DB di istanza e di conseguenza di risparmiare memoria di lavoro: Con gli ID di variabili è possibile utilizzare più collegamenti mediante un blocco dati di istanza. 1. Con gli ID_R di variabili è possibile determinare con un'istanza più interdipendenze di coppie di FB di trasmissione e ricezione. 2. È possibile combinare i punti 1 e 2. Si tenga presente che i nuovi parametri diventano attivi solo dopo l'elaborazione del job precedente. Se si attiva l'operazione di trasmissione, il parametro R_ID del mittente deve corrispondere a quello del ricevente. S7-400: i parametri di indirizzamento ID e R_ID vengono analizzati solo al primo richiamo del blocco (i parametri attuali o i valori predefiniti dall'istanza). Con il primo richiamo viene così stabilito il rapporto di comunicazione (collegamento) con il partner remoto, e cioè fino al successivo nuovo avviamento (avviamento a caldo) oppure avviamento a freddo. Parametri di stato Con i parametri di stato si può controllare se il blocco ha terminato regolarmente il suo compito oppure se è ancora attivo. Inoltre essi indicano i guasti presentatisi. Avvertenza I parametri di stato sono validi solo in un ciclo, cioè dal primo comando che segue il richiamo dell'SFB/FB, fino al successivo richiamo dell'SFB/FB. Ne consegue che questi parametri devono essere analizzati dopo ogni esecuzione di blocco. 21-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametri di trasmissione e di ricezione Se in un SFB non vengono utilizzati tutti i parametri di trasmissione o di ricezione, il primo parametro non utilizzato deve essere rispettivamente un puntatore NIL (vedere /232/), e i parametri utilizzati devono trovarsi uno dietro l'altro in ordine progressivo. job. Avvertenza sulla S7-400 Al momento del primo richiamo, viene stabilita tramite il puntatore ANY la quantità massima di dati utili trasferibili per il job; all'interno della memoria di lavoro della CPU viene infatti creato un buffer di comunicazione per garantire la coerenza dei dati che occupa uno spazio di memoria di lavoro fino a 480 byte. È opportuno eseguire il primo richiamo nell'OB di nuovo avviamento (avviamento a caldo) o di avviamento a freddo se il blocco con il richiamo SFB non viene ricaricato con lo stato di funzionamento RUN della CPU. Con i richiami successivi è possibile trasmettere/ricevere un numero qualunque di dati, tuttavia fino al numero massimo del primo richiamo. Un'eccezione a questa regola è costituita dagli SFB BSEND e BRCV. Essi consentono di trasferire fino a 64 Kbyte per ogni job (vedere Trasmissione di dati a blocchi con l'SFB 12 "BSEND" e Ricezione di dati a blocchi con l'SFB 13 "BRCV"). Negli SFB/FB per la comunicazione a due vie • il numero dei parametri utilizzati SD_i e RD_i sul lato di trasmissione e di ricezione deve coincidere • i tipi di dati nei parametri comuni di SD_i e RD_i sul lato di trasmissione e di ricezione devono coincidere • il numero dei dati da trasmettere con il parametro SD_i non deve essere maggiore del campo aperto con il rispettivo parametro RD_i (non valido per BSEND/BRCV). Se le regole indicate non vengono rispettate, questa violazione viene segnalata con ERROR = 1 e STATUS = 4. Dimensione dei dati utili Negli SFB/FB USEND, URCV, GET e PUT il numero dei dati da trasmettere non deve superare una lunghezza massima che dipende da quanto segue: • tipo di blocco utilizzato • partner di comunicazione. La dimensioni minima garantita dei dati utili per un SFB con 1-4 variabili può essere stabilita mediante la seguente tabella: Blocco Partner: S7-300 Partner: S7-400 PUT / GET 160 byte 400 byte USEND / URCV 160 byte 440 byte BSEND / BRCV 32768/65534 byte 65534 byte Osservare le limitazioni relative alle dimensioni dei dati utili, contenute nei dati tecnici della CPU utilizzata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-3 Comunicazione S7 Dimensione esatta dei dati utili Se la dimensione sopra indicata non è sufficiente, è possibile determinare la lunghezza utile massima in byte come indicato di seguito. • Determinare la dimensione dei blocchi di dati valida per la comunicazione in base alla seguente tabella: CPU utente CPU remota Dimensione dei blocchi di dati in byte S7-300 qualunque 240 (S7-300) S7-400 S7-300 / C7-300 240 (S7-400) S7-400 S7-400 o CPU 318 480 • In base al valore individuato, cercare nella seguente tabella la lunghezza massima ammessa per i dati utili espressa in byte. Il valore è applicabile a lunghezze lineari delle aree SD_i, RD_i, ADDR_i. Numero di parametri SD_i, RD_i, ADDR_i utilizzati Dimensione dei blocchi di dati SFB/FB 1 2 3 4 240 (S7-300) PUT/GET/ USEND 160 - - - 240 (S7-300 mediante interfaccia integrata) PUT 212 - - - GET 222 - - - USEND 212 - - - PUT 212 196 180 164 GET 222 218 214 210 USEND 212 - - - PUT 452 436 420 404 240 (S7-400) 480 960 21-4 GET 462 458 454 450 USEND 452 448 444 440 PUT 932 916 900 884 GET 942 938 934 930 USEND 932 928 924 920 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.2 Comportamento all'avviamento degli SFB di comunicazione S7 Presupposti Qui di seguito sono indicati i presupposti per le S7-400: • le descrizioni dei collegamenti (SDB) sulle unità sono presenti • i collegamenti progettati sono stabiliti • in ogni SFB il parametro attuale per l'ID coincide con l'ID di collegamento progettato. Nuovo avviamento (avviamento a caldo) e avviamento a freddo Nel nuovo avviamento (avviamento a caldo) e avviamento a freddo tutti gli SFB vengono trasferiti nello stato NO_INIT. I parametri attuali memorizzati nei DB di istanza rimangono invariati. Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a due vie Generalmente negli SFB per lo scambio dati a due vie le unità non effettuano entrambe un nuovo avviamento (avviamento a caldo) o avviamento a freddo. L'adattamento viene eseguito implicitamente dagli SFB in base alle seguenti regole. I blocchi di ricezione (SFB, URCV, BRCV) presentano il seguente comportamento: • Se l'SFB ha ricevuto un job, ma non lo ha ancora confermato al momento del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, esso genera un telegramma di interruzione di sequenza (SFB BRCV) e salta quindi direttamente nello stato NO_INIT. • Nell'SFB BRCV può subentrare il caso che, nonostante l'interruzione di sequenza trasmessa, si presenti un ulteriore segmento di dati. Quest'ultimo viene respinta a livello locale. • Nell'SFB URCV ha luogo il passaggio immediato nello stato NO_INIT. I blocchi di trasmissione (SFB USEND, BSEND) si comportano nel modo seguente: • Se l'SFB BSEND ha iniziato una sequenza di job, che non è ancora terminata, esso trasmette un'interruzione di sequenza al nuovo avviamento (avviamento a caldo) o all'avviamento a freddo. Immediatamente dopo passa nello stato NO_INIT. Un'accettazione che arriva più tardi viene respinta a livello locale. • Se l'SFB BSEND ha già trasmesso o ricevuto un'interruzione di sequenza al momento della richiesta di un nuovo avviamento, (avviamento a caldo) o un avviamento a freddo esso passa immediatamente nello stato NO_INIT. • In tutti gli altri casi, e se l'SFB trasmette solo messaggi (p. es. SFB USEND), l'elaborazione locale viene interrotta e l'SFB passa immediatamente nello stato NO_INIT. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-5 Comunicazione S7 Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a una via Si presuppone che dopo l'attivazione dei collegamenti il server sul partner di comunicazione sia in grado di funzionare, cioè possa elaborare job o trasmettere messaggi in qualsiasi momento. Gli SFB, che trasmettono job e attendono accettazioni, presentano il seguente comportamento: L'elaborazione momentanea viene interrotta, e immediatamente dopo viene effettuato il passaggio nello stato NO_INIT. Un'accettazione che si presenta più tardi per il job trasmesso prima del nuovo avviamento (avviamento a caldo) o dell‘avviamento a freddo viene respinta a livello locale. Può essere trasmesso già un nuovo job prima che sia arrivata l'accettazione ancora pendente. Gli SFB che trasmettono o ricevono messaggi si comportano nel modo seguente: • L'elaborazione momentanea viene interrotta, e viene effettuato il passaggio diretto nello stato NO_INIT. • Nell'SFB USTATUS vengono respinti a livello locale i messaggi che arrivano negli stati NO_INIT e DISABLED. Comportamento al riavviamento Gli SFB di comunicazione S7 vengono trasferiti nello stato NO_INIT solo nel nuovo avviamento (avviamento a caldo) o nell'avviamento a freddo. Ne risulta che essi si comportano come blocchi funzionali utente proseguibili nel riavviamento. Comportamento dopo cancellazione totale La cancellazione totale determina sempre l'interruzione di tutti i collegamenti. Poiché dopo la cancellazione totale è possibile solo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo come tipo di avviamento per il programma utente, tutti gli SFB di comunicazione S7 (se ancora presenti) vengono trasferiti nello stato NO_INIT e inizializzati. I blocchi partner in una unità non cancellata totalmente passano, a causa dell'interruzione del collegamento, negli stati IDLE o ENABLED o DISABLED. 21-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.3 Comportamento in caso di disturbi degli SFB di comunicazione S7 Qui di seguito viene descritto il comportamento in caso di disturbi dei blocchi di comunicazione S7 nelle S7-400. Interruzione di collegamento I collegamenti assegnati alle istanze SFB di comunicazione vengono controllati per identificare eventuali interruzioni. In caso di interruzione di un collegamento la reazione dell'SFB dipende dal suo stato interno: Se l'interruzione di collegamento viene identificata negli stati IDLE o ENABLED, l'SFB reagisce nel modo seguente: • Esso passa nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione" tramite i parametri di uscita ERROR e STATUS. • Al successivo richiamo del blocco esso assume di nuovo il suo stato originario e controlla di nuovo il collegamento. Un SFB che non si trova negli stati IDLE e DISABLED, reagisce nel modo seguente: • Esso interrompe la sua elaborazione, passa immediatamente oppure al successivo richiamo del blocco nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione" tramite i parametri di uscita ERROR e STATUS. • Al successivo richiamo del blocco, quest'ultimo assume lo stato IDLE, DISABLED o ENABLED. Negli stati IDLE e ENABLED viene controllato di nuovo il collegamento. Questo procedimento viene eseguito anche se nel frattempo il collegamento è stato ristabilito. Caduta di rete Una caduta di rete bufferizzata con riavviamento provoca l'interruzione di tutti i collegamenti attivati. Per tutti i blocchi interessati vale perciò quanto detto sopra. Per una caduta di rete bufferizzata con nuovo avviamento (avviamento a caldo) o con avviamento a freddo automatico vale quanto detto sia per l'interruzione del collegamento che per il nuovo avviamento (avviamento a caldo) o l‘avviamento a freddo. Nel caso speciale del nuovo avviamento (avviamento a caldo) o avviamento a freddo automatico non bufferizzato, durante il quale viene eseguita automaticamente una cancellazione totale dopo il ritorno della rete, gli SFB di comunicazione S7 si comportano come descritto nel capitolo "Comportamento all'avviamento degli SFB di comunicazione S7". Comportamento durante passaggio tra stati di funzionamento Durante un passaggio tra gli stati di funzionamento STOP, AVVIAMENTO, RUN e ALT l'SFB rimane nel suo stato attuale (eccezione: nel nuovo avviamento (avviamento a caldo) o avviamento a freddo viene assunto lo stato NO_INIT). Ciò vale sia negli SFB per la comunicazione ad una via, sia negli SFB per la comunicazione a due vie. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-7 Comunicazione S7 Interfaccia errore per programma utente Se si presenta un errore durante l'elaborazione di un SFB ha sempre luogo un passaggio nello stato ERROR; contemporaneamente il parametro di uscita ERROR viene impostato su 1 e nel parametro di uscita STATUS viene registrata le relativa identificazione dell'errore. Queste informazioni di errore possono essere analizzate dall'utente nel suo programma. Esempi di errori possibili: 21-8 • Errore durante la raccolta dei dati di trasmissione • Errore durante la copiatura dei dati di ricezione nelle aree di ricezione (p. es. accesso a DB non disponibili) • La lunghezza del campo dati trasmesso non coincide con la lunghezza dell'area di ricezione archiviata sull'SFB partner. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" Descrizione L'SFB/FB 8 "USEND" trasmette dati ad un remoto SFB/FB partner del tipo "URCV". La trasmissione avviene senza coordinazione con il partner dell'SFB/FB, ovvero l'SFB/FB partner non deve confermare la trasmissione dei dati. S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri R_ID, ID e SD_1. Una volta terminato un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e SD_1. S7-400: l'operazione di trasmissione ha luogo dopo un fronte di salita all'ingresso di comando REQ. Il riferimento dei dati da trasmettere è fornito dai parametri SD_1, ... SD_4, anche se non devono essere occupati tutti e quattro i parametri di trasmissione. Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4/SD_1 e da RD_1 a RD_4/RD_1 (nel corrispondente SFB/FB partner "URCV") coincidano per quanto segue: • numero • lunghezza • tipo di dati. Il parametro R_ID dei due SFB/FB deve essere identico. Il parametro di stato DONE visualizza con un 1 logico che l'operazione di trasmissione è terminata e si è svolta correttamente. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L. Request parametro di comando, attiva lo scambio dei dati con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL Parametro di stato DONE: ERROR STATUS OUTPUT OUTPUT E, A, M, D, L BOOL E, A, M, D, L WORD E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-9 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT M, D, T, Z Puntatore all'i - esima area di trasmissione. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. ANY SD_1 E, A, M, D, T, Z S7-400: SD_i (1≤ i ≤4) Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Informazioni di errore ERROR STATUS (decimale) Spiegazione 0 11 0 1 25 1 1 4 1 10 1 12 1 18 1 20 1 27 Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato • Il job viene già elaborato in una classe di priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per S7-300: • numero massimo di ordini/istanze paralleli superato Errore nei visualizzatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo di dati. L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) Per il richiamo di SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB "USEND" • è stato indicato un DB globale e non un DB di istanza • è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nell'ID del collegamento. • inoltre per S7-300: Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: Numero massimo di job paralleli/istanze superato Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. 21-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Coerenza dei dati S7-300: per garantire la coerenza dei dati, le aree di trasmissione SD_1 devono essere riscritte solo dopo che è stata conclusa l'operazione attuale di trasmissione, vale a dire quando il parametro di stato DONE assume il valore 1. S7-400 e S7-300 mediante interfaccia integrata: quando si attiva un'operazione di trasmissione (fronte di salita a REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-11 Comunicazione S7 21.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" Descrizione L'SFB/FB 9 "URCV" riceve in modo asincrono i dati da un SFB/FB partner remoto di tipo "USEND" e li copia nelle aree di ricezione progettate. Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è possibile interrompere un job in corso. S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di un job, è possibile assegnare ai parametri R_ID, ID e RD_1 nuovi valori. S7-400: i riferimenti per queste aree di ricezione vengono forniti dai parametri RD_1 ... RD_4. Inoltre, occorre fare attenzione che le aree definite dai parametri RD_i/RD_1 e SD_i/SD_1 (nel relativo SFB/FB partner "USEND") siano compatibili relativamente a quanto segue: • numero • lunghezza • tipo di dati. Al parametro di stato NDR si visualizza 1 a significare che l'operazione di copia è terminata. Il parametro R_ID deve essere identico in entrambi gli SFB/FB. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL Parametro di stato NDR: E, A, M, D, L 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR STATUS OUTPUT OUTPUT BOOL E, A, M, D, L WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. 21-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT M, D, T, Z Puntatore all'i - esima area di trasmissione: ammessi sono solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. ANY RD_1 E, A, M, D, T, Z S7-400: RD_i (1≤ i ≤4) Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 Byte 10). Informazioni di errore ERROR STATUS (decimale) Spiegazione 0 9 Messaggio di avviso overrun: vecchi dati di ricezione sono stati sovrascritti da nuovi dati di ricezione. 0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 4 Errore nei visualizzatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo di SFB/FB: 1 18 • è stato indicato un DB di istanza che non appartiene all'SFB "URCV" • è stato indicato un DB globale invece di un DB di istanza • non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nell'ID del collegamento • inoltre per S7-300: - 1 19 Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) L'SFB/FB "USEND" corrispondente trasmette dati in modo più veloce di quanto questi possano essere copiati dall'SFB/FB "URCV" nelle aree di ricezione. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-13 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: 1 27 - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati vengono ricevuti in modo coerente se si osservano i criteri seguenti: S7-300: dopo che il parametro di stato NDR ha assunto il valore 1, deve essere richiamato immediatamente l'FB 9 "URCV" con il valore 0 su EN_R. Si garantisce così che l'area di ricezione non venga nuovamente sovrascritta prima di essere stata analizzata. Analizzare completamente l'area di ricezione RD_1 prima di richiamare nuovamente il blocco con il valore 1 sull'ingresso di comando EN_R). S7-400: dopo il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di ricezione. Per evitare che ciò si verifichi, richiamare l'SFB 9 "URCV" con il valore 0 su EN_R finché (p. es. con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude. 21-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" Descrizione L'SFB/FB 12 "BSEND" trasmette dati ad un partner SFB/FB remoto di tipo "BRCV". Questo tipo di trasferimento dati consente il traferimento di una maggiore quantità di dati tra i partner di comunicazione rispetto a tutti gli altri SFB/FB di comunicazione per collegamenti S7 progettati. È possibile trasferire dati nella seguente quantità: • 32768 byte per S7-300 über SIMATIC-Net-CP • 65534 byte per S7-400 e S7-300 urmediante interfaccia integrata. L'area dati da trasmettere viene segmentata. Ogni segmento viene trasmesso singolarmente al partner. L'ultimo segmento viene confermato dal partner già la suo arrivo, indipendentemente dal relativo richiamo dell'SFB/FB "BRCV". S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri R_ID, ID, SD_1 e LEN. Al termine di un job, è possibile assegnare nuovi valori ai parametri R_ID,ID, SD_1 e LEN. Per la trasmissione di dati segmentati, il blocco deve essere richiamato ciclicamente nel programma utente. L'indirizzo iniziale e la lunghezza massima dei dati da trasmettere sono predefiniti da SD_1. La lunghezza del blocco dati si definisce per ogni job con il parametro LEN. S7-400 e S7-300 mediante interfaccia integrata: l'operazione di trasmissione viene attivata dopo il richiamo del blocco e la presenza di un fronte di salita all'ingresso di comando REQ. L'invio dei dati dalla memoria utente è asincrona rispetto all'elaborazione del programma utente. L'indirizzo iniziale dei dati da trasmettere è predefinito da SD_1. La lunghezza dei dati da trasmettere si può definire per ogni job tramite LEN. LEN sostituisce quindi la parte di lunghezza di SD_1. Il parametro R_ID deve essere identico in entrambi gli SFB/FB. Se all'ingresso di comando R è presente un fronte di salita, l'operazione di trasmissione in corso viene interrotta. Il parametro di stato DONE con 1 indica che l'operazione di trasmissione è stata portata a termine con successo. Il nuovo job di trasmissione può essere avviato solo dopo che è stata conclusa la trasmissione se i parametri di stato DONE o ERROR hanno assunto il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-15 Comunicazione S7 A causa della trasmissione asincrona dei dati una nuova trasmissione di dati può essere avviata solo se i dati precedenti sono stati prelevati tramite il richiamo dell'SFB/FB partner. Finché non sono stati prelevati i dati, viene emesso il valore di stato 7 (vedi sotto) al richiamo dell'SFB/FB "BSEND". Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita R INPUT BOOL E, A, M, D, L, cost. Reset parametro di comando: attiva l'interruzione dello scambio dati in corso in seguito ad un fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7. In caso di collegamento tramite CP441 con S5 o apparecchiature esterne, R_ID contiene le informazioni di indirizzamento del dispositivo remoto. Per informazioni più dettagliate vedere la descrizione di CP441. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. SD_1 IN_OUT ANY S7-300: M, D Puntatore sull'area di trasmissione. S7-400: E, A, M, D, T, Z Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) LEN 21-16 IN_OUT WORD E, A, M, D, L Lunghezza in byte del blocco dati da trasmettere Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 12, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 • Problemi di comunicazione, p. es. descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Conferma di acknowledge negativa dal partner SFB/FB. La funzione non può essere eseguita. 1 3 R_ID non è conosciuto nel collegamento di comunicazione definito da ID, oppure il blocco di ricezione non è stato ancora richiamato. 1 4 Errore nel puntatore dell'area di ricezione SD_1 riguardante la lunghezza o il tipo di dati, oppure al parametro LEN è stato passato il valore 0. 1 5 La richiesta di reset è stata eseguita. 1 6 L'SFB/FB partner si trova nello stato DISABLED (EN_R ha il valore 0). Verificare inoltre la coerenza dei parametri di ingresso del blocco BRCV rispetto al blocco BSEND. 1 7 L'SFB/FB partner si trova nello stato sbagliato Il blocco di ricezione non è stato più richiamato dopo l'ultimo trasferimento dati. 1 8 L'accesso all'oggetto remoto nella memoria utente è stato respinto. L'area di destinazione nel relativo SFB/FB 13 "BRCV" è troppo piccola. Nell'SFB/FB 13 "BRCV" viene segnalato ERROR = 1, STATUS = 4 o ERROR = 1, STATUS = 10. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato). 1 12 Per il richiamo dell'SFB/FB 1 18 • è stato indicato un DB di istanza che non appartiene all'SFB 12 • è stato indicato un DB globale e non un DB di istanza. • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nel collegamento. • inoltre per S7-300: - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-17 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 27 S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo - Scarsità temporanea di memoria nel CP Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati Per garantire la coerenza dei dati la parte attualmente in uso dell'area di trasmissione SD_1 può essere scritta solo dopo che è stata conclusa l'operazione di trasmissione. Ciò avviene quando il parametro di stato DONE assume il valore 1. 21-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" Descrizione L'SFB/FB 13 "URCV" riceve i dati da un remoto SFB/FB partner del tipo "BSEND". Dopo ogni segmento di dati ricevuto, viene inviata una conferma all'SFB/FB partner il parametro LEN viene attualizzato. Il blocco è pronto a ricevere dopo il richiamo con il valore 1 all'ingresso di comando EN_R. Con EN_R=0 è possibile interrompere un job in corso. L'indirizzo iniziale e la lunghezza massima dell'area di ricezione vengono stabiliti da RD_1. La lunghezza del blocco dati viene definita da LEN. S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e RD_1. Per la trasmissione di dati segmentati, il blocco deve essere richiamato ciclicamente nel programma utente. S7-400 e S7-300 mediante interfaccia integrata: la ricezione dei dati dalla memoria utente avviene in modo asincrono rispetto all'elaborazione del programma utente. Il parametro R_ID deve essere identico in entrambi gli SFB/FB. Se la ricezione di tutti i segmenti di dati è avvenuta senza errori, il parametro di stato NDR indica il valore 1. I dati ricevuti rimangono immutati fino al richiamo successivo dell'SFB/FB 13 con EN_R=1. Se il blocco viene nuovamente richiamato durante la ricezione asincrona, viene emesso un messaggio di avviso al parametro di stato STATUS; se il richiamo ha luogo con il valore 0 all'ingresso di comando EN_R, l'operazione di ricezione viene interrotta e l'SFB/FB passa allo stato di base. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7. In caso di collegamento tramite CP441 con S5 o apparecchiature esterne, R_ID contiene le informazioni di indirizzamento del dispositivo remoto. Per informazioni più dettagliate vedere la descrizione di CP441. NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-19 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. RD_1 IN_OUT ANY S7-300: M, D S7-400: E, A, M, D, T, Z Puntatore sull'area di ricezione. L'indicazione della lunghezza stabilisce la lunghezza massima del blocco da ricevere. Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). LEN IN_OUT WORD E, A, M, D, L Lunghezza in byte dei dati finora ricevuti Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 13, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore. 0 17 Avviso: il blocco riceve dati in modo asincrono. Il parametro LEN mostra il numero dei dati ricevuti finora in byte. 0 25 Ricezione di dati in corso. Il parametro LEN indica il numero di dati finora ricevuti in byte. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per le S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Funzione non eseguibile (errore di protocollo) 1 4 Errore nei visualizzatori dell'area di ricezione RD_1 riguardanti la lunghezza o il tipo di dati. Il blocco di dati trasmesso è più lungo dell'area di ricezione. 1 5 Richiesta di reset arrivata, trasferimento incompleto. 21-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 8 Errore di accesso all'SFB/FB 12 "BSEND". Dopo l'invio dell'ultimo segmento di dati valido vengono segnalati ERROR = 1 e STATUS = 4 oppure ERROR = 1 e STATUS = 10. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 18 Per il richiamo di SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB 13 • è stato indicato un DB globale al posto di un DB di istanza • non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG) • R_ID esiste già nel collegamento. • inoltre per S7-300: - 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 27 le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP.) S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo - Scarsità temporanea di memoria nel CP Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati I dati vengono ricevuti in modo coerente se si osserva il criterio seguente: analizzare completamente la parte attualmente in uso dell'area di ricezione RD_1 prima di richiamare di nuovo il blocco con il valore 1 sull'ingresso di comando EN_R. Caso particolare di ricezione dati (solo S7-400) Nel caso la CPU ricevente passa in stato di STOP con un blocco BRCV pronto alla ricezione (vale a dire è già avvenuto un richiamo con EN_R = 1) prima che il relativo blocco mittente abbia inviato il primo segmento dati di un job, avviene quanto segue: • i dati del primo job dopo la transizione della CPU ricevente allo stato STOP vengono introdotti integralmente nell'area di ricezione • l'SFB partner "BSEND" ne riceve conferma positiva • altri job BSEND non possono essere più accettati dalla CPU ricevente nello stato STOP • fin tanto che essa si trova nello stato STOP, NDR e LEN hanno valore 0. Affinché non vada persa l'informazione sui dati ricevuti, occorre eseguire un riavviamento della CPU ricevente e richiamare l'SFB 13 "BRCV" con EN_R = 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-21 Comunicazione S7 21.8 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" Descrizione Con l'SFB/FB 15 "PUT" è possibile scrivere dati in una CPU remota. S7-300: l'operazione di trasmissione avviene dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri ID, ADDR_1 e SD_1. Al termine di un job è possibile assegnare nuovi valori ai parametri ID, ADDR_1 e SD_1. S7-400: con un fronte di salita all'ingresso di comando REQ, l'SFB viene avviato e i puntatori sulle aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner. Il partner remoto deposita i dati agli indirizzi e invia una conferma di esecuzione. Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e RD_i siano compatibili per ciò che riguarda il numero, la lunghezza e il tipo di dati. La conferma di esecuzione viene analizzata e se non si sono verificati errori, con il prossimo richiamo di SFB/FB, il parametro di stato DONE indica 1. È possibile riattivare l'operazione di scrittura solo al termine di quest'ultima. La CPU remota può trovarsi nello stato di funzionamento RUN o STOP. Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il controllo del tipo di dati, ERROR e STATUS emettono degli errori o dei messaggi di avvertimento. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L 0: job non ancora avviato o ancora in corso 1: job concluso senza errori Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. S7-300: IN_OUT ANY M, D ADDR_1 S7-400: Puntatore sulle aree da scrivere nella CPU partner E, A, M, D, T, Z ADDR_i (1≤ i ≤4) 21-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT ANY S7-300: Puntatori sulle aree della CPU utente che contengono i dati da inviare. M, D SD_1 S7-400: S7-400: SD_i E, A, M, D, T, Z (1≤ i ≤4) Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 15, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per S7-300: - numero massimo di ordini/istanze paralleli superato 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore nei visualizzatori dell'area di ricezione SD_i riguardanti la lunghezza o il tipo di dati. 1 8 Errore di accesso nella CPU partner 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo di SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB/FB 15 • è stato indicato un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-23 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • S7-300: 1 27 - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Coerenza dei dati nelle S7-300: Per garantire la coerenza dei dati, è possibile riscrivere l'area di trasmissione SD_1 solo dopo che è stata conclusa l'attuale procedura di trasmissione, quando cioè il parametro di stato DONE assume il valore 1. Coerenza dei dati nelle S7-400 e S7-300 mediante interfaccia integrata: Quando si attiva un'operazione di trasmissione (fronte di salita a REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali. Avvertenza L'intera trasmissione può considerarsi conlcusa il parametro di stato DONE assume il valore 1. 21-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.9 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" Descrizione Con l'SFB/FB 14 "GET" si possono leggere i dati di una CPU remota. S7-300: l'operazione di lettura ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a REQ vengono ripresi i parametri ID, ADDR_1 e RD_1. Al termine di un job è possibile assegnare nuovi valori ai parametri ADDR_1 e RD_1. S7-400: in caso di fronte di salita all'ingresso di comando REQ, l'SFB/FB viene avviato e i puntatori rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner. Il partner remoto ritrasmette i contenuti dei dati. I dati ricevuti vengono copiati nelle aree di ricezione progettate (RD_i) con il successivo richiamo di SFB/FB. L'utente si deve accertare che il numero, la lunghezza e il tipo di dati nelle aree definite dai parametri ADDR_i e RD_i siano compatibili. Al termine di questa operazione, il parametro di stato NDR indica 1. L'operazione di lettura può essere riattivata solo dopo che è stata portata a termine. Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il controllo del tipo di dati, ERROR e STATUS emettono degli errori o dei messaggi di avvertimento. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. S7-300: IN_OUT ANY S7-300: ADDR_1 M, D S7-400: S7-400: ADDR_i E, A, M, D, T, Z Puntatori sulle aree della CPU partner che devono essere lette. (1≤ i ≤4) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-25 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione S7-300: IN_OUT S7-300: Puntatori sulle aree della CPU utente in cui vengono memorizzati i dati letti. ANY M, D RD_1 S7-400: S7-400: RD_i E, A, M, D, T, Z (1≤ i ≤4) Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, COUNTER, TIMER. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10). Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 14, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. • Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) • collegamento con il partner non ancora creato • inoltre per S7-300: • numero massimo di ordini/istanze paralleli superato 1 2 Non è possibile eseguire la funzione. 1 4 Errore nei visualizzatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di dati. 1 8 Errore di accesso nella CPU partner 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 20 Per il richiamo dell'SFB/FB • è stato indicato un DB di istanza che non appartiene all'SFB 14 • è stato indicato un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. • 1 21-26 27 S7-300: - Numero massimo di job paralleli/istanze superato - Le istanze sono state sovraccaricate da CPU-RUN (è necessario un passaggio da STOP a RUN della CPU o del CP) - Possibile con il primo richiamo Per questo blocco non esiste un codice funzione nella CPU. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Coerenza dei dati Se ci si attiene a quanto indicato di seguito, i dati vengono ricevuti in modo coerente: Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un nuovo job. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-27 Comunicazione S7 21.10 Invio di dati ad una stampante con l'SFB 16 "PRINT" Descrizione Con l'aiuto dell'SFB 16 "PRINT" è possibile trasmettere dati con un'informazione per la formattazione ad una stampante remota. Se all'ingresso di comando REQ è presente un fronte di salita, la descrizione di formato (FORMAT) e i dati (SD_i) vengono trasmessi alla stampante selezionata tramite ID e PRN_NR. Se non vengono utilizzate tutte e quattro le aree di trasmissione, si deve fare attenzione che la prima area venga scritta dal parametro SD_1, la seconda (se disponibile) da SD_2 e la terza (se disponibile) da SD_3. Se il job è stato eseguito con successo il parametro di stato DONE visualizza 1, mentre eventuali errori vengono visualizzati tramite i parametri di stato ERROR e STATUS. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo scambio dei dati con fronte di salita. ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PRN_NR IN_OUT BYTE FORMAT IN_OUT STRING E, A, M, D, L Descrizione formato SD_i IN_OUT ANY Puntatore all'i - esima area di trasmissione (1≤ i ≤4) E, A, M, D. L M, D, T, Z Numero stampante Sono ammessi solo i tipi di dati BOOL (non permesso: campo di bit), BYTE, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: p# DB10.DBX5.0 byte 10). 21-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametro di transito FORMAT La stringa di caratteri FORMAT contiene caratteri da stampare e elementi di formato. Essa ha la seguente struttura: Caratteri Istruzione di conversione Istruzione di comando Per ogni area di trasmissione da stampare, da SD_1 a SD_4, deve essere disponibile in FORMAT un'istruzione di conversione. Le istruzioni di conversione vengono applicate alle aree di trasmissione SD_i in base alla loro successione. Caratteri e istruzioni possono invece susseguirsi a piacere. • Caratteri Sono ammessi tutti i caratteri stampabili - • - $$ (carattere per dollari), $' (virgoletta semplice), - $L e $l (line feed), $P e $p (page), $R e $r (carriage return), - $T e $t (tabulatore) Istruzioni di conversione % Flag Ampiezza . Precisione Modo di rappresentazione Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-29 Comunicazione S7 Elementi di una istruzione di conversione Significato Flag • senza: emissione con allineamento a destra • -: emissione con allineamento a sinistra • senza: emissione nella rappresentazione standard • n: vengono emessi esattamente n caratteri. Nell'emissione con allineamento a destra eventualmente vengono collocati prima dei caratteri vuoti; nell'emissione con allineamento a sinistra questi vengono collocati dopo. • senza: • 0: La precisione è di rilievo solo nei modi di rappresentazione A, D, F, e R (vedi tabella seguente). • n: emissione nella rappresentazione standard Ampiezza Precisione nessuna emissione del punto di decimale e della cifra decimale nei modi di rappresentazione F e R Modo di rappresentazione • in F e R: emissione del punto di decimale e di n cifre decimali • in A e D (data): numero dei posti per la data. Valori possibili: 2 e 4. La tabella seguente contiene: • i modi di rappresentazione possibili • per ogni modo di rappresentazione i tipi di dati possibili • per ogni tipo di rappresentazione la rappresentazione standard (l'emissione della stampante avviene nella rappresentazione standard, se nel parametro FORMAT non sono stati indicati né ampiezza né precisione) e nella sua lunghezza massima. La tabella sottostante indica i tipi di rappresentazione possibili nelle istruzioni di conversione del parametro FORMAT Rappresentazione Possibili tipi di dati Esempio Lunghezza Osservazioni A, a DATE 25.07.1996 10 - K 1 - BYTE M 1 WORD KL 2 DWORD KLMN 4 ARRAY of CHAR KLMNOP Numero carattteri 1996-07-25 10 - 0.345678 8 - DWORD C, c CHAR ARRAY of BYTE D, d DATE DWORD F, f REAL DWORD H, h Tutti i tipi di dati incl. ARRAY of BYTE In funzione del tipo di dati In funzione del tipo di dati Rappresentazione esadecimale I, i INT - 32 768 max. 6 - WORD - 2 147 483 648 max. 11 21-30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Rappresentazione Possibili tipi di dati Esempio Lunghezza Osservazioni N, n WORD emissione testo - L'area di trasmissione relativa SD_i contiene un riferimento (numero) ad un testo da stampare. Il testo è posto sull'unità (p. es. CPU 441) che genera una stringa di caratteri stampabili. Se sotto il numero indicato non viene trovato alcun testo, viene emesso ******. R, r REAL 0.12E-04 8 - DWORD S, s STRING emissione testo T, t TIME 2d_3h_10m_5s_250ms max. 21 Im Fehlerfall wird ausgegeben. U, u BYTE 255 max. 3 - WORD 65 535 max. 5 DWORD 4 294 967 295 max. 10 BOOL 1 1 DWORD X, x Z, z BYTE 101 .. 8 WORD 101 .. 16 DWORD 101 .. 32 TIME_OF_DAY (TOD) 15:38:59.874 12 - - Nella tabella, nei punti in cui viene indicata la lunghezza massima della rappresentazione standard, l'effettiva emissione può anche essere più corta. Avvertenza Nei tipi di dati C e S dipende dalla stampante collegata • quali dati possono essere stampati • ciò che la stampante emette nel caso di caratteri non stampabili, a meno che il driver stampante non contenga una tabella di trasformazione per questi caratteri. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-31 Comunicazione S7 • Istruzione di comando Con l'aiuto delle istruzioni di comando potete: \ - stampare i caratteri % e \ - modificare le impostazioni della stampante Emissione del carattere % Emissione del carattere \ attivare disattivare % \ Grassetto b - B Scrittura ridotta c Scrittura espansa e E corsivo i I maiuscoletto k K sottolineato u Quando viene richiesta la disattivazione di un tipo di carattere sebbene questo non sia mai stato attivato, o quando deve essere eseguita una funzione che la stampante non conosce, l'istruzione di comando viene ignorata. 21-32 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Errore Emissione stampante Istruzione di conversione non eseguibile Emissione di caratteri * in base alla lunghezza (massima) della rappresentazione standard o all'ampiezza indicata. Ampiezza indicata non sufficiente Nei modi di rappresentazione A, C, D, N, S, T, Z vengono emessi tanti caratteri quanti ne prevede l'ampiezza indicata. In tutti gli altri modi di rappresentazione vengono emessi caratteri * in base all'ampiezza indicata. Troppe istruzioni di conversione Le istruzioni di conversione a cui non appartiene alcun visualizzatore dell'area di trasmissione SD_i, vengono ignorate. Insufficienti istruzioni di conversione Le aree di trasmissione per le quali non è presente alcuna istruzione di conversione non vengono emesse Istruzioni di conversione non definite o non sopportate Viene emesso ****** Istruzioni di conversione incomplete Viene emesso ****** Istruzioni di comando non definite o non sopportate Le istruzioni di comando che non corrispondono alla sintassi della figura sopra vengono ignorate Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 16 "PRINT" che possono essere emesse tramite i parametri ERROR e STATUS ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dalla stampante. Non è possibile eseguire la funzione. 1 3 PRN_NR non è conosciuto sul collegamento di comunicazione assegnato tramite ID. 1 4 Errore nel parametro di transito FORMAT o nei visualizzatori dell'area di trasmissione SD_i relativo alla lunghezza o al tipo di dati. 1 6 La stampante remota si trova nello stato OFFLINE. 1 7 La stampante remota si trova in uno stato errato (p. es. Papier out) 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 13 Errore nel parametro di transito FORMAT 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-33 Comunicazione S7 Numero del dati da trasmettere Il numero dei dati da trasmettere ad una stampante remota non deve superare una lunghezza massima. Questa lunghezza dati massima in byte viene calcolata nel modo seguente: maxleng = 420 - format Con format si intende la lunghezza attuale del parametro FORMAT in byte. È irrilevante se i dati da stampare vengono divisi su una o più aree di trasmissione. 21-34 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.11 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB 19 "START" Descrizione Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 19 "START" attiva un nuovo avviamento (avviamento a caldo) o avviamento a freddo nel dispositivo remoto indirizzato tramite ID. Se il dispositivo remoto è un sistema H, l'effetto del job di avvio dipende dal parametro PI_NAME: il job di avvio riguarda o solamente un'unica CPU o tutte le CPU del sistema H. I seguenti presupposti devono essere soddisfatti (se il dispositivo remoto è una CPU): • la CPU deve trovarsi nello stato STOP • l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P". Al termine del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, il dispositivo passa allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con la valutazione della conferma positiva viene impostato a 1 il parametro di stato DONE. Eventuali errori vengono indicati dai parametri di stato ERROR e STATUS. Un nuovo avviamento (avviamento a caldo) o avviamento a freddo dello stesso dispositivo può essere attivato solo dopo che l'ultima attivazione si è conclusa. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-35 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione PI_NAME IN_OUT E, A, M, D, T, Z Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da avviare. Il nome deve essere costituito da max. 32 caratteri. ANY In un sistema standard della serie S7 il nome deve essere P_PROGRAM. In un sistema H sono possibili i seguenti nomi: ARG IN_OUT IO_STATE IN_OUT ANY E, A, M, D, T, Z BYTE E, A, M, D, L • P_PROGRAM (il job di avvio vale per tutte le CPU del sistema H) • P_PROG_0 (il job di avvio vale per la CPU nel telaio di montaggio 0 del sistema H) • P_PROG_1 (il job di avvio vale per la CPU nel telaio di montaggio 1 del sistema H) Spiegazione. • Se non viene assegnato alcun valore ad ARG, nel dispositivo remoto viene eseguito un nuovo avviamento (avviamento a caldo). • Assegnando il valore "C", nel dispositivo remoto viene eseguito un avviamento a freddo (se il dispositivo remoto conosce questo tipo di avviamento). Attualmente non rilevante. Al momento non può essere assegnato alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 19, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. 1 2 • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 3 Il nome di programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nei puntatori PI_NAME o ARG relativi alla lunghezza o al tipo di dati. 1 7 Nel dispositivo partner non è possibile eseguire alcun nuovo avviamento. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 21-36 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 12 Per il richiamo dell'SFB è stato indicato 1 20 • un DB di istanza che non appartiene all'SFB 19 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-37 Comunicazione S7 21.12 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP" Descrizione Con un fronte di salita all'ingresso di comando REQ, l'SFB 20 "STOP" attiva il passaggio del dispositivo remoto indirizzato tramite ID nello stato di funzionamento STOP. Il passaggio dello stato di funzionamento è possibile se il dispositivo si trova in uno degli stati di funzionamento RUN, ALT o AVVIAMENTO. Se il dispositivo remoto è un sistema H, il job di STOP ha validità per tutte le CPU del sistema H. Se il job è stato portato a termine con successo, il parametro di stato DONE indica 1; eventuali errori vengono emessi dai parametri di stato ERROR e STATUS. Un'ulteriore esecuzione del passaggio di stato di funzionamento descritto all'interno dello stesso dispositivo remoto è possibile solo se l'avvio precedente dell'SFB 20 è terminato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PI_NAME IN_OUT ANY E, A, M, D Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da arrestare. Il nome deve essere costituito da max. 32 caratteri. In un sistema standard della serie S7 il nome deve essere P_PROGRAM. In un sistema H sono possibili i seguenti nomi: 21-38 • P_PROGRAM (il job di avvio vale per tutte le CPU del sistema H) • P_PROG_0 (il job di avvio vale per la CPU nel telaio di montaggio 0 del sistema H) • P_PROG_1 (il job di avvio vale per la CPU nel telaio di montaggio 1 del sistema H). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametri Dichiarazione Tipo IO_STATE IN_OUT BYTE Area di memoria Descrizione E, A, M, D, L Attualmente non rilevante. Al momento non può essere assegnato alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 20, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nel puntatore PI_NAME relativo alla lunghezza e al tipo di dati. 1 7 Il dispositivo partner già si trova nello stato STOP. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 20 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 20 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-39 Comunicazione S7 21.13 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME" Descrizione Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 21 "RESUME" attiva un riavviamento nel dispositivo remoto selezionato tramite ID. I seguenti presupposti devono essere soddisfatti se il dispositivo remoto è una CPU: • la CPU deve trovarsi nello stato STOP • l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P" • si deve aver reso possibile il riavviamento manuale nella progettazione con STEP 7 • non devono essere presenti ostacoli al riavviamento. Dopo che il dispositivo ha eseguito il riavviamento, passa allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con l'analisi della conferma positiva, il parametro di stato DONE viene impostato a 1. Eventuali errori verificatisi vengono visualizzati con i parametri di stato ERROR e STATUS. Un ulteriore riavviamento dello stesso dispositivo remoto è possibile solo se l'avvio precedente è terminato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PI_NAME IN_OUT ANY E, A, M, D Puntatore sull'area di memoria in cui si trova il nome del programma (codice ASCII) da avviare. Il nome deve essere costituito da max. 32 caratteri. In un sistema standard della serie S7 il nome deve essere P_PROGRAM. ARG 21-40 IN_OUT ANY E, A, M, D, T, Z Argomento di esecuzione. Attualmente non rilevante. Al momento non si può assegnare alcun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametri Dichiarazione Tipo Area di memoria Descrizione IO_STATE IN_OUT E, A, M, D, L Attualmente non rilevante. Al momento non si può attribuire nessun valore a questo parametro se il partner di comunicazione è un sistema di automazione della famiglia S7. BYTE Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 21, che possono essere emesse con i parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato. • Il job viene attualmente elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dal dispositivo partner: non è possibile eseguire la funzione. 1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto. 1 4 Errore nel puntatore PI_NAME o ARG relativo alla lunghezza e al tipo di dati. 1 7 Il dispositivo partner non si trova nello stato STOP. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo dell'SFB è stato indicato 1 20 • un DB di istanza che non appartiene all'SFB 21 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-41 Comunicazione S7 21.14 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS" Descrizione Con l'ausilio dell'SFB 22 "STATUS" è possibile interrogare lo stato di un dispositivo partner remoto di comunicazione. Con un fronte di salita all'ingresso di comando REQ viene trasmesso un job al partner remoto. La risposta viene quindi analizzata per verificare se ci sono stati errori. Se non si sono verificati errori, lo stato ricevuto viene copiato con il prossimo richiamo dell'SFB nelle variabili PHYS, LOG e LOCAL. Una volta terminata questa operazione, il parametro di stato NDR indica 1. La possibilità di effettuare un'ulteriore interrogazione dello stesso partner di comunicazione è data solo al termine dell'interrogazione precedente. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva l'SFB con fronte di salita ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. PHYS IN_OUT ANY E, A, M, D Stato fisico (lunghezza minima: un byte) Valori possibili: LOG IN_OUT ANY E, A, M, D • 10H piena funzionalità • 13H necessità di manutenzione Stato logico (lunghezza minima: un byte) Valore possibile: • LOCAL 21-42 IN_OUT ANY E, A, M, D 00H cambio di stato ammesso Stato di funzionamento se il dispositivo partner è una CPU S7 (lunghezza minima: due byte) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametro di transito LOCAL Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per lo stato di funzionamento. Stato di funzionamento Identificazione corrispondente STOP 00H Nuovo avviamento 01H RUN 02H Riavviamento 03H ALT 04H Avviamento a freddo 06H RUN (stato del sistema H: ridondante) 09H ACCOPPIAMENTO 0BH AGGIORNAMENTO 0CH Informazioni di errore La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 22 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) 0 11 0 25 1 1 Spiegazione Avviso: • Il nuovo job non è valido in quanto quello precedente non è ancora terminato • Il job viene già elaborato in una classe con priorità minore. È stata avviata la comunicazione. Il job è in corso di esecuzione. Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP) 1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione. 1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati. 1 8 L'accesso all'oggetto remoto è stato respinto. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 1 20 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 22 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza nel PG) • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-43 Comunicazione S7 21.15 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" Descrizione L'SFB 23 "USTATUS" riceve il cambiamento di stato di un dispositivo remoto partner della comunicazione; quest'ultimo invia senza essere stato sollecitato il proprio stato in caso di un cambio di questo se è la progettazione è avvenuta con STEP 7. Se al momento del richiamo, l'ingresso di comando EN_R indica 1 e sussiste un telegramma da parte del partner, con il prossimo richiamo dell'SFB viene depositata l'informazione di stato nelle variabili PHYS, LOG e LOCAL. Al termine di tale operazione, il parametro di stato NDR indica 1. Sul collegamento utilizzato da USTATUS, l'invio di messaggi sullo stato di funzionamento deve essere abilitato. Avvertenza Per ogni collegamento è possibile collocare solo una istanza dell'SFB 23. Parametri Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. ID INPUT WORD M, D, cost. NDR OUTPUT BOOL E, A, M, D, L ERROR STATUS OUTPUT OUTPUT BOOL WORD E, A, M, D, L E, A, M, D, L PHYS IN_OUT ANY E, A, M, D LOG IN_OUT ANY E, A, M, D LOCAL IN_OUT ANY E, A, M, D Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 Parametro di stato NDR: 0: Job non ancora avviato o ancora in esecuzione 1: Job eseguito senza errori. Parametri di stato ERROR e STATUS, indicazione di errore: ERROR=0 e STATUS ha il valore: 0000H: né avviso né errore 0000H: avviso, STATUS fornisce informazioni dettagliate. ERROR=1 È presente un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. Stato fisico (lunghezza minima: un byte) Valori possibili: • 10H piena funzionalità • 13H necessità di manutenzione Stato logico (lunghezza minima: un byte) Valore possibile: • 00H cambio di stato ammesso Stato di funzionamento se il dispositivo partner è una CPU S7 (lunghezza minima: due byte) 21-44 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametro di transito LOCAL Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per lo stato di funzionamento. Stato di funzionamento Identificazione corrispondente STOP 00H Nuovo avviamento 01H RUN 02H Riavviamento 03H ALT 04H Avviamento a freddo 06H RUN (stato del sistema H: ridondante) 09H ACCOPPIAMENTO 0BH AGGIORNAMENTO 0CH Informazioni di errore La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 23 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 9 Messaggio di avviso overrun: il vecchio stato del dispositivo è stato sovrascritto da un nuovo stato. 0 11 I dati in ingresso vengono già elaborati in una classe con priorità minore. 0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione. 1 1 Problemi di comunicazione, p. es. • descrizione del collegamento non caricata (locale o remoto) • collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP) 1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati. 1 10 L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB cancellato) 1 12 Per il richiamo dell'SFB è stato indicato • un DB di istanza che non appartiene all'SFB 23 • un DB globale al posto di un DB di istanza • non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza dal PG) 1 18 Per il collegamento indicato con l'ID esiste già una istanza per l'SFB 23 "USTATUS". 1 19 La CPU remota trasmette dati più velocemente di quanto l'SFB possa accoglierli nel programma utente. 1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di lavoro fosse sufficiente: compressione della memoria di lavoro • Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-45 Comunicazione S7 21.16 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CONTROL" Descrizione Con la SFC 62 "CONTROL" è possibile rilevare nelle S7-400 lo stato del collegamento appartenente ad un'istanza SFB di comunicazione locale. Dopo il richiamo della funzione di sistema con il valore 1 all'ingresso di comando EN_R viene rilevato lo stato momentaneo di quel collegamento che appartiene all'istanza SFB di comunicazione selezionata tramite I_DB. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive, segnala la disponibilità a ricevere quando l'ingresso è impostato. I_DB INPUT WORD E, A, M, D, L, cost. Numero del DB di istanza OFFSET INPUT WORD E, A, M, D, L, cost. Offset del record di dati in byte nel DB di multiistanza (se non c'è un DB di multiistanza, indicare 0). RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS ha il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate. ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore. I_TYP OUTPUT BYTE E, A, M, D, L Identificazione per il tipo di blocco che appartiene all'istanza selezionata I_STATE OUTPUT BYTE E, A, M, D, L • = 0: la corrispondente istanza di SFB non è ancora stata richiamata dall'ultimo avviamento a freddo, nuovo avviamento (a caldo) o caricamento. • <> 0: la corrispondente istanza di SFB è stata richiamata almeno una volta dall'ultimo avviamento a freddo, nuovo avviamento (a caldo) o caricamento. I_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente. Valori possibili: I_STATUS OUTPUT 21-46 WORD E, A, M, D, L • 0: collegamento interrotto o non instaurato • 1: collegamento attivo Parametro di stato STATUS dell'istanza SFB di comunicazione interrogata Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 Parametro di uscita I_TYP La tabella seguente spiega quale identificazione appartiene a quale tipo SFB. Tipo SFB Identificazione (W#16#...) USEND 00 URCV 01 BSEND 04 BRCV 05 GET 06 PUT 07 PRINT 08 START 0B STOP 0C RESUME 0D STATUS 0E USTATUS 0F ALARM 15 ALARM_8 16 ALARM_8P 17 NOTIFY 18 AR_SEND 19 NOTIFY_8P 1A (nessun SFB disponibile; I_DB o OFFSET errati) FF Informazioni di errore Il parametro di uscita RET_VAL può assumere con la SFC 62 "CONTROL" i due valori seguenti: • 0000H: non si sono verificati errori durante l'esecuzione della SFC. • 8000H: si è verificato un errore durante l'esecuzione della SFC. Avvertenza Anche quando viene visualizzato il valore 0000H nel parametro di uscita RET_VAL, è necessario valutare i parametri di uscita ERROR e STATUS. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-47 Comunicazione S7 ERROR STATUS (decimale) Spiegazione 1 10 Non è possibile accedere alla memoria utente locale (p. es.: è stato indicato un byte di merker come parametro attuale I_TYP che però non esiste nella CPU utilizzata.) 1 12 Al numero indicato da I_DB 21-48 • non corrisponde un DB di istanza ma un DB globale, • non corrisponde alcun DB o l'istanza è guasta. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.17 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" Descrizione Con la FC 62 "C_CNTRL" si determina lo stato di un collegamento nelle S7-300. Dopo il richiamo della funzione di sistema con il valore 1 sull'ingresso di comando EN_R viene determinato lo stato attuale del collegamento indirizzato tramite ID. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive. Segnala la pronta ricezione quando è impostato l'ingresso ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore ERROR OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Parametri di stato ERROR e STATUS, indicazione errori: ERROR=0 e STATUS hanno il valore: 0000H: né avvertimento, né errore <> 0000H: avvertimento, STATUS fornisce informazioni dettagliate ERROR=1 Si è verificato un errore. STATUS fornisce informazioni dettagliate sul tipo di errore C_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente. Valori possibili: C_STATUS OUTPUT WORD E, A, M, D, L • 0: collegamento interrotto o non creato • 1: collegamento disponibile Stato del collegamento: • W#16#0000: collegamento non impostato • W#16#0001: impostazione del collegamento in corso • W#16#0002: collegamento impostato • W#16#000F: mancano dati per lo stato del collegamento (p. es. avviamento del CP) • W#16#00FF: collegamento non progettato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-49 Comunicazione S7 Informazioni sugli errori Il parametro di uscita RET_VAL può assumere i due valori seguenti con la FC 62 "C_CNTRL": • 0000H: durante l'esecuzione della FC non si sono verificati errori • 8000H: durante l'esecuzione della FC si èm verificato un errore Avvertenza I parametri di uscita ERROR e STATUS vanno analizzati anche quando nel parametro di uscita RET_VAL viene visualizzato il valore 0000H. ERROR STATUS (decimale) Spiegazione 1 10 Errore di accesso al CP a causa di un altro job in corso. Ripetere il job in un secondo tempo 1 27 Per questo blocco non esiste un codice funzione nella CPU. 21-50 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione S7 21.18 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 Per un funzionamento corretto e senza problemi, gli SFB/FB di comunicazione S7 richiedono generalmente un'area di memoria intermedia dipendente dai dati utili nella memoria di lavoro della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente. Blocco S7-300 Fabbisogno di memoria di lavoro in byte FB 8 USEND Blocco: 4583 byte, istanza: 368 byte FB 9 URCV Blocco: 4880 byte, istanza: 370 byte FB 12 BSEND Blocco: 5284 byte, istanza: 372 byte FB 13 BRCV Blocco: 5258 byte, istanza: 374 byte FB 14 GET Blocco: 4888 byte, istanza: 336 byte FB 15 PUT Blocco: 4736 byte, istanza: 384 byte FC 62 C_CNTRL Blocco: 546 byte Avvertenza sul comportamento in caso di interruzione Nella S7-300, i blocchi di comunicazione SIMATIC_NET si possono richiamare solo in una classe di priorità. Blocco S7-400 Fabbisogno di memoria di lavoro in byte SFB 8/ USEND/ SFB 9 URCV 68 + lunghezza dei dati utili indicati a SD_1,... SD_4/RD_1,... RD_4 con il primo richiamo SFB 12/ BSEND/ 54 SFB 13 BRCV SFB 14 GET 88 + lunghezza dei dati utili indicati a RD_1,... RD_4 con il primo richiamo SFB 15 PUT 108 + lunghezza dei dati utili indicati a SD_1,... SD_4 con il primo richiamo SFB 16 PRINT 78 + lunghezza indicata in FORMAT + lunghezza dei primi dati utili specificati al primo richiamo in SD_1,... SD_4 SFB 19 START 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e ARG SFB 20 STOP 48+ lunghezza del parametro specificato al primo richiamo in PI_NAME SFB 21 RESUME 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e ARG SFB 22 STATUS 50 SFB 23 USTATUS 50 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 21-51 Comunicazione S7 21-52 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22 Comunicazione di base S7 22.1 Parametri comuni delle SFC di comunicazione di base S7 Parametro di ingresso REQ Il parametro di ingresso REQ (request to activate) è un parametro di comando avviato dal livello. Serve ad avviare il job (il trasferimento dati oppure l'annullamento del collegamento): • Quando si richiama la SFC relativa ad un job temporaneamente non attivato, con REQ=1 il job viene avviato. Se al momento del primo richiamo di una SFC non sussiste ancora alcun collegamento al partner di comunicazione, tale collegamento viene creato prima che inizi il trasferimento dati. • Quando si è avviato un job ed esso non è ancora terminato e si richiama nuovamente la SFC per lo stesso job, REQ non viene analizzato dalla SFC. Parametro di ingresso REQ_ID (solo in SFC65 e SFC66) Il parametro di ingresso REQ_ID viene utilizzato per identificare i dati di trasmissione e viene trasmesso dal sistema operativo della CPU mittente alla SFC 66 "X_RCV" della CPU del partner di comunicazione. Sul lato del ricevente serve il parametro REQ_ID: • se su una CPU mittente si richiamano più SFC 65 "X_SEND" con diversi parametri REQ_ID e si trasferiscono i dati ad un partner di comunicazione • se si trasferiscono dati ad un partner di comunicazione da più CPU mittente con l'aiuto della 65 "X_SEND". Mediante la valutazione di REQ_ID si possono depositare i dati di ricezione in diverse aree di ricezione. Parametri di uscita RET_VAL e BUSY Le SFC di comunicazione di base S7 sono SFC con funzionamento asincrono, ossia lo svolgimento di un job si protrae per più richiami di SFC. Mediante i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job. Vedere anche il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-1 Comunicazione di base S7 Parametro di ingresso CONT Il parametro di ingresso CONT (continue) è un parametro di comando. Con esso si determina se il collegamento al partner di comunicazione debba essere mantenuto al termine del job. • Se al primo richiamo si sceglie CONT=0, il collegamento viene un'altra volta disattivato al termine del trasferimento dati. Esso sarà poi nuovamente disponibile per lo scambio dati con un nuovo partner di comunicazione. In questo modo si assicura che vengano occupate solo quelle risorse di collegamento attualmente necessarie. • Se al primo richiamo si sceglie CONT=1, il collegamento viene mantenuto anche dopo che il trasferimento dati è terminato. Questo modo di procedere si propone, per esempio, quando si scambiano dati ciclicamente tra due stazioni. Avvertenza Un collegamento creato mediante CONT=1 può anche essere annullato esplicitamente con la SFC 69 "X_ABORT" o con la SFC 74 "I_ABORT". 22-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 22.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati Informazioni di errore Le "vere" informazioni di errore per le SFC dalla 65 alla 74 riportate, tra le altre, nella tabella seguente si possono classificare come segue: Codice errore (W#16# ...) Spiegazione 809x Errore sulla CPU, sulla quale è in esecuzione la SFC 80Ax Errore di comunicazione permanente 80Bx Errore nel partner di comunicazione 80Cx Errore temporaneo Informazioni specifiche per le SFC da 65 a 74: Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 0000 L'elaborazione è stata conclusa senza errori. SFC 69 "X_ABORT" e SFC 74 "I_ABORT": REQ=1, e il collegamento indicato non è creato. SFC 66 "X_RCV":EN_DT=1 e RD=NIL 00xy - SFC 66 "X_RCV" con NDA=1 e RD<>NIL:RET_VAL contiene la lunghezza del blocco dati ricevuto (con EN_DT=0) oppure copiato in RD (con EN_DT=1). SFC 67 "X_GET": RET_VAL contiene la lunghezza del blocco dati ricevuto. SFC 72 "I_GET":RET_VAL contiene la lunghezza del blocco dati ricevuto. 7000 - SFC 65 "X_SEND", SFC 67 "X_GET", SFC 68 "X_PUT"; SFC 69 "X_ABORT", SFC 72 "I_GET", SFC 73 "I_PUT" e SFC 74 "I_ABORT": richiamo con REQ = 0 (richiamo senza elaborazione). BUSY ha il valore 0, non c'è alcun trasferimento dati attivo. SFC 66 "X_RCV": EN_DT=0/1 e NDA=0 7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1. - 7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1. SFC 69 "X_ABORT" e SFC 74 "I_ABORT": 8090 Richiamo intermedio con REQ=1 L'indirizzo di destinazione indicato del partner di comunicazione non è valido, p. es. • IOID errato • presenza indirizzo di base errato • indirizzo MPI (> 126) errato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-3 Comunicazione di base S7 Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 8092 Errore in SD o RD, p. es.: l'indirizzamento dell'area dati locale non è consentito. SFC 65 "X_SEND", p. es. • lunghezza di SD non consentita • SD=NIL non è consentito SFC 66 "X_RCV", p. es. • sono stati ricevuti più dati rispetto a quanti ne possono entrare nell'area definita mediante RD. • RD è il tipo di dati BOOL, la lunghezza dei dati ricevuti è tuttavia superiore ad un byte. SFC 67 "X_GET" e SFC 72 "I_GET", per. es. lunghezza non consentita per RD la lunghezza o il tipo di dati di RD non corrisponde ai dati ricevuti RD=NIL non è consentito SFC 68 "X_PUT" e SFC 73 "I_PUT", p. es. lunghezza non consentita per SD SD=NIL non è consentito 8095 Il blocco viene già elaborato in una classe di priorità con priorità più bassa. - 80A0 Errore nella conferma di acknowledge ricevuta SFC 68 "X_PUT" e SFC 73 "I_PUT": Il tipo di dati indicato nel parametro SD della CPU mittente non è supportato dal partner di comunicazione. 80A1 Problemi di comunicazione: richiamo SFC dopo annullamento di un collegamento esistente. 80B0 L'oggetto non è accessibile, p. es. DB non caricato possibile per SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" 80B1 Errore nel puntatore ANY. La lunghezza dell'area dati da trasferire è errata. - 80B2 Errore hardware: unità non presente possibile per SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" • il posto connettore progettato non è occupato • il tipo di unità attuale non è uguale al tipo di unità prefissato • la periferia decentrata non è disponibile • nell'SDB corrispondente non vi è alcuna registrazione per l'unità. 80B3 I dati possono essere o soltanto letti oppure solo scritti, p. es. DB protetto da scrittura possibile per SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT" 80B4 Errore del tipo di dati per puntatore ANY, o ARRAY del tipo di dati indicato non consentito. SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT": il tipo di dati indicato in VAR_ADDR non viene supportato dal partner di comunicazione. 80B5 Elaborazione negata a causa dello stato di funzionamento non consentito. possibile per SFC 65 "X_SEND" 80B6 Nella conferma di acknowledge ricevuta c'è un codice di errore sconosciuto. - 80B7 Il tipo di dati e/o la lunghezza dei dati trasferiti non sono adatti all'area nella CPU partner nella quale si deve scrivere. possibile per SFC 68 "X_PUT" e SFC 73 "I_PUT" 22-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 Codice errore (W#16# ...) Spiegazione (generale) Spiegazione (specifica per SFC) 80B8 - SFC 65 "X_SEND": la SFC 66 "X_RCV" del partner di comunicazione ha negato la conferma dei dati (RD=NIL). 80B9 - SFC 65 "X_SEND": il blocco dati è stato identificato dal partner di comunicazione (richiamo della SFC 66 "X_RCV" con EN_DT=0), tuttavia non è ancora stato confermato nel programma utente a causa dello stato di funzionamento. 80BA La risposta del partner di comunicazione non entra nel telegramma di comunicazione. - 80C0 Il collegamento indicato è già occupato da un altro job. - 80C1 Mancanza di risorse nella CPU sulla quale è in esecuzione la SFC, p. es.: - 80C2 80C3 • il numero massimo di diversi job di trasmissione dell'unità viene già elaborato • la risorsa di collegamento è p. es. occupata dalla ricezione. Temporanea mancanza di risorse del partner di comunicazione, p. es.: • il partner di comunicazione elabora momentaneamente il massimo dei job • le risorse necessarie (memoria, ecc.) sono occupate • memoria di lavoro disponibile insufficiente (avviare un processo di compressione). Errore nella struttura del collegamento, p. es.:· • la propria stazione S7 non si trova sulla sotto-rete MPI • la propria stazione è stata indirizzata sulla sotto-rete MPI • il partner di comunicazione non è più accessibile • temporanea mancanza di risorse del partner di comunicazione. - - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-5 Comunicazione di base S7 22.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND" Descrizione Con la SFC 65 "X_SEND" si trasmettono i dati ad un partner di comunicazione esterno alla propria stazione S7. La ricezione dei dati nel partner di comunicazione avviene tramite la SFC 66 "X_RCV". Il processo di trasmissione avviene dopo il richiamo della SFC con REQ=1. Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il parametro SD, sia minore o uguale all'area di ricezione (nel partner di comunicazione) definita mediante il parametro RD. Se SD è del tipo di dati BOOL, anche RD deve essere del tipo BOOL Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. REQ_ID INPUT DWORD E, A, M, D, L, cost. Identificazione del job. Serve ad identificare i dati nel partner di comunicazione. SD INPUT ANY E, A, M, D Riferimento all'area di trasmissione. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME nonché gli Array dei tipi di dati citati a accezione di BOOL. L'area di trasmissione può occupare al massimo 76 byte. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 22-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 22.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV" Descrizione Con la SFC 66 "X_RCV" si ricevono i dati che uno o più partner di comunicazione esterni alla propria stazione S7 hanno trasmesso con la SFC 65 "X_SEND". Con la SFC 66 "X_RCV" • si può stabilire se al momento attuale vi sono dati trasmessi disponibili: essi sono stati disposti in fila dal sistema operativo eventualmente in una coda di attesa interna; • si può copiare il blocco dati più vecchio, pronto nella lista di attesa, in un'area di ricezione definita. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_DT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "enable data transfer". Con il valore 0 si verifica se è disponibile almeno un blocco dati. Il valore1 causa la copia del blocco dati più vecchio disponibile nella coda di attesa nell'area della memoria di lavoro definita mediante RD. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. Se non si verifica alcun errore, RET_VAL contiene: REQ_ID OUTPUT DWORD E, A, M, D, L NDA OUTPUT BOOL E, A, M, D, L • con EN_DT=0/1 e NDA=0:W#16#7000. In questo caso nella coda di attesa non c'è alcun blocco dati • con EN_DT=0 e NDA=1 la lunghezza in byte del blocco dati più vecchio registrato nella coda di attesa come numero positivo • con EN_DT=1 e NDA=1 la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. Identificazione del job di quella SFC "X_SEND", i cui dati trasmessi stanno al primo posto nella coda di attesa. Se nella coda di attesa non c'è alcun blocco dati, il REQ_ID contiene il valore 0. Parametro di stato "new data arrived". NDA=0: • Nella coda di attesa non è presente alcun blocco dati NDA=1: • Nella coda di attesa è presente almeno un blocco dati (richiamo della SFC 66 con EN_DT=0) • Il blocco dati più vecchio nella coda di attesa è stato copiato nel programma utente (richiamo della SFC 66 con EN_DT=1) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-7 Comunicazione di base S7 Parametri Dichiarazione Tipo Area di memoria Descrizione RD OUTPUT E, A, M, D Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. ANY Se si intende annullare il blocco dati meno recente nella coda di attesa, assegnare a RD il valore NIL. L'area di ricezione può occupare al massimo 76 byte. Visualizzazione della ricezione dati con EN_DT=0 Non appena giungono i dati di un partner di comunicazione, questi vengono messi in fila dal sistema operativo nella coda di attesa e cioè nella sequenza con cui sono stati ricevuti. Quando si vuole verificare se c'è almeno un blocco dati, richiamare la SFC 66 con EN_DT=0 e impostare il parametro di uscita NDA: • NDA=0 significa che nella coda di attesa non è registrato alcun blocco dati. REQ_ID è irrilevante, RET_VAL contiene W#16#7000. • NDA=1 significa che nella coda di attesa c'è almeno un blocco dati pronto per il ritiro. In questo caso impostare anche il parametro di uscita RET_VAL ed eventualmente REQ_ID. RET_VAL contiene la lunghezza in byte del blocco dati, REQ_ID l'identificazione del job del blocco mittente. Qualora nella coda di attesa siano pronti più blocchi dati, REQ_ID e RET_VAL appartengono al blocco dati più vecchio presente nella coda di attesa. X_RCV 0 Risorse di ricezione EN_DT REQ_ID NDA RD Ricezione dati t2 Coda di attesa Ricezione dati t1 t t1 t2 Ricezione dati 22-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 Conferma dati nell'area di ricezione con EN_DT=1 Quando si richiama la SFC 66 "X_RCV" con EN_DT=1, il blocco dati più vecchio presente nella coda di attesa viene copiato nell'area della memoria di lavoro definita mediante RD. RD deve essere maggiore o uguale all'area di trasmissione, definita tramite il parametro SD, della relativa SFC 65 "X_SEND". Qualora il suo parametro di ingresso SD sia del tipo di dati BOOL, anche RD deve essere del tipo BOOL. Se si intendono memorizzare i dati ricevuti in aree diverse, si può determinare REQ_ID (richiamo della SFC con EN_DT = 0) e scegliere adeguatamente RD nel richiamo successivo (con EN_DT = 1). Se durante la copia si è verificato un errore, RET_VAL indica la lunghezza in byte del blocco dati copiato e fornisce una conferma di acknowledge positiva al mittente. Coda di attesa Trasferimento dati X_RCV 1 EN_DT REQ_ID NDA RD Area di ricezione Ricezione dati Annullamento dati Se non si vogliono confermare i dati, assegnare a RD il valore NIL. In questo caso il mittente riceve una conferma di acknowledge negativa (RET_VAL della relativa SFC 65 "X_SEND" ha il valore W#16#80B8), in RET_VAL con la SFC 66 "X_RCV" viene registrato 0. Coerenza dei dati Dopo il richiamo con EN_DT=1 e RETVAL=W#16#00xy nelle aree di ricezione RD si trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati. Per evitare che ciò si verifichi, non richiamare più l'SFC 66 "X RCV" con la stessa area di ricezione RD, prima di aver analizzato i dati ricevuti. Transizione dello stato di funzionamento a STOP Con la transizione nello stato di funzionamento STOP • tutti i nuovi job entranti ricevono una conferma di acknowledge negativa; • vale per i job già arrivati: tutti i job registrati nella coda di attesa di ricezione ricevono una conferma di acknowledge negativa. - Ad un successivo nuovo avviamento (avviamento a caldo) o avviamento a freddo tutti i blocchi dati vengono annullati. Ad un successivo riavviamento (non per S7-300 e per S7-400H) il blocco dati appartenente al job più vecchio viene confermato nel programma, se è stato interrogato prima della transizione nello stato di funzionamento STOP (richiamo della SFC 66 "X_RCV" con EN_DT=0). Altrimenti viene annullato. Tutti gli altri blocchi dati vengono annullati. - Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-9 Comunicazione di base S7 Annullamento dei collegamenti Con l'annullamento di un collegamento un job già registrato nella coda di attesa di ricezione, che fa parte di questo collegamento, viene annullato. Eccezione: se questo job è il job più vecchio nella coda di attesa ed è già stato riconosciuto mediante richiamo della SFC 66 "X_RCV" con EN_DT=0, lo si può confermare nell'area di ricezione con EN_DT=1. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 22-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 22.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT" Descrizione Con la SFC 68 "X_PUT" si scrivono i dati in un partner di comunicazione esterno alla propria stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di scrittura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione della conferma di acknowledge non viene visualizzata con BUSY=0. Occorre fare attenzione che l'area di trasmissione (sulla CPU mittente), definita mediante il parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. SD ANY E, A, M, D Riferimento all'area della propria CPU che contiene i dati da trasmettere. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. INPUT SD deve avere la stessa lunghezza del parametro VAR_ADDR del partner di comunicazione. Inoltre i tipi di dati di SD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 76 byte. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-11 Comunicazione di base S7 Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 68 "X_PUT" viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer viene annullato. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 68 "X_PUT": i dati inviati vengono comunque scritti. Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 22-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 22.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET" Descrizione Con la SFC 67 "X_GET" si leggono i dati da un partner di comunicazione esterno alla propria stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di lettura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene quindi la lunghezza in byte del blocco dati ricevuto. Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. Se non si verifica alcun errore, RET_VAL contiene la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora terminato. BUSY=0: il processo di ricezione è concluso, o nessun processo di ricezione è attivo. RD OUTPUT ANY E, A, M, D Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. L'area di ricezione RD deve essere lunga almeno quanto l'area di lettura VAR_ADDR nel partner di comunicazione. Inoltre i tipi di dati di RD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 76 byte. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-13 Comunicazione di base S7 Transizione nello stato di funzionamento STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 67 "X_GET" viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo, vanno persi o meno, dipende dal tipo dell'avviamento successivo: • con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da RD; • con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono annullati. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 67 "X_GET": i dati vengono letti anche nello stato di funzionamento STOP. Coerenza dei dati I dati vengono ricevuti in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. 22-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 22.7 Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 69 "X_ABORT" Descrizione Con la SFC 69 "X_ABORT" si annulla il collegamento ad un partner di comunicazione esterno alla propria stazione S7, il quale era stato creato con una delle SFC X_SEND, X_GET o X_PUT. Se è stato terminato il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 0), dopo il richiamo della SFC 69 "X_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state occupate per il collegamento. Se il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 1) non è stato terminato, una volta terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento occupate. Si può richiamare la SFC 69 "X_ABORT" solo su quel lato su cui è in esecuzione la SFC "X_SEND", "X_PUT" o "X_GET". L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID". Contiene l'indirizzo MPI del partner di comunicazione. Esso è stato progettato con STEP 7. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti non è ancora concluso. BUSY=0: l'annullamento dei collegamenti è concluso. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei collegamenti avviato mediante la SFC 69 "X_ABORT". Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "X_ABORT": il collegamento viene annullato. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-15 Comunicazione di base S7 22.8 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT" Descrizione Con la SFC 73 "I_PUT" si scrivono i dati in un partner di comunicazione interno alla propria stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente. Il processo di trasmissione avviene dopo il richiamo della SFC con livello 1 sull'ingresso di comando REQ. Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita mediante il parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC della comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: B#16#54 = Ingresso periferia (PE) B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista va indicato l'indirizzo minore tra i due. VAR_ADDR INPUT ANY E, A, M, D, L Riferimento all'area nella CPU partner nella quale si deve scrivere. Si deve scegliere un tipo di dati che venga supportato dal partner di comunicazione. SD ANY E, A, M, D Riferimento all'area della propria CPU che contiene i dati da trasmettere. Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. INPUT SD deve avere la stessa lunghezza del parametro VAR_ADDR del partner di comunicazione. Inoltre i tipi di dati di SD e VAR_ADDR devono coincidere. L'area di trasmissione può occupare al massimo 84 byte. 22-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 Parametri Dichiarazione Tipo Area di memoria Descrizione RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è ancora concluso. BUSY=0: il processo di trasmissione è concluso, o nessun processo di trasmissione è attivo. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 73 "I_PUT" viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer viene annullato. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 73 "I_PUT". I dati inviati vengono comunque scritti. Coerenza dei dati I dati vengono inviati in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-17 Comunicazione di base S7 22.9 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET" Descrizione Con la SFC 72 "I_GET" si leggono i dati da un partner di comunicazione interno alla propria stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente. L'attivazione del processo di ricezione avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene quindi la lunghezza in byte del blocco dati ricevuto. Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere Parametri comuni delle SFC di comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: • B#16#54 = Ingresso periferia (PE) • B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista, va indicato l'indirizzo più basso tra i due. VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner che deve essere letta. Si deve scegliere il tipo di dati che viene supportato dal partner di comunicazione RET_VAL INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. OUTPUT Se non si verifica alcun errore, RET_VAL contiene la lunghezza in byte del blocco dati copiato nell'area di ricezione RD come numero positivo. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora concluso. BUSY=0: il processo di ricezione è concluso, o nessun processo di ricezione è attivo. 22-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 Parametri Dichiarazione Tipo Area di memoria Descrizione RD OUTPUT E, A, M, D Riferimento all'area di ricezione (receive data area). Sono consentiti i seguenti tipi di dati: BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME,S5_TIME, DATE_AND_TIME nonché gli array dei tipi di dati citati, a eccezione di BOOL. ANY L'area di ricezione RD deve essere lunga almeno quanto l'area di lettura VAR_ADDR nel partner di comunicazione. Inoltre i tipi di dati di RD e VAR_ADDR devono coincidere. L'area di ricezione può occupare al massimo 94 byte. Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 72 "I_GET" viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo, vanno persi o meno, dipende dal tipo dell'avviamento successivo: • con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da RD; • con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono annullati. Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per il trasferimento dati con la SFC 72 "I_GET" : i dati vengono letti anche nello stato di funzionamento STOP. Coerenza dei dati I dati vengono ricevuti in modo coerente. Informazioni di errore Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-19 Comunicazione di base S7 22.10 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_ABORT" Descrizione Con la SFC 74 "I_ABORT" si annulla il collegamento ad un partner di comunicazione interno alla propria stazione S7, il quale era stato creato con la SFC 72 "I_GET" o la SFC 73 "I_PUT". Se è stato terminato il job appartenente a I_GET o I_PUT (BUSY = 0), dopo il richiamo della SFC 74 "I_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state occupate per il collegamento. Se il job appartenente a I_GET o I_PUT (BUSY = 1) non è stato terminato, una volta terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento occupate. Si può richiamare la SFC 74 "I_ABORT" solo su quel lato su cui è in esecuzione la SFC "I_PUT" o la "I_GET" (ossia sul lato client). L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate", vedere Parametri comuni delle SFC di comunicazione di base S7 IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento dell'unità partner: • B#16#54 = Ingresso periferia (PE) • B#16#55 = Uscita periferia (PA) Se si tratta di un'unità mista, va indicata l'identificazione dell'area dell'indirizzo più basso. Per gli indirizzi uguali indicare B#16#54. LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di un'unità mista va indicato l'indirizzo minore tra i due. RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si verifica un errore, il valore di ritorno contiene il relativo codice di errore. BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti non è ancora concluso. BUSY=0: l'annullamento dei collegamenti è concluso. 22-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione di base S7 Transizione dello stato di funzionamento in STOP Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei collegamenti avviato mediante la SFC 74 "I_ABORT". Transizione dello stato di funzionamento del partner di comunicazione in STOP Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "I_ABORT": il collegamento viene annullato. Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi degli errori con il parametro di uscita RET_VAL. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 22-21 Comunicazione di base S7 22-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23 Comunicazione aperta tramite Industrial Ethernet 23.1 Panoramica Comunicazione aperta tramite Industrial Ethernet Per consentire, nel programma utente, lo scambio di dati con altri partner che supportano la comunicazione Ethernet, STEP 7 fornisce i seguenti FB e UDT disponibili nella biblioteca "Standard Library" alla voce "Communication Blocks". • Protocoli alla connessione: TCP native secondo RFC 793, ISO on TCP secondo RFC 1006: • UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del collegamento • FB 65 "TCON" per la creazione del collegamento • FB 66 "TDISCON" per la disconnessione • FB 63 "TSEND" per l'invio di dati • FB 64 "TRCV" per la ricezione di dati • Protocollo privo di connessione: UDP secondo RFC 768 • - UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del punto di accesso alla comunicazione locale. - UDT 66 "TCON_ADR" con la struttura di dati dei parametri di indirizzo del partner remoto - FB 65 "TCON" per la configurazone del punto di accesso alla comunicazione locale - FB 66 "TDISCON" per la sconnessione del punto di accesso alla comunicazione locale - FB 67 "TUSEND" per l’invio di dati FB 68 "TURCV" per la ricezione di dati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-1 Comunicazione aperta tramite Industrial Ethernet 23.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet Protocolli orientati alla connessione e protocolli privi di connessione La comunicazione dati opera una distinzione tra due tipi di protocollo: • Protocolli orientati alla connessione: questi protocolli creano, prima del trasferimento dati, un collegamento (logico) con il partner di comunicazione per disconnettersi poi a trasferimento avvenuto. I protocolli orientati alla connessione trovano impiego soprattutto quando la trasmissione dati deve avvenire in assoluta sicurezza. Una linea fisica supporta normalmente più collegamenti logici. Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano i seguenti protocolli orientati alla connessione: • - TCP native secondo RFC 793 (tipi di collegamento B#16#01 und B#16#11) - ISO on TCP secondo RFC 1006 (tipo di collegamento B#16#12) Protocolli privi di connessione: questi protocolli operano senza collegamento. La creazione e l’interruzione del collegamento con il partner remoto non avvengono. I protocolli privi di connessione effettuano il trasferimento dati al partner remoto senza conferma e quindi con scarsa sicurezza. Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano il seguente protocollo privo di connessione: UDP secondo RFC 768 (tipo di collegamento B#16#13) Il funzionamento dei blocchi funzionali, dipende dalla variante di protocollo impiegata. La descrizione dettagliata di questi protocolli viene riportata nel seguito. TCP native Nel trasferimento dati non vengono fornite informazioni circa lunghezza, inizio e fine di un messaggio. Ciò non costituisce alcun problema nel caso dell'invio in quanto l'emittente conosce il numero dei byte che intende trasferire. Il ricevente tuttavia non può appurare nel flusso dati, la fine di un messaggio e l'inizio del successivo. Si raccomanda pertanto di attribuire al parametro LEN dell'FB 64 "TRCV" (numero dei byte da ricevere) lo stesso valore del parametro LEN dell'FB 63"TSEND" (numero dei byte da inviare). Qualora la lunghezza dei dati di ricezione (parametro LEN dell'FB 64 "TRCV") superasse quella dei dati di invio, l'FB 64 "TRCV" copia i dati ricevuti nell'area di ricezione indicata (parametro DATA) soltanto al raggiungimento della lunghezza parametrizzata. Ciò è possibile soltanto in seguito alla ricezione di dati di un ordine successivo. Tenere presente in questo caso che nella medesima area di ricezione si trovano dati provenienti da due diversi ordini di invio. Non conoscendo la lunghezza esatta del primo messaggio, è impossibile individuare la fine di un messaggio e l'inizio del successivo. Qualora la lunghezza dell'area di ricezione (parametro DATA dell'FB 64 "TRCV"), fosse inferiore rispetto alla lunghezza dei dati inviati, l'FB 64 copia nell'area di ricezione tanti byte quanti ne sono stati prefissati nel parametro LEN, imposta quindi NDR su TRUE e inserisce il valore di LEN nel parametro RCVD_LEN. Ad ogni richiamo successivo l'operatore riceve un ulteriore blocco dei dati inviati. 23-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet ISO on TCP Nel trasferimento dati vengono fornite informazioni circa lunghezza e la fine di un messaggio. Qualora la lunghezza dei dati di ricezione (parametro LEN dell'FB 64 "TRCV") superasse quella dei dati di invio, l'FB 64 "TRCV" copia tutti i dati inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dei dati inviati. Qualora la lunghezza dell'area di ricezione (parametro DATA dell' FB 64 "TRCV"), fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati nell'area di ricezione, l'FB 64 emette la seguente informazione di errore: ERROR=1, STATUS=W#16#8088. UDP Questi protocolli non effettuano la creazione del collegamento come avviene nei protocolli TCP native e ISO on TCP. È pertanto necessario, al richiamo del blocco di invio FB 67 "TUSEND", indicare un riferimento ai parametri di indirizzo del ricevente (indirizzo IP e N. porta). Analogamente, al termine del trasferimento da parte del blocco di ricezione FB 68 "TURCV", al ricevente viene indicato un riferimento ai parametri di indirizzo del mittente (indirizzo IP e N. porta). Per utilizzare gli FB 67 "TUSEND" e 68 "TURCV" è necessario aver in precedenza configurato il punto di accesso alla comunicazione locale richiamando, sia per il mittente sia per il ricevente, il parametro FB 65 "TCON". Ad ogni richiamo dell‘FB 67 "TUSEND" è possibile creare un nuovo riferimento al partner remoto indicando il rispettivo indirizzo IP ed il numero della porta. Con la trasmissione dei dati vengono inviate informazioni sulla lunghezza e fine di un messaggio. Qualora la lunghezza dei dati di ricezione (parametro LEN dell'FB 68 "TURCV") superasse quella dei dati di invio, l'FB 68 "TURCV" copia tutti i dati inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dei dati inviati. Qualora la lunghezza dell'area di ricezione (parametro DATA dell'FB 68 "TURCV") fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati nell'area di ricezione, l'FB 68 emette la seguente informazione di errore: ERROR = 1, STATUS = W#16#8088. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-3 Comunicazione aperta tramite Industrial Ethernet 23.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Blocco dati per la parametrizzazione del collegamento Per consentire la parametrizzazione di collegamenti di comunicazione aperti tramite TCP native e ISO on TCP, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura di dati contiene i parametri necessari per l'attivazione del collegamento. Una struttura di dati di questo tipo è necessaria per tutti i collegamenti e può essere raggruppata in un DB globale. Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un rimando all'indirizzo della descrizione del collegamento interessato (p. es. P#DB100.DBx0.0 byte 64). Struttura della descrizione del collegamento (UDT 65) Byte Parametri Parametri Valore iniziale Descrizione 0 ... 1 block_length WORD W#16#40 Lunghezza dell'UDT 65: 64 byte (fissa) 2 ... 3 id WORD W#16#0000 ID di questo collegamento (campo di valori: da W#16#0001 a W#16#=0FFF) Il valore di questo parametro deve essere indicato nell'ID del relativo blocco. 4 connection_type BYTE B#16#01 5 6 7 8 23-4 active_est local_device_id local_tsap_id_len rem_subnet_id_len BOOL BYTE BYTE BYTE FALSE B#16#02 B#16#02 B#16#00 Tipo di collegamento: • B#16#11: TCP/IP native • B#16#12: ISO on TCP • B#16#01: TCP/IP native (modo compatibile) ID per il tipo di inizializzazione del collegamento: • FALSE: inizializzazione del collegamento passiva: • TRUE: inizializzazione del collegamento attiva • B#16#00:comunicazione tramite CP • B#16#02: comunicazione tramite l'interfaccia IE integrata nelle CPU 315-2 PN/DP e 317-2 PN/DP • B#16#03: comunicazione tramite l'interfaccia IE integrata nella CPU 319-3 PN/DP • N. dell'interfaccia IE parametrizzata in WinAC RTX 2005 (valori possibili: da B#16#01 a B#16#04) Lunghezza del parametro local_tsap_id applicata; valori possibili: • 0 o 2, con il tipo di collegamento = B#16#01 oppure B#16#11 Per la parte attiva è ammesso soltanto il valore B#16#00. • 2 ... 16, con il tipo di collegamento = B#16#12 Questo parametro non viene attualmente impiegato. Assegnare il valore B#16#00. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Byte Parametri Parametri Valore iniziale Descrizione 9 rem_staddr_len BYTE B#16#00 Lunghezza dell'indirizzo del punto finale del collegamento remoto 10 rem_tsap_id_len BYTE B#16#00 • 0: non specificato, ovvero parametro rem_staddr non di rilievo • 4: indirizzo IP valido nel parametro rem_staddr Lunghezza del parametro rem_tsap_id; valori possibili: • 0 o 2, con il tipo di collegamento = B#16#01 oppure B#16#11 Per la parte passiva è ammesso soltanto il valore B#16#00. • 2 … 16, con il tipo di collegamento = B#16#12 11 next_staddr_len BYTE B#16#00 Lunghezza del parametro next_staddr applicata 12 27 local_tsap_id ARRAY [1..16] of BYTE B#16#00 ... in connection_type = • B#16#11: N. porta locale (valori possibili: 2000 .... 5000), local_tsap_id[1] = high byte del N. della porta locale nella rappresentazione esadecimale, local_tsap_id[2] = low byte del N. della porta locale nella rappresentazione esadecimale, local_tsap_id[3-16] = non di rilievo • B#16#12: lokale TSAP-ID: local_tsap_id[1] = B#16#E0 (tipo di collegamento: collegamento T), local_tsap_id[2] = rack e slot della CPU (bit 0 … 4 slot, bit 5 … 7: numero del rack), local_tsap_id[3-16] = ampliamento TSAP • B#16#01: N. porta locale (valori possibili: 2000 - 5000), local_tsap_id[1] = low byte del N. della porta locale nella rappresentazione esadecimale, local_tsap_id[2] = high byte del N. della porta locale nella rappresentazione esadecimale local_tsap_id[3-16] = non di rilievo Nota: accertarsi che tutti i valori di local_tsap_id, impiegati nella CPU siano univoci. 28 33 rem_subnet_id ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene attualmente impiegato. Assegnare il valore 0. 34 39 rem_staddr ARRAY [1..6] of BYTE B#16#00 ... Lunghezza dell'indirizzo IPdel punto finale del collegamento remoto p. es. 192.168.002.003: in connection_type = • B#16#1x: rem_staddr[1] = B#16#C0 (192), rem_staddr[2] = B#16#A8 (168), rem_staddr[3] = B#16#02 (002), rem_staddr[4] = B#16#03 (003), rem_staddr[5-6]= non di rilievo • B#16#01: rem_staddr[1] = B#16#03 (003), rem_staddr[2] = B#16#02 (002), rem_staddr[3] = B#16#A8 (168), rem_staddr[4] = B#16#C0 (192), rem_staddr[5-6]= non di rilievo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-5 Comunicazione aperta tramite Industrial Ethernet Byte Parametri Parametri Valore iniziale 40 55 rem_tsap_id ARRAY [1..16] of BYTE B#16#00 ... in connection_type = 56 61 62 63 next_staddr spare ARRAY [1..6] of BYTE Descrizione • B#16#11: N. porta remota (valori possibili: 2000 … 5000), rem_tsap_id[1] = high byte del N. della porta locale nella rappresentazione esadecimale, rem_tsap_id[2] = low byte del N. della porta locale nella rappresentazione esadecimale, rem_tsap_id[3-16] = non di rilievo • B#16#12: ID del TSAP remoto: rem_tsap_id[1] = B#16#E0 (tipo di collegamento: collegamento T), rem_tsap_id[2] = Rack e slot del punto finale del collegamento remoto (CPU) (bit 0 … 4: slot, bit 5 … 7: numero del rack), rem_tsap_id[3-16] = ampliamento TSAP • B#16#01: N. porta remota (valori possibili: 2000 ….5000), local_tsap_id[1] = low byte del N. della porta locale nella rappresentazione esadecimale, local_tsap_id[2] = high byte del N. della porta locale nella rappresentazione esadecimale, local_tsap_id[3-16] =non di rilievo B#16#00 ... in local_device_id = WORD • B#16#00: next_staddr[1]: rack e slot del relativo CP (locale) (bit 0 … 4: slot, bit 5 … 7: numero del rack) next_staddr[2-6]: non di rilievo • B#16#02: next_staddr[1-6]: non di rilievo W#16#0000 non di rilievo Tipi di collegamento per le CPU Nel seguito vengono elencati i tipi di collegamento richiesti da ogni singola CPU: • connection_type=B#16#11 (TCP native): CPUs 31x-2 PN/DP a partire dalla versione firmware V2.4, WinAC RTX a partire da V4.2 (WinAC RTX 2005) • connection_type=B#16#12 (ISO on TCP): CPUs 31x-2 PN/DP a partire dalla versione firmware V2.4, S7-400-CPUs (senza CPU 414-4H e CPU 417-4H) a partire dalla versione firmware V4.1 • connection_type=B#16#01 (TCP native, modo compatibile): tutte le CPU 31x-2 PN/DP, WinAC RTX a partire da V4.2 (WinAC RTX 2005) Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU. 23-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Inizializzazione del collegamento Il partner di comunicazione A deve dare avvio all'inizializzazione attiva ed il partner di comunicazione B all'inizializzazione passiva del collegamento. Quando entrambe i partner hanno avviato la comunicazione, il sistema operativo può attivare completamente il collegamento. Nel corso della progettazione del collegamento è possibile determinare quale partner di comunicazione debba eseguire l'inizializzazione del collegamento attivo e quale, su richiesta dell'altro, il collegamento passivo. Vedere anche: Esempi di parametrizzazione di collegamenti di comunicazione aperti Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-7 Comunicazione aperta tramite Industrial Ethernet 23.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Blocco dati per la parametrizzazione del punto di accesso alla comunicazione locale Per consentire la parametrizzazione del punto di accesso alla comunicazione locale, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura contiene i parametri necessari per la configurazione del collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un riferimento all’indirizzo della descrizione del collegamento interessato (p. es. P#DB100.DBX0.0 byte 64). Struttura della descrizione del collegamento (UDT 65) Byte Parametri Tipo di dati Valore inziale Descrizione 0-1 block_length WORD W#16#40 Lunghezza dell‘UDT 65: 64 byte (fissa) 2-3 id WORD W#16#0000 ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo (campo di valori: W#16#0001 .... W#16#0FFF) Il valore di questo parametro deve essere indicato nell'ID del relativo blocco. 4 connection_type BYTE B#16#01 Tipo di collegamento: • B#16#13: UDP 5 active_est BOOL FALSE ID per il tipo di inizializzazione del collegamento: assegnare il valore FALSE a questo parametro in quanto dal punto di accesso alla comunicazione sono possibili sia l’invio che la ricezione die dati 6 local_device_id BYTE B#16#02 • B#16#02: comunicazione tramite l'interfaccia IE integrata con la CPU 317-2 PN/DP • B#16#03: comunicazione tramite l'interfaccia IE integrata con la CPU 319-3 PN/DP 7 local_tsap_id_len BYTE B#16#02 Lunghezza del parametro impiegatalocal_tsap_id; valore possibile: 2 8 rem_subnet_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 9 rem_staddr_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 10 rem_tsap_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 11 next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il valore B#16#00. 23-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Byte Parametri Tipo di dati Valore inziale Descrizione 12 27 local_tsap_id ARRAY [1..16] of BYTE B#16#00 ... N. porta locale. (valori possibili: 2000 - 5000), local_tsap_id[1] = high byte del N. della porta nella rappresentazione esadecimale local_tsap_id[2] = low byte del N. della porta nella rappresentazione esadecimale, local_tsap_id[3-16] = non di rilievo Nota: accertarsi che tutti i valori di local_tsap_id, impiegati nella CPU siano univoci. 28 33 rem_subnet_id ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 34 39 rem_staddr ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 40 55 rem_tsap_id ARRAY [1..16] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 56 61 next_staddr ARRAY [1..6] of BYTE B#16#00 ... Questo parametro non viene impiegato. Assegnargli il valore 0. 62 63 spare WORD W#16#0000 non di rilievo Tipi di collegamento UDP per le CPU Il tipo di collegamento UDP (connection_type=B#16#13) è disponibile nelle CPU 31x-2 PN/DP a partire dalla versione del firmware V2.4. Il numero dei collegamenti possibili tra il programma utente e il livello di comunicazione del sistema operativo è indicato nei dati tecnici della CPU. Configurazione del punto di accesso alla comunicazione locale Ciascun partner di comunicazione deve configurare, indipendentemente dagli altri, il proprio punto di accesso alla comunicazione locale ovvero, provvedere alla creazione del collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. Vedere anche: Esempi di parametrizzazione di collegamenti di comunicazione aperti Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-9 Comunicazione aperta tramite Industrial Ethernet 23.5 Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Panoramica L‘FB 67 "TUSEND" consente di trasferire al parametro ADDR l’indirizzo del ricevente. Quest’informazione deve presentare la struttura indicata nel seguito. L‘ FB 68 "TURCV" fornisce nel parametro ADDR l’indirizzo del mittente dei dati ricevuti erhalten. Quest’informazione deve presentare la struttura indicata nel seguito. Blocco dati per l’informazione di indirizzo del partner remoto È necessaria la creazione di un DB contenente una o più strutture di dati secondo l‘UDT 66 "TADDR_PAR". Nel parametro ADDR dell‘FB 67 "TUSEND" il puntatore viene trasferito e nel parametro ADDR dell‘FB 68 "TURCV" il puntatore viene inserito sull’indirizzo del rispettivo partner remoto (p. es. P#DB100.DBX0.0 byte 8). Struttura del l’informazione di indirizzo del partner remoto (UDT 66) Byte Parametri Tipo didati Valore iniziale Descrizione 0-3 rem_ip_addr ARRAY [1..4] of BYTE B#16#00 ... Indirizzo IP del partner remoto, p. es. 192.168.002.003: 4-5 6-7 rem_port_nr spare ARRAY [1..2] of BYTE ARRAY [1..2] of BYTE B#16#00 ... B#16#00 ... • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) • rem_ip_addr[3] = B#16#02 (002) • rem_ip_addr[4] = B#16#03 (003) N. porta remota (valori possibili: 2000 ... 5000) • rem_port_nr[1] = high byte del N. della porta nella rappresentazione esadecimale • rem_port_nr[2] = low byte del N. della porta nella rappresentazione esadecimale Non di rilievo Vedere anche: Esempi di parametrizzazione di collegamenti di comunicazione aperti 23-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet 23.6 Esempi di parametrizzazione di collegamenti di comunicazione aperti Esempio 1: due CPU S7-400 comunicano tramite CP 443-1 Advanced Entrambe i partner di comunicazione sono due CPU 414-2 con versione firmware V4.1.0. La comunicazione si svolge tramite due CP 443-1 Advanced.con versione firmware V2.2. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione. Proprietà Partner di comunicazione A: CPU 414-2 (FW V4.1.0) con CP 443-1 Adv. (FW V2.2) Partner di comunicazione B: CPU 414-2 (FW V4.1.0) con CP 443-1 Adv. (FW V2.2) Attivazione del collegamento attivo passivo Indirizzo IP 192.168.4.14 192.168.4.16 Indirizzo fisico della CPU rack 0, slot 3 rack 0, slot 4 Indirizzo fisico del rispettivo CP rack 0, slot 6 rack 1, slot 8 ID del TSAP locale (nota: il coordinamento del TSAP per la distinzione del collegamento inizia dal byte 3) 0xE0 03 54 43 50 2D 31 0xE0 04 54 43 50 2D 31 La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento attivo da parte del partner di comunicazione A.: Parametri Tipo di dati Valore iniziale Descrizione id WORD W#16#0414 ID di collegamento connection_type BYTE B#16#12 Tipo di collegamento: ISO on TCP active_est BOOL TRUE Creazione attiva del collegamento local_device_id BYTE B#16#00 Comunicazione AS interna tramite CP local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: indirizzo IP valido del parametro rem_staddr rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata rem_tsap_id next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata next_staddr Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-11 Comunicazione aperta tramite Industrial Ethernet Parametri Tipo di dati Valore iniziale Descrizione local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 • local_tsap_id[2] = B#16#03 LD locale del TSAP: 0xE0035443502D31 • local_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • local_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • local_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • local_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • local_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • local_tsap_id[8-16] = non di rilievo rem_staddr rem_tsap_id next_staddr 23-12 ARRAY [1..6] of BYTE ARRAY [1..16] of BYTE ARRAY [1..6] of BYTE "192.168.4.16" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#04 (4) • rem_staddr[4] = B#16#10 (16) • rem_staddr[5-6] = non di rilievo • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#04 • rem_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • rem_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • rem_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • rem_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • rem_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • rem_tsap_id[8-16] = non di rilievo • next_staddr[1] = B#16#06 • next_staddr[2-6] = non di rilievo Indirizzo IP del punto finale del collegamento remoto LD remoto del TSAP: 0xE0045443502D31 Rack = 0, slot = 6 (bit da 7 a 5: n. rack, bit da 4 a 0: n. slot.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento passivo da parte del partner di comunicazione B: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#0416 ID di collegamento connection_type BYTE B#16#12 Tipo di collegamento: ISO on TCP active_est BOOL FALSE Creazione passiva del collegamento local_device_id BYTE B#16#00 Comunicazione interna all'AS mediante CP local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: Indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata rem_tsap_id next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata next_staddr local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#E0 ID del TSAP locale: • local_tsap_id[2] = B#16#04 • • local_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • local_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • local_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • local_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • local_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • local_tsap_id[8-16] = non di rilievo rem_staddr ARRAY [1..6] of BYTE "192.168.4.14" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#04 (4) • rem_staddr[4] = B#16#0E (14) • rem_staddr[5-6] = non di rilievo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 0xE0045443502D31 Indirizzo del punto finale del collegamento remoto: 23-13 Comunicazione aperta tramite Industrial Ethernet Parametri Tipo di dati Valore nell'esempio Descrizione rem_tsap_id ARRAY [1..16] of BYTE • rem_tsap_id[1] = B#16#E0 • rem_tsap_id[2] = B#16#03 TSAP dell'ID remoto: 0xE0035443502D31 • rem_tsap_id[3] = B#16#54 (equivalenza ASCII di "T") • rem_tsap_id[4] = B#16#43 (equivalenza ASCII di "C") • rem_tsap_id[5] = B#16#50 (equivalenza ASCII di "P") • rem_tsap_id[6] = B#16#2D (equivalenza ASCII di "-") • rem_tsap_id[7] = B#16#31 (equivalenza ASCII di "1") • rem_tsap_id[8-16] = non di rilievo • next_staddr[1] = B#16#28 • next_staddr[2-6] = non di rilievo next_staddr ARRAY [1..6] of BYTE Rack = 1, slot = 8 (bit 7 ... 5: N rack., bit 4 ... 0: N slot.) Esempio 2: due CPU S7-300 con interfaccia PROFINET integrata Entrambe i partner di comunicazione sono due CPU 319-3 PN/DP con versione del firmware V2.4.0. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione: Proprietà Partner di comunicazione A: CPU 319-3 PN/DP (FW V2.4.0) Partner di comunicazione B: CPU 319-3 PN/DP (FW V2.4.0) Attivazione del collegamento attivo passivo Indirizzo IP 192.168.3.142 192.168.3.125 N. della porta locale non di rilievo 2005 23-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento attivo per il partner di comunicazione A: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#0014 ID di collegamento connection_type BYTE B#16#01 Tipo di collegamento: modo di compatibilità TCP/IP active_est BOOL TRUE Creazione del collegamento attivo local_device_id BYTE B#16#02 Comunicazione tramite interfaccia Ethernet integrata local_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Il parametro local_tsap_id non viene valore) impiegato rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: Indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata valore) rem_tsap_id rem_staddr ARRAY [1..6] of BYTE "192.168.3.125" rem_tsap_id ARRAY [1..16] of BYTE • rem_staddr[1] = B#16#7D (125) • rem_staddr[2] = B#16#03 (3) • rem_staddr[3] = B#16#A8 (168) • rem_staddr[4] = B#16#C0 (192) • rem_staddr[5-6] = non di rilievo "2005" • rem_tsap_id[1] = B#16#D5 • rem_tsap_id[2] = B#16#07 • rem_tsap_id[3-16] = non di rilievo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Indirizzo IP del punto finale di comunicazione remoto N. della porta remota: 2005 = W#16#07D5 23-15 Comunicazione aperta tramite Industrial Ethernet La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento passivo per il partner di comunicazione B: Parametri Tipo di dati Valore nell'esempio Descrizione id WORD W#16#000F ID di collegamento connection_type BYTE B#16#01 Tipo di collegamento: TCP/IP native active_est BOOL FALSE Creazione passiva del collegamento local_device_id BYTE B#16#02 Comunicazione tramite interfaccia Ethernet integrata local_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata valore) local_tsap_id rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto finale del collegamento remoto: • 4: indirizzo IP valido nel parametro rem_staddr rem_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Lunghezza del parametro applicata valore) rem_tsap_id local_tsap_id ARRAY [1..16] of BYTE "2005" rem_staddr 23-16 ARRAY [1..6] of BYTE • local_tsap_id[1] = B#16#07 • local_tsap_id[2] = B#16#D5 • local_tsap_id[3-16] = non di rilievo "192.168.3.142" • rem_staddr[1] = B#16#C0 (192) • rem_staddr[2] = B#16#A8 (168) • rem_staddr[3] = B#16#03 (3) • rem_staddr[4] = B#16#8E (142) • rem_staddr[5-6] = non di rilievo N. della porta locale: 2005 = W#16#07D5 Indirizzo IP del punto finale del collegamento Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Esempio 3: due CPU S7-300 con interfaccia PROFINET integrata (esempio di comunicazione tramite protocollo UDP) Entrambe i partner di comunicazione sono due CPU 319-3 PN/DP con versione del firmware V2.4.0. La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione: Proprietà Partner di comunicazione A: CPU 319-3 PN/DP (FW V2.4.0) Partner di comunicazione B: CPU 319-3 PN/DP (FW V2.4.0) Mittente/ricevente Mittente Ricevente Indirizzo IP 192.168.3.142 192.168.3.125 N. della porta locale 2004 2005 La tabella sottostante indica i parametri di rilievo per il mittente (partner di comunicazione A) registrati nel DB per la parametrizzazione del punto di accesso alla comunicazione locale: Parametri Tipo di dai Valore nell'esempio Descrizione id WORD W#16#0014 ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo connection_type BYTE B#16#13 Tipo di collegamento: UDP active_est BOOL FALSE Con il tipo di collegamento UDP è possibile soltanto questo valore. local_device_id BYTE B#16#03 Comunicazione tramite interfaccia Ethernet integrata local_tsap_id_len BYTE B#16#02 Lunghezza del parametro local_tsap_id applicata local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#07 N. porta locale: 2004 = W#16#07D4 • local_tsap_id[2] = B#16#D4 • local_tsap_id[3-16] = non di rilievo Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-17 Comunicazione aperta tramite Industrial Ethernet La tabella sottostante indica i parametri di rilievo per il ricevente (partner di comunicazione B) registrati nel DB per la parametrizzazione del punto di accesso alla comunicazione locale: Parametri Tipo di dai Valore nell'esempio Descrizione id WORD W#16#000F ID del presente collegamento tra il programma utente e il livello di comunicazione del sistema operativo connection_type BYTE B#16#13 Tipo di collegamento: UDP active_est BOOL FALSE Con il tipo di collegamento UDP è possibile soltanto questo valore. local_device_id BYTE B#16#03 Comunicazione tramite interfaccia Ethernet integrata local_tsap_id_len BYTE B#16#02 Lunghezza del parametro local_tsap_id applicata local_tsap_id ARRAY [1..16] of BYTE • local_tsap_id[1] = B#16#07 N. porta locale: 2005 = W#16#07D5 • local_tsap_id[2] = B#16#D5 • local_tsap_id[3-16] = non di rilievo Richimando nel mittente il parametro FB 67 "TUSEND", in un DB vengono inoltrati i seguenti parametri di indirizzo del ricevente: Parametri Tipo di dai rem_ip_addr ARRAY [1..4] of BYTE rem_port_nr ARRAY [1..2] of BYTE Valore nell'esempio Descrizione Indirizzo IP del ricevente: 192.168.3.125 • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) • rem_ip_addr[3] = B#16#3 (3) • rem_ip_addr[4] = B#16#7D (125) • rem_port_nr[1] = B#16#07 • rem_port_nr[2] = B#16#D5 N. porta del ricevente: 2005 = W#16#07D5 Richimando nel ricevente il parametro FB 68 "TURCV", in un DB vengono inoltrati i seguenti parametri di indirizzo del mittente: Parametri Tipo di dai Valore nell'esempio Descrizione rem_ip_addr ARRAY [1..4] of BYTE • rem_ip_addr[1] = B#16#C0 (192) • rem_ip_addr[2] = B#16#A8 (168) Indirizzo IP del mittente: 192.168.3.142 • rem_ip_addr[3] = B#16#3 (3) • rem_ip_addr[4] = B#16#8E (142) • rem_port_nr[1] = B#16#07 • rem_port_nr[2] = B#16#D4 rem_port_nr 23-18 ARRAY [1..2] of BYTE N. porta del mittente: 2004 = W#16#07D4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet 23.7 Inizializzazione del collegamento con l'FB 65 "TCON" Impiego dell'FB 65 "TCON" con i protocolli TCP native e ISO on TCP Entrambe i partner di comunicazione richiamano il parametro FB 65 "TCON" per la creazione del collegamento di comunicazione. Nel corso della parametrizzazione è possibile determinare quale punto finale della comunicazione debba essere attivo e quale passivo. Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU. Il collegamento creato viene ora controllato e mantenuto automaticamente dalla CPU. In caso di interruzione del collegamento dovuta, p. es. alla rottura del conduttore o causata da un partner di comunicazione remoto, la CPU cerca di ripristinare il collegamento. Non è necessario chiamare nuovamente FB 65 "TCON". Richiamando il parametro FB 66 "TDISCON" o attivando lo stato di funzionamento STOP della CPU si ha l'interruzione del collegamento esistente. Per il ripristino del collegamento richiamare nuovamente il parametro FB 65 "TCON" Impiego dell'FB 65 "TCON" con il protecollo UDP Per consentire la configurazione del punto di accesso alla comunicazione locale, entrambi i partner di comunicazione richiamano l‘FB 65 "TCON". Viene così configurato il collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. La creazione collegamento con il partner remoto non ha luogo. Il punto di accesso locale viene utilizzato nell’invio e nella ricezione di telegrammi UDP. Modalità operative L'FB 65 "TCON" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. L'attivazione della comunicazione avviene richiamando FB 65 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 65 ovvero quando l'inizializzazione del collegamento è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-19 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva la creazione del collegamento con fronte di salita. ID INPUT WORD M, D, Cost. ID del collegamento da creare con il partner remoto oppure tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: • BUSY OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS offre informazioni dettagliate sul tipo di errore STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di errore CONNECT IN_OUT ANY D Il puntatore si trova sulla relativa descrizione del collegamento (UDT 65), vedere Parametrizzazione dei collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP und Parametrizzazione del punto di accesso della comunicazione locale tramite il protocollo UDP 23-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0 0 0 0000 7000 7001 7002 1 0 8086 8087 1 809B 1 80A3 1 80A7 1 80B3 1 80B4 1 1 80C3 80C4 1 1 8722 8732 1 873A 1 877F È stato possibile creare il collegamento Richiamo di REQ=0 , non è stato dato avvio all'attivazione del collegamento Primo richiamo di REQ=1, attivazione del collegamento in corso Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in corso L'ID del parametro non deve avere il valore null. È stato raggiunto il numero max. dei collegamenti, non sono possibili ulteriori collegamenti Il parametro local_device_id indicato nella descrizione del collegamento non si addice alla CPU di destinazione È stato effettuato il tentativo di creare nuovamente una comunicazione già esistente. Errore di comunicazione: è stato richiamato TDISCON mentre TCON non aveva ancora terminato. Mediante il richiamo di TDISCON viene ora eseguita la disconnessione anticipata. Progettazione incoerente: • Errore nella descrizione del collegamento • Porta locale (parametro local_tsap_id) già presente in un'altra descrizione del collegamento. • L'ID nella descrizione del collegamento diverge dall'ID del parametro Inosservanza della condizione "local_tsap_id_len >= B#16#02" oppure della condizione "local_tsap_id[1] = B#16#E0" o di entrambe nella variante del protocollo ISO on TCP (connection_type = B#16#12) durante la creazione passiva del collegamento (active_est = FALSE). Temporanea scarsità di risorse della CPU Errore di comunicazione temporaneo: • il collegamento non può essere per ora creato. • l'interfaccia viene nuovamente parametrizzato. Parametro CONNECT: area sorgente non valida, area non disponibile nel DB Parametro CONNECT: il numero del DB si trova al di fuori della banda dei numeri specifica per la CPU Parametro CONNECT: impossibile accedere alla descrizione del collegamento (p. es. DB non disponibile) Parametro CONNECT: errore interno, p. es. riferimento ANY non ammesso Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Sconnessione con l'FB 66 "TDISCON" Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"" Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-21 Comunicazione aperta tramite Industrial Ethernet 23.8 Sconnessione con l'FB 66 "TDISCON" Impiego dell'FB 66 "TDISCON" con i protocolli TCP native e ISO on TCP L'FB 66 "TDISCON" disconnette il collegamento della CPU con un partner di comunicazione Impiego dell'FB 66 "TDISCON" con il protecollo UDP L‘ FB 66 "TDISCON" disconnette il punto di accesso alla comunicazione locale ovvero il collegamento tra il programma utente e il livello di comunicazione del sistema operativo. Modalità operative L'FB 66 "TDISCON" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. La disconnessione avviene richiamando l'FB 66 mediante REQ = 1. Dopo l’esecuzione riuscita del parametro FB 66 "TDISCON", l’ID indicato nell‘FB 65"TCON" non è più valido e non può più essere impiegato nè per l’invio nè per la ricezione. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 66 ovvero quando l'inizializzazione del collegamento è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori.. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. 23-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva la disconnessione del collegamento indicato dall'ID. L'avvio della disconnessione avviene con fronte in salita. ID INPUT WORD M, D, Cost. ID del collegamento al partner remoto da sconnettere oppure della sconnessione tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF DONE OUTPUT BOOL E, A, M, D, L BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L Parametro di stato DONE: • 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • STATUS OUTPUT WORD M, D ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore. Parametro di stato STATUS: • Informazioni di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-23 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 È stato possibile creare il collegamento 0 7000 Primo richiamo di REQ=0, non è stato dato avvio alla disconnessione 0 7001 Primo richiamo di REQ=1, attivazione del collegamento in corso 0 7002 Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in corso 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 80A3 È stato effettuato il tentativo disconnettere una comunicazione inesistente 1 80C4 Errore di comunicazione temporaneo: l'interfaccia viene nuovamente parametriizzata Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Inizializzazione del collegamento con l'FB 65 "TCON" Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"" Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" 23-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet 23.9 Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Descrizione L'FB 63 "TSEND" invia dati mediante un collegamento di comunicazione esistente. Modalità operative L'FB 63 "TSEND" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. Per iniziare l'operazione di invio, richiamare l'FB 63 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 63 ovvero quando l'inizializzazione del collegamento è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. rilievo Nota Per effetto del funzionamento asincrono dell‘FB 63 "TSEND", la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-25 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva la creazione del collegamento con fronte di salita. Al primo richiamo eseguito con REQ=1 vengono trasferiti i dati dell’area indicata nel parametro DATA ID INPUT WORD M, D, Cost. ID del relativo collegamento. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Numero di byte da inviare con il presente ordine Campo di valori: DONE OUTPUT BOOL E, A, M, D, L BUSY OUTPUT BOOL E, A, M, D, L ERROR OUTPUT BOOL E, A, M, D, L • da 1 a 1460, se il tipo di collegamento = B#16#01 • da 1 a 8192, se il tipo di collegamento = B#16#11 • da 1 a 1452, se il tipo di collegamento = B#16#12 • da 1 a 8192, se il tipo di collegamento = B#16#12 ese non viene impiegato alcun CP Parametro di stato DONE: • 0: l'ordine non è ancora stato avviato o è ancora corso. • 1: l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. Non è possibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore STATUS OUTPUT WORD M, D Parametro di stato STATUS: DATA IN_OUT ANY E, M, D Campo di invio: contiene indirizzo e lunghezza L'indirizzo indica: • 23-26 Informazioni di errore • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 L'ordine di invio dati si è concluso senza errori 0 7000 Primo richiamo di REQ=0 , non è stata avviata l'operazione di invio dati 0 7001 Primo richiamo di REQ=1, è stata avviata l'operazione di invio dati 0 7002 Richiamo intermedio (non di rilievo per REQ), ordine in corso Nota: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nel buffer di invio DATA. 1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito 1 8086 L'ID del parametro si trova in un campo valori non ammesso 0 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA 1 80A1 Errore di comunicazione: • non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato • il collegamento indicato viene attualmente interrotto. Impossibile effettuare un'operazione di invio tramite questo collegamento. • L'interfaccia viene nuovamente inizializzata 1 80B3 Il collegamento parametrizzato (parametro connection_type nella descrizione del collegamento) è di tipo UDP. Impiegare il parametro FB 67 "TUSEND". 1 80C3 Le risorse (memoria) della CPU sono momentaneamente occupate 1 80C4 Errore di comunicazione temporaneo: 1 8822 • è attualmente impossibile creare il collegamento con il partner di comunicazione. • l'interfaccia viene nuovamente parametrizzata. Parametro DATA: Area sorgente non valida: area non disponibile nel DB 1 8824 Parametro DATA: errore di area nel pointer ANY 1 8832 Parametro DATA: numero del DB troppo elevato 1 883A Parametro DATA: impossibile accedere al buffer di invio (p. es. DB cancellato) 1 887F Parametro DATA: errore interno, p. es. riferimento ANY non ammesso Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Inizializzazione del collegamento con l'FB 65 "TCON" Sconnessione con l'FB 66 "TDISCON" Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"" Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-27 Comunicazione aperta tramite Industrial Ethernet 23.10 Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV" Descrizione L'FB 64 "TRCV" riceve dati mediante un collegamento di comunicazione. Esistono due possibilità di ricezione ed elaborazione dati: • Versione 1: il blocco dati ricevuto viene subito elaborato • Versione 2: i blocchi dati ricevuti vengono memorizzati in un buffer di ricezione ed elaborati soltanto quando esso è pieno. La tabella sottostante illustra la correlazione tra il tipo di collegamento e queste due modalità: Tipo di collegamento Modalità B#16#01 e B#16#11 L'utente può determinare la modalità B#16#12 Modalità 2 (fissa) Nella tabella sottostante vengono descritte dettagliatamente entrambi le modalità Dati ricevuti ... Campo(di valori) di LEN Sono subito disponibili 0 Memorizzazione nel • buffer di ricezione. I dati sono disponibili non appena è stata • raggiunta la lunghezza progettata 23-28 Campo(di valori) di RCVD_LEN Descrizione 1…x Viene trasmesso un buffer, la cui lunghezza x è memorizzata nel pointer ANY del buffer di ricezione (parametro DATA). Non appena entra un blocco dati, esso viene immediatamente memorizzato per l'elaborazione nel buffer di ricezione. Il numero di dati ricevuti (parametri RCVD_LEN) può raggiungere al massimo la grandezza prevista nel parametro DATA. La ricezione viene segnalata mediante NDR = 1 Da 1 a 1460, se il Valore identico a tipo di collegamento quello del = B#16#01 parametro LEN Da 1 a 8192, il tipo di collegamento = B#16#11 • Da 1 a 1452, il tipo di collegamento = B#16#12 • Da 1 a 8192, se il tipo di collegamento = B#16#12 e se non viene impiegato alcun alcun CP La lunghezza di ricezione viene trasmessa al parametro LEN. Al raggiungimento di questa lunghezza, i dati di ricezione vengono memorizzati nel parametro DATA (NDR = 1). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Modalità operative L'FB 64 "TRCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. L'attivazione della ricezione avviene richiamando FB 64 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, NDR e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 64 "TRCV"ovvero quando l'operazione di ricezione è terminata BUSY NDR ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore è riportata nel parametro STATUS. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Nota Per effetto del funzionamento asincrono dell‘FB 64 "TRCV", la coerenza dei dati presenti nell’area di ricezione viene raggiunta soltanto quando il parametro NDR assume il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-29 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive: tramite EN_R = 1 l'FB 64 "TRCV" è pronto alla ricezione. ID INPUT WORD M, D, Cost. ID del rispettivo collegamento. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale. Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L • LEN = 0 (modalità Ad hoc): impiegare la lunghezza implicita indicata in ANY Pointer DATA. I dati ricevuti vengono resi immediatamente disponibili al richiamo del blocco. Il numero dei dati ricevuti è disponibile in RCVD_LEN. • 1 <= LEN <= max: numero di byte da ricevere. Il numero dei dati effettivamente ricevuti è disponibile in RCVD_LEN. I dati sono disponibili soltanto dopo la ricezione completa. max è in funzione del tipo di collegamento: max = 1460 con il tipo di collegamento B#16#01, max = 8192 con il tipo di collegamento B#16#11, max = 1452 con il tipo di collegamento B#16#12 impiegando il CP, max = 8192 con il tipo di collegamento B#16#12 senza impiego del CP NDR ERROR BUSY OUTPUT OUTPUT OUTPUT BOOL BOOL BOOL E, A, M, D, L E, A, M, D, L E, A, M, D, L Parametro di stato NDR: • NDR = 0: l'ordine non è ancora stato avviato o è ancora corso • NDR = 1: l'ordine è stato eseguito senza errori Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS offre informazioni dettagliate sul tipo di errore • BUSY = 1: ordine non è ancora terminato. Impossibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. STATUS OUTPUT WORD M, D Parametro di stato STATUS: Informazione di errore RCVD_LEN OUTPUT INT E, A, M, D, L Numero in byte dei dati effettivamente ricevuti DATA IN_OUT ANY E, M, D Area di ricezione, contiene lunghezza e indirizzo L'indirizzo indica: 23-30 • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 Sono stati acquisiti nuovi dati. La lunghezza effettiva dei dati ricevuti viene visualizzata in RCVD_LEN 0 7000 Primo richiamo di REQ=0 , non è stato dato avvio alla ricezione 0 7001 Il blocco è pronto alla ricezione 0 7002 Richiamo intermedio, ordine in corso Nota: durante la fase di elaborazione, il sistema operaativo scrive dati nel buffer di ricezione DATA che, in caso di errori, può pertanto contenere dati incoerenti. 1 8085 Il parametro LEN supera il valore max. consentito oppure il valore di LEN è stato modificato dopo il primo richiamo 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 8088 • Il buffer di destinazione (DATA) è troppo ridotto • Il valore indicato in LEN supera quello dell'area di ricezione prefissato tramite DATA • Eliminazione dell’errore se il tipo di collegamento = B#16#12: incrmentare il buffer di destinazione DATA. 1 80A1 Errore di comunicazione: • non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato • il collegamento indicato viene attualmente interrotto. Impossibile ricevere dati tramite questo collegamento. • l'interfaccia viene nuovamente parametrizzata 1 80B3 Il collegamento parametrizzato (parametro connection_type nella descrizione del collegamento) è di tipo UDP. Impiegare l‘FB 68 "TURCV". 1 80C3 Le risorse (memoria) della CPU sono momentaneamente occupate 1 80C4 Errore di comunicazione temporaneo: attivazione del collegamento in corso 1 8922 Parametro DATA: Area di destinazione non valida: area non disponibile nel DB 1 8924 Parametro DATA: errore di area nel pointer ANY 1 8932 Parametro DATA: numero DB troppo elevato 1 893A Parametro DATA: impossibile accedere al buffer di ricezione (p. es. DB cancellato) 1 897F Parametro DATA: errore interno, p. es. riferimento ANY non ammesso Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Inizializzazione del collegamento con l'FB 65 "TCON" Sconnessione con l'FB 66 "TDISCON" Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-31 Comunicazione aperta tramite Industrial Ethernet 23.11 Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Descrizione L‘FB 67 "TUSEND" invia i dati tramite il protocollo UDP al partner remoto il cui ndirizzo è indicato nel parametro ADDR Nota In presenza di una successione di operazioni di invio di cui sono destinatari partner diversi, è necessario adeguare il parametro ADDR al richiamo dell‘FB 67 "TUSEND". Si rende invede superfluo il richiamo degli FB 65 "TCON" e 66 "TDISCON". Modalità operative L'FB 67 "TUSEND" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 67 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 67 ovvero quando l’operazione di invio è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Nota Per effetto del funzionamento asincrono dell‘FB 67 "TUSEND", la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore TRUE. 23-32 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiara zione Tipo di dati Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva l’operazione di invio con fronte di salita. Al primo richiamo eseguito con REQ=1 vengono trasferiti i byte dell’area indicata nel parametro DATA ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale. Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L Numero die byte da inviare con l‘ordine Campo di valori: da 1 a 1460 DONE OUTPUT BOOL E, A, M, D, L BUSY ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L Parametro di stato DONE: • 0: l'ordine non è ancora stato avviato o è ancora corso. • l'ordine è stato eseguito senza errori • BUSY = 1: l'ordine non è ancora stato terminato. Impossibile avviare un nuovo ordine. • BUSY = 0: l'ordine è terminato. Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di errore DATA IN_OUT ANY E, A, M, D Area di invio: contiene indirizzo e lunghezza L'indirizzo indica: ADDR IN_OUT ANY D • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Il puntatore indica l’indirizzo del ricevente (p. es. P#DB100.DBX0.0 byte 8), vedere Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-33 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 L’ordine di invio si è concluso senza errori 0 7000 Primo richiamo di REQ=0 , non è stato avviato l’invio 0 7001 Primo richiamo di REQ=1, è stato avviato l’invio 0 7002 Richiamo intermedio ( REQ non di rilievo ), ordine in corso Nota: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nel buffer di invio DATA. 1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito 1 8086 L'ID del parametro si trova in un campo valori non ammesso 0 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA 1 80A1 Errore di comunicazione: 1 80B3 1 80C3 1 80C4 • non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato • il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo viiene momentaneamente interrotto. Un'operazione di invio tramite questo collegamento non è possibile. • L'interfaccia viene nuovamente inizializzata • Il collegamento parametrizzato (parametro connection_type nella descrizione del collegamento) è non di tipo UDP. Impiegare il parametro FB 63 "TSEND". • Parametro ADDR: indicazioni errate del n. della porta o dell’indirizzo IP Le risorse (memoria) della CPU sono momentaneamente occupate Errore di comunicazione temporaneo: • La creazione del collegamento tra il programma utente ed il livello di comunicazione del sistema operativo non è momentaneamente possibile. • L'interfaccia viene nuovamente parametrizzata. 1 8822 Parametro DATA: Area sorgente non valida: area non disponibile nel DB 1 8824 Parametro DATA: errore di area nel pointer ANY 1 8832 Parametro DATA: numero del DB troppo elevato 1 883A Parametro DATA: impossibile accedere al buffer di invio (p. es. DB cancellato) 1 887F Parametro DATA: errore interno, p. es. riferimento ANY non ammesso Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Inizializzazione del collegamento con l'FB 65 "TCON" Sconnessione con l'FB 66 "TDISCON" Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV" Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" 23-34 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet 23.12 Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" Descrizione L'FB 68 "TURCV" riceve i dati tramite il protocolo UDP. Al termine della ricezione da parte dell‘FB 68, nel parametro ADDR viene indicato l’indirizzo del partner remoto ovvero del mittente. Modalità operative L'FB 68 "TURCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 68 mediante REQ = 1. Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono). La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri consentono di rilevare lo stato attuale dell'FB 68 ovvero quando la ricezione è terminata. BUSY DONE ERROR Descrizione TRUE non di rilievo non di rilievo Elaborazione dell'ordine in corso FALSE TRUE FALSE Ordine eseguito senza errori. FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa di errore è riportata nel parametro STATUS.. FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine. Nota Per effetto del funzionamento asincrono dell‘FB 68 "TURCV" la coerenza dei dati presenti nell’area di invio deve essere mantenuta fino a quando il parametro NDR avrà assunto il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-35 Comunicazione aperta tramite Industrial Ethernet Parametri Parametri Dichiarazione Tipo di dati Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive: Mediante EN_R = 1, l‘ FB 68 "TURCV" è pronto alla ricezione. ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma utente e il livello di comunicazione del sistema operativo. L'ID deve essere identico al parametro ID al quale si riferisce nella descrizione del collegamento locale Campo di valori: da W#16#0001 a W#16#0FFF LEN INPUT INT E, A, M, D, L 1 <= LEN <= 1460: numero di byte da ricevere. I dati ricevuti vengono resi immediatamente disponibili al richiamo del blocco. Il numero dei dati ricevuti è disponibile in RCVD_LEN. NDR ERROR OUTPUT OUTPUT BOOL BOOL E, A, M, D, L E, A, M, D, L BUSY OUTPUT BOOL E, A, M, D, L STATUS OUTPUT WORD M, D Parametro di stato NDR: • NDR = 0: l'ordine non è ancora stato avviato o è ancora corso. • NDR = 1: l'ordine è stato eseguito senza errori Parametro di stato ERROR: • ERROR=1: si è verificato un errore durante l'elaborazione. STATUS fornisce informazioni dettagliate sul tipo di errore • BUSY = 1: l'ordine non è ancora stato terminato. Impossibile avviare un nuovo ordine • BUSY = 0: l'ordine è terminato. Parametro di stato STATUS: informazione di errore RCVD_LEN OUTPUT INT E, A, M, D, L Numero dei dati effettivamente ricevuti in byte DATA IN_OUT ANY E, A, M, D Area di ricezione: contiene indirizzo e lunghezza L'indirizzo indica: ADDR 23-36 IN_OUT ANY D • l'immagine di processo degli ingressi • l'immagine di processo delle uscite • un merker • un blocco dati Il puntatore indica l’indirizzo del mittente (p. es. P#DB100.DBX0.0 byte 8), vedere Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Comunicazione aperta tramite Industrial Ethernet Informazioni di errore ERROR STATUS (W#16#...) Spiegazione 0 0000 Acquisizione di nuovi dati. La lunghezza attuale die dati ricevuti viene visualizzata in RCVD_LEN. 0 7000 Primo richiamo di REQ=0, non è stato avviato l’invio 0 7001 Il blocco è pronto alla ricezione 0 7002 Richiamo intermedio, ordine in corso Nota: in questa fase di elaborazione il sistema operativo scrive i dati nel buffer di ricezione DATA che, in caso di errori, può pertanto contenere dati incoerenti. 1 8085 Il parametro LEN supera il valore massimo consentito oppure il valore presente al primo richiamo è stato modificato 1 8086 L'ID del parametro si trova in un campo valori non ammesso 1 8088 • il buffer di destinazione (DATA) è troppo ridotto • Il valore del parametro LEN è maggiore rispetto a quello prefissato in DATA per l’area di ricezione 1 80A1 Errore di comunicazione: • non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato • il collegamento indicato tra il programma utente ed il livello di comunicazione del sistema operativo viiene momentaneamente interrotto. Un'operazione di ricezione tramite questo collegamento non è possibile. • L'interfaccia viene nuovamente parametrizzata 1 80B3 Il collegamento parametrizzato (parametro connection_type nella descrizione del collegamento) è non di tipo UDP. Impiegare il parametro FB 68 "TRCV". 1 80C3 Le risorse (memoria) della CPU sono momentaneamente occupate 1 80C4 Errore di comunicazionte temporaneo: creazione del collegamento in corso. 1 8922 Parametro DATA: Area sorgente non valida: area non disponibile nel DB 1 8924 Parametro DATA: errore di area nel pointer ANY 1 8932 Parametro DATA: numero del DB troppo elevato 1 893A Parametro DATA: impossibile accedere al buffer di ricezione (p. es. DB cancellato) 1 897F Parametro DATA: errore interno, p. es. riferimento ANY non ammesso Vedere anche: Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e ISO on TCP Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP Inizializzazione del collegamento con l'FB 65 "TCON" Sconnessione con l'FB 66 "TDISCON" Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV" Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 23-37 Comunicazione aperta tramite Industrial Ethernet 23-38 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24 Creazione di segnalazioni riferite ai blocchi 24.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB SFB per la creazione di segnalazioni riferite ai blocchi Una segnalazione riferita ai blocchi si crea richiamando sul programma uno dei seguenti SFB: • SFB 36 "NOTIFY_8P" • SFB 31 "NOTIFY_8P” • SFB 33 "ALARM_8" • SFB 34 "ALARM 8 • SFB 35 "ALARM_8P" Questi SFB hanno le seguenti caratteristiche: • Con gli SFB 36 "NOTIFY” e 31 "NOTIFY_8P” ogni cambio di segnale 0 -> 1 o 1 -> 0 riconosciuto al richiamo del blocco determina la trasmissione di una segnalazione. • Anche con gli SFB 33 "ALARM, 34 "ALARM 8” e 35 "ALARMP 8P” ogni cambio di segnale rilevato al richiamo del blocco determina la trasmissione di una segnalazione in caso di impostazione di default della procedura di segnalazione (segnalazione con conferma inattiva). Se al contrario la segnalazione con conferma è attiva, ogni rilevamento di transizione di segnale non determina la trasmissione di una segnalazione (per maggiori informazioni vedere di seguito). • Una volta elaborato il blocco, le variabili (ingressi SD_i) sono completamente rilevate e assegnate alla segnalazione (vedere "Parametri di trasmissione e ricezione" in Parametri comuni delle SFB/FB e delle SFC/FC della comunicazione S7). Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i criteri seguenti: ogni variabile SD_i è di per sé coerente. • Con i parametri di stato DONE, ERROR e STATUS viene controllato lo stato di elaborazione del blocco (vedere "Parametri di stato" in Parametri comuni delle SFB/FB e delle SFC/FC della comunicazione S7). Avvertenza I parametri ID e EV_ID vengono rilevati solo al primo richiamo del blocco (i parametri attuali o i valori predefiniti dall'istanza). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-1 Creazione di segnalazioni riferite ai blocchi Collegamenti di controllori visualizzati La premessa per la trasmissione di una segnalazione da parte degli SFB per la creazione di segnalazioni riferite ai blocchi quando questi riconoscono una transizione di segnale, è che si sia collegato almeno un controllore visualizzato (ad es. WinCC) per segnalazioni riferite ai blocchi. In mancanza di segnalazioni il parametro STATUS fornisce il valore 1. Rilevamento di transizioni di segnale Per ogni istanza di un blocco di segnalazione è disponibile una memoria segnalazioni con due spazi. Inizialmente questa memoria segnalazioni è vuota. Non appena l'SFB individua una transizione di segnale nell'ingresso SIG o in uno degli ingressi SIG 1,… SIG 8, questa viene registrata nel primo spazio, che rimane occupato fino a quando la rispettiva segnalazione viene trasmessa. La successiva transizione di segnale rilevata nell'ingresso SIG o in uno degli ingressi SIG_1 … SIG 8, viene registrata nel secondo spazio. Se il primo spazio è ancora occupato, e seguono altre transizioni di segnale, viene sovrascritto sempre il secondo spazio nella memoria segnalazioni. Questa perdita di segnalazioni viene visualizzata tramite i parametri d'uscita ERROR e STATUS (ERROR=0, STATUS=11). Inoltre i controllori visualizzati ne ricevono comunicazione con la successiva segnalazione che può essere trasmessa. Nel caso in cui si liberi il primo spazio, il contenuto del secondo spazio viene trasferito nel primo, liberando così il secondo spazio. Segnalazione con conferma Per ridurre la quantità di segnalazioni nell'impianto è possibile utilizzare la procedura di segnalazione con conferma con gli SFB 33 "ALARM”, 34 "ALARM_8” e 35 "ALARM 8P”. Questa procedura prevede che dopo la creazione di una segnalazione entrante (transizione di segnale da 0 a 1) non vengano più create segnalazioni per lo stesso segnale fino a quando l'utente fornisce conferma su un sistema di visualizzazione. La segnalazione successiva, mostrata sul sistema di visualizzazione dopo la conferma, è un messaggio uscente (transizione del segnale da 1 a 0). Quindi il ciclo di segnalazioni ricomincia con una segnalazione entrante (transizione del segnale da 0 a 1), che deve essere confermata. In questo modo l'utente può controllare attraverso il sistema di visualizzazione la segnalazione di transizioni del segnale (fino alla segnalazione uscente). La procedura di segnalazione (segnalazione con conferma attiva o inattiva) per gli SFB da 33 a 35 si definisce nella progettazione con STEP 7 per tutta la CPU. Di default la segnalazione con conferma è disattivata. Affinché l'analisi delle segnalazioni sia uniforme all'interno dell'impianto, occorre assicurarsi che in caso di impiego della segnalazione con conferma tutti i controllori siano in grado di eseguire questa procedura. Avvertenza in caso di impiego di controllori non in grado di eseguire la segnalazione con conferma Qualora nella propria CPU sia stata attivata la segnalazione con conferma, la CPU trasmette le segnalazioni solamente ai controllori che supportano questa procedura di segnalazione. Qualora nessuno dei controllori sia in grado di eseguire tale procedura, la CPU non trasmette alcuna segnalazione. Questo viene segnalato una volta con ERROR=1 e STATUS=1. 24-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Conferma delle segnalazioni con gli SFB 33 "ALARM", 34 "ALARM_8" e 35 "ALARM_8P" Viene utilizzato il concetto di conferma centrale. Cioè, se una segnalazione è stata confermata in un controllore visualizzato, questa informazione di conferma viene trasmessa in un primo momento alla CPU che ha generato la segnalazione. Da qui l'informazione di conferma viene trasmessa a tutti i nodi allacciati. Si conferma sempre un segnale e non una singola segnalazione. Nel caso per esempio, che siano stati segnalati più fronti di salita di un segnale e l'evento entrante venga confermato, tutti gli eventi precedentemente arrivati con lo stesso numero di segnalazione si ritengono confermati. Visualizzazione della conferma L'SFB 36 "NOTIFY" e l'SFB 31 "NOTIFY_8P” non dispongono di visualizzazione della conferma. Con l'SFB 33 "ALARM" è possibile rilevare lo stato di conferma nei parametri d'uscita ACK_UP e ACK_DN e con gli SFB 35 "ALARM_8P" e 34 "ALARM_8" nel parametro di uscita ACK_STATE. Queste uscite vengono aggiornate al momento del richiamo del blocco se il parametro di comando EN_R ha valore 1. Inibizione e abilitazione delle segnalazioni mediante SFC o controllore (WinCC) Può essere utile sopprimere delle segnalazioni, per esempio in caso di modifiche all'impianto. Si ha perciò la possibilità di inibire e poi riabilitare le segnalazioni partendo da un controllore visualizzato o dal programma. L'inibizione/abilitazione vale per tutti i nodi che si sono allacciati per la relativa segnalazione. L'inibizione rimane in essere fino a che non viene riabilitata la segnalazione relativa. Tramite i parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 21) viene comunicato se delle segnalazioni sono state inibite. Fabbisogno di memoria degli SFB per la creazione di segnalazioni riferite ai blocchi Per poter svolgere senza problemi la loro funzione, gli SFB per la creazione di segnalazioni riferite ai blocchi necessitano di un buffer di dati di comunicazione dipendente dalla variabile nell'area di lavoro della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente. Tipo di blocco Fabbisogno di memoria di lavoro della CPU in byte NOTIFY 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 NOTIFY_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 ALARM 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 ALARM_8 100 ALARM_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10 AR_SEND 54 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-3 Creazione di segnalazioni riferite ai blocchi Numero dei dati da trasmettere Il numero dei dati che si possono trasmettere tramite le variabili SD_i degli SFB NOTIFY, NOTIFY_8P, ALARM e ALARM_8P non deve superare una lunghezza massima. Questa lunghezza dati massima viene calcolata nel modo seguente: maxleng = min (pdu_lokal, pdu_remote) - diff - 4 * numero parametri SD_i utilizzati Per questa formula vale quanto segue: • min (pdu_lokal, pdu_remote): valore minimo dei numeri pdu_lokal e pdu_remote • pdu_lokal: lunghezza massima dei blocchi dati della propria CPU (vedere relativi dati tecnici) • pdu_remote: lunghezza massima dei blocchi dati dei display • diff = 48 se è attiva la segnalazione con conferma e 44 se non è attiva Esempio: Una CPU 414-2 trasmette messaggi tramite un Industrial Ethernet a WinCC. La segnalazione con conferma è inattiva. Vengono utilizzate le variabili SD_1, SD_2 e SD_3. pdu_lokal = 480 byte, pdu_remote = 480 byte. Numero dei parametri SD_i utilizzati: 3 Utilizzando la formula: maxleng = min (480, 480) - 44 - 4 * 3 = 480 - 44 - 12 = 424 La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 424 byte. 24-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY" Descrizione L'SFB 36 "NOTIFY" controlla un segnale. Sia in presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento uscente), l'SFB 36 genera una segnalazione, alla quale possono essere attribuiti fino a dieci variabili. La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale. Le variabili vengono registrate al momento del rilevamento del fronte e assegnate alla segnalazione. Per ogni istanza dell'SFB 36 "NOTIFY” è disponibile una memoria segnalazioni con due spazi. Maggiori informazioni sulla memoria intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. L'SFB 36 "NOTIFY" è conforme alla norma IEC 1131-5. Parametri Dichiarazione Tipo Area di memoria Descrizione SIG INPUT ID INPUT BOOL E, A, M, D, L Segnale da controllare WORD Cost. (E, A, M, D, L,) Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 36 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. ID rilevata solo al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero di messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità) Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di una informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-5 Creazione di segnalazioni riferite ai blocchi Parametri Dichiarazione Tipo Area di memoria Descrizione SD_i, IN_OUT E, A, M, D, T, Z i-esima variabile ANY 1≤i ≤10 Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (ad es.: P# DB10.DBX5.0 Byte 10) Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 36 che possono essere emesse tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione, transizione del segnale. La segnalazione non ha potuto essere inviata 0 22 • Errore nel puntatore sulle variabili SD_i: - in riferimento a lunghezza o a tipo di dati - variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione attivata viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento 1 3 Per la EV_ID specificata non è presente alcun collegamento 1 4 Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 36 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo dell'SFB è stato indicato: 1 18 1 20 • un DB di istanza che non appartiene all'SFB 36 • un DB globale invece di un DB di istanza. EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 La memoria di lavoro non è sufficiente Sistema H: richiamo dell'SFB durante l'aggiornamento 1 24-6 21 La segnalazione con la EV_ID specificata è inibita. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P" Descrizione L'SFB 31 "NOTIFY_8P" è la versione ampliata a otto segnali dell'SFB 36 "NOTIFY". Viene creata una segnalazione se è stata rilevata una transizione di segnale in almeno un segnale. Al primo richiamo dell'SFB 31 viene sempre creata una segnalazione. Per tutti gli otto segnali è previsto un numero di segnalazione comune, che viene suddiviso in otto segnalazioni parziali nel controllore. Per ogni istanza dell'SFB 31 "NOTIFY_8P" è disponibile una memoria segnalazioni con due spazi. Maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale sono riportate nel paragrafo "Rilevamento di transizioni di segnale" Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. Avvertenza Nonostante la perdita di segnalazioni, al display vengono comunicati gli ultimi due cambiamenti di ogni segnale. ! Pericolo Prima di richiamare l'SFB 31 "NOTIFY_8P" in un sistema di automazione occorre essere certi che tutti i display collegati riconoscano questo blocco. Ciò è possibile se la versione del sistema di automazione utilizzato soddisfa almeno uno dei seguenti requisiti: STEP 7 dalla versione V5.1 Service Pack 3, WinCC dalla V5.1 Hot Fix 1, PCS 7 dalla V5.2 Service Pack 2, SIMATIC Device Driver dalla versione V5.6. In caso di mancata osservanza di tale indicazione, la comunicazione tra il sistema di automazione e i display collegati verrà interrotta. Di conseguenza non sarà possibile accedere all'impianto con i sistemi di visualizzazione collegati. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-7 Creazione di segnalazioni riferite ai blocchi Parametri Dichiarazione Tipo Area di memoria Descrizione SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L. i-esimo segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE ID rilevata solo al primo richiamo. EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 31 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità); valore di default: 64 Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di una informazione di errore SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile 1 ≤ i ≤ 10 Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) 24-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 31 che possono essere trasmette tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Perdita della segnalazione, almeno una transizione di segnale/una segnalazione non ha potuto essere inviata 0 22 • Errore nel puntatore sulle variabili SD_i - in riferimento a lunghezza o a tipo di dati - variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento 1 4 Al primo richiamo 1 10 • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 31 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 La memoria di lavoro non è sufficiente Sistema H: richiamo dell'SFB durante l'aggiornamento 1 21 La segnalazione con la EV_ID specificata è inibita. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-9 Creazione di segnalazioni riferite ai blocchi 24.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM" Descrizione L'SFB 33 "ALARM" controlla un segnale. • Funzionamento standard (vale a dire che la segnalazione con conferma è disattivata): sia in presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento uscente), il blocco genera una segnalazione, alla quale possono essere attribuite fino a dieci variabili. • Segnalazione con conferma attivata: dopo la creazione di una segnalazione entrante per il segnale, il blocco non genera altre segnalazioni fino a quando il messaggio entrante non viene confermato in un controllore (vedere anche Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale. L'uscita ACK_UP viene azzerata se è presente un fronte di salita. L'uscita viene impostata se la conferma dell'evento in entrata proviene da un controllore visualizzato collegato. Lo stesso vale per l'uscita ACK_DN, che viene azzerata in presenza di un fronte di discesa. L'uscita viene impostata se la conferma dell'evento in uscita proviene da un controllore visualizzato allacciato. Dopo l'arrivo della conferma da un controllore visualizzato collegato, l'informazione di conferma viene comunicata a tutti i nodi collegati. Per ogni istanza dell'SFB 33 "ALARM" è disponibile una memoria con due spazi. Per maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. 24-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi L'SFB 33 "ALARM" è conforme alla norma IEC 1131-5. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT E, A, M, D, L, cost. Il parametro di comando enable to receive fa in modo che le uscite ACK_UP e ACK_DN vengano aggiornate (EN_R=1) o non vengano aggiornate (EN_R=0) al richiamo del blocco. Con EN_R=0 i parametri di uscita ACK_UP e ACK_DN rimangono invariati. SIG INPUT BOOL E, A, M, D, L Segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L,) Canale dati per segnalazioni: W#16#EEEE ID analizzata solo al primo richiamo. EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 33 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. BOOL Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore zero significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazioni terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT INT E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore ACK_DN OUTPUT BOOL E, A, M, D, L L'evento in uscita è stato confermato su un controllore visualizzato. Stato di inizializzazione: 1 ACK_UP OUTPUT BOOL E, A, M, D, L L'evento in arrivo è stato confermato su un controllore visualizzato. Stato di inizializzazione: 1 SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile Sono ammessi solo i tipi di dati BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. 1≤i ≤10 Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (ad es.: P# DB10.DBX5.0 byte 10) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-11 Creazione di segnalazioni riferite ai blocchi Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 33 che possono essere emesse tramite i parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: perdita della segnalazione, transizione di segnale/la segnalazione non ha potuto essere inviata. 0 22 • Errore nel puntatore sulle variabili SD_i • in riferimento a lunghezza o a tipo di dati • variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo • La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. • Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento. In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 1 4 1 10 1 12 Per la EV_ID specificata non è presente alcun collegamento Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 33 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) Al richiamo degli SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 33 • un DB globale invece di un DB di istanza 1 18 L'EV_ID è già stata utilizzata da uno degli SFB 31 0 da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco le uscite ACK_UP e ACK_DN hanno valore 1 e il valore storico dell'ingresso SIG viene assunto a 0. 24-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P" Descrizione L'SFB 35 "ALARM_8P" è il lineare ampliamento a otto segnali dell'SFB 33 "ALARM". Qualora la procedura di segnalazione con conferma non sia stata attivata, viene sempre generata una segnalazione se almeno per un segnale è stato riconosciuta una transizione di segnale (eccezione: al primo richiamo viene sempre trasmessa una segnalazione). Per tutti otto i segnali c'è un numero di segnalazione comune, che viene suddiviso sul controllore visualizzato in otto segnalazioni parziali. È possibile confermare ogni singola segnalazione parziale oppure più segnalazioni parziali in una sola volta. Tramite il parametro di uscita ACK_STATE è possibile continuare ad elaborare nel programma lo stato di conferma delle singole segnalazioni. In caso di inibizione o di abilitazione di una segnalazione di un blocco ALARM_8P, viene inibito o abilitato sempre tutto il blocco ALARM _8P. Non è possibile inibire o abilitare singoli segnali. Per ogni istanza dell'SFB 35 "ALARM_8P" è disponibile una memoria con due spazi. Per maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB. Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT E, A, M, D, L, cost. Il parametro di comando enable to receive fa in modo che l'uscita ACK_STATE venga aggiornata al richiamo del blocco (EN_R=1) oppure non venga aggiornata (EN_R=0). i-esimo segnale da controllare BOOL SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 35 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. ID rilevata solo al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore zero significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazioni terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-13 Creazione di segnalazioni riferite ai blocchi Parametri Dichiarazione Tipo ACK_STATE OUTPUT WORD Area di memoria Descrizione E, A, M, D, L Campo di bit con l'attuale stato di conferma di tutte e otto le segnalazioni (1: evento confermato; 2: evento non confermato) • I bit 0 … 7 sono impostati per l'evento in entrata con SIG_1 …SIG_7 • I bit 8 … 15 sono impostati per l'evento in uscita con SIG_1 … SIG_7 Stato dell'inizializzazione: W#16#FFFF, cioè tutti gli eventi entranti e uscenti sono confermati SD_j, 1≤ j ≤10 IN_OUT ANY E, A, M, D, T, Z j-esima variabile Le variabili valgono per tutti i messaggi. Sono ammessi solo i tipi di dati BOOL (non consentito campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 Byte 10) 24-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 35 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: Perdita della segnalazione, almeno una transizione del segnale/una segnalazione non ha potuto essere inviata. 0 22 • • Errore nel puntatore sulle variabili SD_i - in riferimento a lunghezza o a tipo di dato - variabili non raggiungibili nella memoria utente, p. es. a causa di un DB cancellato o un errore di lunghezza di campo La segnalazione attivata viene trasmessa senza variabili oppure con il numero ancora possibile di variabili. Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa. La segnalazione viene trasmessa con SEVERITY =127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 Al primo richiamo • la EV_ID specificata si trova al di fuori dell'area ammessa • è presente un errore formale del puntatore ANY SD_i • è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 35 ERROR STATUS (decimale) Spiegazione 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo degli SFB è stato indicato: 1 18 • un DB di istanza che non appartiene all'SFB 35 • un DB globale invece di un DB di istanza EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle entrate SIG_i, 1≤i≤8 sono assunti a 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-15 Creazione di segnalazioni riferite ai blocchi 24.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8" Descrizione L'SFB 34 "ALARM_8" - a prescindere dal fatto che le variabili D_1 ... SD_10 non sono presenti - è identico all'SFB 35 "ALARM_8P". Parametri Dichiarazione Tipo Area di memoria Descrizione EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enabled to receive fa in modo che l'uscita ACK_STATE venga aggiornata al richiamo del blocco (EN_R=1) oppure non venga aggiornata (EN_R=0). SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L i-esimo segnale da controllare ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0) EV_ID viene analizzato solamente con il primo richiamo. In seguito, per ogni richiamo dell'SFB 34 con il relativo DB di istanza, vale il numero di messaggio usato al primo richiamo. ID rilevata solo al primo richiamo. Il numero di messaggio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri dei messaggi. Il numero del messaggio deve essere univoco all'interno del programma utente. SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento Valori possibili: da 0 a 127 (valore 0 significa massima priorità). Questo parametro non è rilevante per l'elaborazione della segnalazione. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: Creazione segnalazione terminata. ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore ACK_STATE OUTPUT WORD E, A, M, D, L Campo di bit con l'attuale stato di conferma di tutte e otto le segnalazioni (1: evento confermato; 0: evento non confermato) • I bit 0 … 7 sono impostati per l'evento in entrata con SIG_1 …SIG_7 • I bit 8 … 15 sono impostati per l'evento in uscita con SIG_1 … SIG_7 Stato dell'inizializzazione: W#16#FFFF, cioè tutti gli eventi entranti e uscenti sono confermati 24-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 34 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Avviso: Perdita della segnalazione, almeno una transizione del segnale/una segnalazione non ha potuto essere inviata 0 22 Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area ammessa: La segnalazione attivata viene trasmessa con SEVERITY = 127). 0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione. 1 1 Problemi di comunicazione: interruzione del collegamento oppure non è presente alcun collegamento. In caso di segnalazione con conferma: visualizzazione temporale se nessun display supporta la segnalazione con conferma 1 4 Al primo richiamo la EV_ID specificata è posta al di fuori dell'area ammessa. 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati) 1 12 Al richiamo degli SFB è stato indicato: 1 18 • un DB di istanza che non appartiene all'SFB 34 • un DB globale invece di un DB di istanza EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36 1 20 Insufficiente memoria di lavoro. 1 21 La segnalazione con la EV_ID specificata è inibita. Avvertenza Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle entrate SIG_i, 1≤i≤8 vengono assunti a 0. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-17 Creazione di segnalazioni riferite ai blocchi 24.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" Descrizione L'SFB 37 "AR_SEND" trasmette dati di archivio a tutti i sistemi di servizio e di controllo collegati a questo scopo. Questi comunicano nel telegramma di collegamento della CPU il numero di archivio rilevante. A seconda della memoria di lavoro della CPU e dell'area di operandi utilizzata, i dati di archivio possono arrivare fino a 65.534 byte. Nel creare i dati di archivio si deve tenere presente in struttura predefinita del sistema di servizio e di controllo utilizzato. L'attivazione del procedimento di trasmissione avviene dopo il richiamo del blocco e del fronte di salita all'ingresso di comando REQ. L'indirizzo di partenza dei dati di archivio da trasmettere viene assegnato attraverso SD_1, la lunghezza del blocco dati viene assegnata tramite LEN. La trasmissione dei dati avviene in modo asincrono rispetto all'esecuzione del programma utente. La conclusione positiva del procedimento di trasmissione viene visualizzata nel parametro di stato DONE con 1. Il procedimento di trasmissione in corso viene interrotto in presenza di un fronte di salita all'ingresso di comando R. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L Parametro di comando request R INPUT BOOL E, A, M, D, L cost. Parametro di comando reset: interruzione del job attuale ID INPUT WORD E, A, M, D, cost. Canale dati per segnalazioni: W#16#EEEE AR_ID INPUT DWORD Cost. (E, A, M, D, L) Numero di archivio (non consentito: 0) ID rilevata solo al primo richiamo. AR_ID viene rilevata solamente al primo richiamo. Poi, per ogni richiamo dell'SFB 37 con il relativo DB di istanza vale il numero di archivio usato al primo richiamo. Il numero di archivio viene assegnato automaticamente da STEP 7. Viene così garantita la coerenza dei numeri di archivio. DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: trasmissione terminata ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR ERROR= TRUE significa che nell'elaborazione si è verificato un errore. Per maggiori informazioni vedere il parametro STATUS. STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di un'informazione di errore SD_1 IN_OUT ANY E, A, M, D, T, Z Puntatore sui dati di archivio. L'indicazione della lunghezza non viene analizzata. Sono ammessi solo i tipi di dati BOOL ( non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. I dati di archivio devono essere configurati per il sistema di destinazione specifico. Avvertenza: Se il puntatore ANY accede a un DB, il DB deve sempre essere specificato (p. es.: P# DB10.DBX5.0 byte 10) LEN 24-18 IN_OUT WORD E, A, M, D, L Lunghezza del blocco dati da trasmettere in byte Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni di errore La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 37 che possono essere emesse dai parametri ERROR e STATUS. ERROR STATUS (decimale) Spiegazione 0 11 Messaggio di avviso: nuovo job inefficace perché job precedente non ancora concluso. 0 25 La comunicazione è stata avviata. Il job è in fase di esecuzione. 1 1 Problemi di comunicazione 1 2 Conferma negativa, funzione non eseguibile 1 3 Per la AR_ID specificata non è presente alcun collegamento 1 4 • Errore nel puntatore dei dati di archivio SD_1 in riferimento a lunghezza o a tipo di dati. • Al primo richiamo la AR_ID specificata si trova al di fuori dell'area ammessa. 1 5 La richiesta di reset è stata eseguita 1 7 Job di reset irrilevante poiché la funzione in corso è stata conclusa oppure non è stata attivata (blocco in stato errato) 1 8 Errore di accesso del partner remoto 1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellato) 1 12 Al richiamo degli SFB è stato indicato: • un DB di istanza che non appartiene all'SFB 37 • un DB globale invece di un DB di istanza 1 18 AR_ID è già stata utilizzata da un SFB 37. 1 20 Memoria di lavoro insufficiente. Coerenza dei dati Per garantire la coerenza dei dati è possibile scrivere nella parte attualmente utilizzata dell'area di trasmissione SD_1 solo dopo che l'attuale trasmissione è terminata, quando p. es. il parametro di stato DONE assume il valore 1. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-19 Creazione di segnalazioni riferite ai blocchi 24.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG" Descrizione Con la SFC 10 "DIS_MSG" (disable message) vengono inibite segnalazioni riferite ai blocchi creati con gli SFB, segnalazioni riferite ai simboli (SCAN) e segnalazioni cumulative tecnologiche. I messaggi da inibire vengono definiti tramite i parametri di ingresso MODE e MESGN. La condizione necessaria per l'avviamento positivo di un procedimento di inibizione con la SFC 10 "DIS_MSG" è che non sia attivo al momento alcun ulteriore procedimento di inibizione della SFC 10. Le segnalazioni che al richiamo della SFC 10 sono già pronti per essere trasmesse ma si trovano ancora in un buffer interno, non subiscono più l'inibizione, cioè vengono ancora trasmesse. Le uscite ERROR e STATUS degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e "ALARM_8" comunicano che la trasmissione di messaggi è inibita. Il procedimento di inibizione viene avviato se, al richiamo della SFC 10, viene occupato il parametro di ingresso REQ con 1. Modo di funzionamento Il procedimento di inibizione viene condotto in modo asincrono, cioè si può estendere a più richiami della SFC 10 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono: • Al primo richiamo (REQ = 1) la SFC 10 verifica i parametri di ingresso e cerca di occupare le risorse di sistema necessarie. In caso di riuscita W#16#7001 viene registrato in RET_VAL, BUSY viene impostato e l'inibizione avviata. In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato. BUSY in tal caso non può essere analizzato. • Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in corso. All'ultimo richiamo in RET_VAL viene registrato W#16#0000, se non è presente alcun errore. BUSY in questo caso viene indicato con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere analizzato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: avvia inibizione MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della segnalazione da inibire MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione Rilevante solo per MODE = 5, 6, 7. In tal modo può essere inibita una singola segnalazione. RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: il procedimento di inibizione non è ancora terminato 24-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Parametri di ingresso MODE Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi. Valore Significato 0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e quelle cumulative tecnologiche della CPU. 1 Tutte le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutte le segnalazioni degli SFB "NOTIFY", "NOTIFY_8P”,"ALARM", "ALARM_8P" e "ALARM_8". 2 Tutte le segnalazioni cumulative tecnologiche della CPU 3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN) 5 Segnalazione singola della classe "segnalazioni riferite ai simboli" 6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB" 7 Segnale singolo della classe "segnalazioni cumulative tecnologiche" Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Inibizione terminata senza errori 7000 Primo richiamo con REQ = 0: inibizione non attivata 7001 Primo richiamo con REQ = 1: inibizione avviata 7002 Richiamo intermedio: inibizione già attiva 8081 Errore nell'accesso ad un parametro 8082 MODE ha valore non ammesso 8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa 8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente alcun collegamento 80C3 L'inibizione della segnalazione specificata tramite MODE ed eventualmente tramite MESGN non può essere avviata al momento, perché è già attivo un altro procedimento di inibizione della SFC 10. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-21 Creazione di segnalazioni riferite ai blocchi 24.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG" Descrizione Con la SFC 9 "EN_MSG" (enable message) vengono riabilitate le segnalazioni inibite riferite ai blocchi e ai simboli e le segnalazioni cumulative tecnologiche inibiti. L'inibizione può essere stata attivata da un controllore visualizzato o con la SFC 10 "DIS_MSG". Le segnalazioni da abilitare devono essere definite tramite i parametri di ingresso MODE e MESGN. Presupposto per l'avviamento positivo di un procedimento di abilitazione con la SFC 9 "EN_MSG" è che momentaneamente non sia attivo alcun altro procedimento di abilitazione della SFC 9. Il procedimento di abilitazione viene avviato se, al richiamo della SFC 9, il parametro di ingresso REQ viene occupato con 1. Modo di funzionamento Il procedimento di abilitazione viene condotto in modo asincrono, cioè si può estendere a più richiami della SFC 9 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono. • Al primo richiamo (REQ = 1) la SFC 9 verifica i parametri di ingresso e cerca di occupare le risorse di sistema necessarie. In caso di riuscita in RET_VAL viene registrato W#16#7001, BUSY viene impostato e l'abilitazione avviata. In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato. BUSY in tal caso non può essere analizzato. • Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in corso. All'ultimo richiamo in RET_VAL viene registrato W#16#0000 se non è presente alcun errore. BUSY in questo caso viene descritto con 0. In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere analizzato. Parametri Dichiarazione Tipo Area di memoria Descrizione REQ INPUT BOOL E, A, M, D, L REQ = 1 : avvia abilitazione MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della segnalazione da abilitare MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione Rilevante solo per MODE = 5, 6, 7. In tal modo può essere abilitata una singola segnalazione RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore, vedere tabella NO TAG BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1 : il procedimento di abilitazione non è ancora terminato 24-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Parametri di ingresso MODE Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi. Valore Significato 0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e tutte quelle cumulative tecnologiche della CPU. 1 Tutti le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutti le segnalazioni degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e "ALARM_8". 2 Tutte le segnalazioni cumulative tecnologiche della CPU 3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN) 5 Segnalazione singola della classe "segnalazioni riferite ai simboli" 6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB" 7 Segnale singolo della classe "segnalazioni cumulative tecnologiche" Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Abilitazione terminata senza errori 7000 Primo richiamo con REQ = 0: abilitazione non attivata 7001 Primo richiamo con REQ = 1: abilitazione avviata 7002 Richiamo intermedio: abilitazione già attiva 8081 Errore nell'accesso ad un parametro 8082 MODE ha valore non ammesso 8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa 8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente alcun collegamento 80C3 L'abilitazione delle segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non può essere momentaneamente avviata, perché è già attivo un altro procedimento di abilitazione della SFC 9. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-23 Creazione di segnalazioni riferite ai blocchi 24.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi Comportamento al nuovo avviamento (avviamento a caldo) Al nuovo avviamento (avviamento a caldo) i DB di istanza degli SFB per la creazione di segnalazioni riferite ai blocchi vengono spostati nello stato non inizializzato. I parametri attuali memorizzati nei DB di istanza rimangono invariati. Con il successivo richiamo di blocco vengono nuovamente analizzati i parametri ID e EV_ID. Comportamento all'avviamento a freddo All'avviamento a freddo il contenuto dei DB di istanza degli SFB per la creazione di segnalazioni riferite ai blocchi vengono impostati ai valori iniziali. Comportamento al riavviamento Al riavviamento gli SFB per la creazione di segnalazioni riferite ai blocchi si comportano come blocchi funzionali utente che possono essere ripresi. Essi proseguono dal punto di interruzione. Comportamento dopo cancellazione totale La cancellazione totale porta sempre all'interruzione di tutti i collegamenti cosicché nessun nodo è più collegato per le segnalazioni. Il programma utente viene cancellato. Se è stata inserita una flashcard, le parti del programma rilevanti per lo svolgimento vengono nuovamente caricate nella CPU a partire da quel punto e la CPU esegue un nuovo avviamento (avviamento a caldo) o avviamento a freddo (implicitamente sempre avviamento a freddo poiché tutti i dati utente sono inizializzati dopo la cancellazione totale). 24-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi Interruzione di collegamento I collegamenti assegnati alle istanze SFB vengono controllati in caso di interruzione. All'interruzione del collegamento il nodo colpito viene tolto dalla lista interna della CPU dei nodi allacciati per le segnalazioni riferite ai blocchi. Le segnalazioni ancora presenti per questo nodo vengono cancellate. Se dopo un'interruzione di collegamento sono allacciati ancora altri nodi, essi continuano a ricevere le segnalazioni. Gli SFB smettono di trasmettere solo quando i collegamenti a tutti i nodi allacciati sono interrotti. Avviene allora una visualizzazione nei parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 1). Interfaccia di errore per programma utente Se nell'esecuzione di un SFB per la creazione di segnalazioni riferite ai blocchi si verifica un errore, il parametro di uscita ERROR viene impostato a 1 e la relativa identificazione di errore viene registrata nel parametro di uscita STATUS. Questa informazione di errore può essere analizzata nel programma. Esempi di errori possibili: • Trasmissione non possibile per insufficienza di risorse • Errore nell'accesso ad uno dei segnali da controllare. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-25 Creazione di segnalazioni riferite ai blocchi 24.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC SFC per la creazione di segnalazioni riferite ai blocchi Con le seguenti SFC è possibile creare una segnalazione riferita ai blocchi: • SFC 17 "ALARM_SQ" • SFC 18 "ALARM_S" • SFC 107 "ALARM_DQ" • SFC 108 "ALARM_D" Queste SFC hanno le seguenti caratteristiche: • le segnalazioni della SFC 17 "ALARM_SQ" e della SFC 107 "ALARM_DQ" trasmesse con stato di segnale 1 si possono confermare tramite un controllore visualizzato attivato. Le segnalazioni della SFC 18 "ALARM_S" e della SFC 108 "ALARM_D" sono sempre confermate implicitamente. • Una segnalazione non viene creata da un cambio di fronte riconosciuto, bensì da ogni richiamo di SFC. Consultare in questo caso i paragrafi Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi e Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D". • Una volta che è stato elaborato il blocco, la variabile SD è stata completamente rilevata ed è stata attribuita alla segnalazione. Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i criteri seguenti: coerenti sono • i tipi di dati semplici (bit, byte, parola e doppia parola) • un array del tipo di dati byte fino ad una lunghezza massima specifica della CPU. (vedere /71/, /101/). SFC 19 "ALARM_SC" Con l'aiuto della SFC 19 "ALARM_SC" è possibile rilevare: • lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17/SFC 107, oppure • lo stato di segnale all'ultimo richiamo della SFC 18/SFC 108. Collegamento di controllori visualizzati Premessa per la trasmissione di una segnalazione quando vengono richiamate le SFC per la creazione di segnalazioni riferite ai blocchi è che si sia collegato almeno un controllore visualizzato per segnalazioni riferite ai blocchi. 24-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Bufferizzazione delle segnalazioni Affinché non vada persa alcuna segnalazione anche in presenza di un alto carico del sistema di comunicazione, le SFC 17, 18, 107 e 108 possono memorizzare temporaneamente due segnalazioni ciascuna. Se nonostante ciò dovessero andare perse delle segnalazioni se ne riceve comunicazione tramite RET_VAL. Con la successiva segnalazione trasmessa anche i controllori visualizzati collegati ne vengono informati. Conferma della segnalazione con la SFC 17 "ALARM_SQ" e la SFC 107 "ALARM_DQ" Se su un controllore visualizzato viene confermata una "segnalazione arrivata", questa informazione di conferma viene trasmessa in un primo momento alla CPU che ha causato la segnalazione. Da qui l'informazione di conferma viene distribuita a tutti i nodi allacciati. Inibizione e abilitazione delle segnalazioni Le segnalazioni riferite ai blocchi create con la SFC 17 "ALARM_SQ", la SFC 18 "ALARM_S", la SFC 107 "ALARM_DQ" o la SFC 108 "ALARM_D" non possono essere inibite per essere poi successivamente abilitate. Modifiche al programma che contiene richiami di SFC 17/SFC 18 Avvertenza Caricando un blocco già presente nella CPU con richiami delle SFC 17 e SFC 18 è possibile che il blocco esistente abbia già trasferito una segnalazione entrante e che il nuovo blocco non trasferisca la relativa segnalazione uscente. In questo modo la segnalazione rimane nella memoria delle segnalazioni interna della CPU. Tale situazione si può verificare anche quando si cancellano dei blocchi con richiami delle SFC 17 e SFC 18. Queste segnalazioni possono essere eliminate dalla memoria delle segnalazioni interna della CPU commutando la CPU nello stato di funzionamento STOP ed eseguendo poi un nuovo avviamento (avviamento a caldo) o un avviamento a freddo. Modifiche del programma utente che contiene richiami SFC 107/SFC 108 Anche se il programma dell'utente contiene richiami di SFC 107 e/o SFC 108, con le modifiche del programma sopra descritte le segnalazioni possono restare nella memoria interna delle segnalazioni e quindi occupare risorse del sistema in modo permanente. Al contrario delle risorse di sistema occupate da richiami di SFC 17/SFC 18, quelle occupate dai richiami delle SFC 107/SFC 108 possono essere riabilitate dall'utente senza dover portare la CPU in stato di STOP. Ciò succede impiegando la SFC 106 "DEL_SI", vedere Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI". Prima di abilitare le risorse di sistema a occupazione dinamica richiamando la SFC 106 "DEL_SI", può essere opportuno leggere con l'aiuto della SFC 105 "READ_SI" le informazioni sulle risorse del sistema attualmente occupate dinamicamente della propria CPU; vedere Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-27 Creazione di segnalazioni riferite ai blocchi Numero dei dati da trasmettere Il numero dei dati che si possono trasmettere tramite le variabili SD delle SFC ALARM_S, ALARM_SQ, ALARM_D e ALARM_DQ non deve superare una lunghezza massima. Questa lunghezza dati massima viene calcolata nel modo seguente: maxleng = min (pdu_lokal, pdu_remote) - 48 Dove: • pdu_lokal la lunghezza massima dei blocchi dati della propria CPU (SZL_ID W#16#0131, INDEX 1, pdu) • pdu_remote la lunghezza massima dei blocchi dati del controllore visualizzato Esempio: Una CPU 414-2 trasmette messaggi ad un PG 760 (tramite MPI). pdu_lokal = 480 byte, pdu_remote = 480 byte. Utilizzando la formula: maxleng = min (480, 480) - 48 = 480 - 48 = 432 La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 432 byte. 24-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" Avvertenza Nei programmi nuovi è opportuno utilizzare solo le SFC 107 e 108 (a condizione che la CPU supporti le SFC 107 e 108), perché offrono migliori funzioni di gestione delle risorse del sistema. Descrizione Le SFC 17 "ALARM_SQ" e SFC 18 "ALARM_S" generano ad ogni richiamo una segnalazione alla quale è possibile aggiungere una variabile. La segnalazione viene trasmessa a tutti i nodi allacciati. La SFC 17 e la SFC 18 mettono dunque a disposizione un semplice meccanismo di segnalazione. Si deve fare attenzione a richiamare le SFC 17/SFC 18 solo quando il valore del segnale SIG, che attiva le segnalazioni, è in negativo rispetto all'ultimo richiamo. Se ciò non avviene, se ne riceve comunicazione tramite RET_VAL e non viene trasmessa alcuna segnalazione. Fare anche attenzione che al primissimo richiamo delle SFC 17/SFC 18 all'ingresso SIG sia presente 1. Altrimenti RET_VAL fornisce un'informazione di errore e non viene trasmessa alcuna segnalazione. Avvertenza Richiamare la SFC 17 e la SFC 18 da un FB al quale sono stati prima assegnati gli attributi di sistema! Informazioni dettagliate per l'assegnazione di attributi di sistema ai blocchi si trovano in /234/ Occupazione delle risorse del sistema Durante la generazione delle segnalazioni con le SFC 17 "ALARM_SQ" e 18 "ALARM_S" il sistema operativo occupa una risorsa del sistema per la durata del ciclo del segnale. Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati. Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio (avvio a caldo). Conferma delle segnalazioni Le segnalazioni trasmesse dalla SFC 17 "ALARM_RQ" con lo stato di segnale 1 possono essere confermate su un controllore visualizzato collegato. Lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17 possono essere rilevati con l'aiuto della SFC 19 "ALARM_SC". Le segnalazioni trasmesse con la SFC 18 "ALARM_S" sono sempre confermate implicitamente. Lo stato di segnale all'ultimo richiamo di SFC 18 può essere rilevato con l'aiuto della SFC 19 "ALARM_SC". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-29 Creazione di segnalazioni riferite ai blocchi Memorizzazione intermedia di stati di segnale La SFC 17 "ALARM_SQ" e la SFC 18 "ALARM_S" occupano momentaneamente delloe risorse del sistema. Qui vengono memorizzati temporaneamente tra l'altro entrambi gli ultimi stati di segnale, incluso la registrazione del tempo e la variabile. Se un richiamo della SFC 17/SFC 18 avviene in un momento in cui gli stati di segnale di entrambi gli ultimi richiami della SFC "validi" non sono ancora stati trasmessi (overflow di segnale), l'ultimo stato di segnale e quello attuale vengono annullati e viene impostata un'identificazione di overflow nella memoria intermedia. Non appena possibile sia il penultimo segnale che l'identificazione di overflow vengono trasmessi. Esempio: t t0 t1 t2 t0, t1 e t2 sono i punti di tempo di richiamo delle SFC 17/SFC 18. Se al punto di tempo t2 gli stati di segnale di t0 e t1 non sono ancora stati trasmessi, gli stati di segnale di t1 e t2 vengono annullati e allo stato di segnale di t0 viene impostata l'identificazione di overflow. Overflow di istanza Se il numero dei richiami di SFC 17/SFC 18 è maggiore del numero massimo di risorse di sistema della CPU, si può arrivare ad una mancanza di risorse (overflow di istanze). Ciò viene comunicato sia tramite un'informazione di errore in RET_VAL, sia nei controllori visualizzati collegati. Il numero massimo di richiami delle SFC 17/SFC 18 dipende dalla CPU. Queste informazioni si trovano in /70/ e /101/ Parametri Dichiarazione Tipo Area di memoria Descrizione SIG INPUT BOOL E, A, M, D, L Segnale che attiva il messaggio ID INPUT WORD E, A, M, D, L cost. Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero della segnalazione (non consentito: 0). SD INPUT ANY E, A, M, D, T, Z Variabile Lunghezza massima: 12 byte Sono ammessi solo i tipi di dati: BOOL (non consentito: campo di bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore 24-30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Nessun errore 0001 • La variabile supera la lunghezza massima consentita oppure • L'accesso alla memoria utente non è possibile (p. es. accesso a DB cancellati). Il messaggio viene inviato • La variabile indica un valore nell'area dati locale. Il messaggio viene inviato 0002 Avviso: È stata occupata l'ultima memoria libera di conferma segnalazione. 8081 La EV_ID specificata è posta al di fuori dell'area ammessa. 8082 Perdita della segnalazione perché la CPU non ha più alcuna risorsa libera per la creazione di segnalazioni riferite ai blocchi attraverso le SFC. 8083 Perdita della segnalazione perché è già presente lo stesso cambio di segnale, ma non è stato ancora possibile trasmetterlo (overflow di segnale). 8084 Al richiamo attuale delle SFC 17/SFC 18 e a quello precedente il segnale SIG che attiva la segnalazione ha lo stesso valore. 8085 Per la EV_ID specificata non è presente alcun collegamento. 8086 Un richiamo di SFC per la EV_ID specificata è già in elaborazione in una classe di priorità con priorità minore. 8087 Al primo richiamo delle SFC 17/SFC 18 il segnale che ha attivato la segnalazione aveva valore 0. 8088 La EV_ID specificata viene già utilizzata da un altro risorsa di sistema (per SFC 17, 18, 107, 108). 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-31 Creazione di segnalazioni riferite ai blocchi 24.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" Descrizione Con l'aiuto della SFC 19"ALARM_SC" è possibile rilevare • lo stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata e lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 17 "ALARM_SQ"/SFC 107 "ALARM_DQ" oppure • lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 18 "ALARM_S"/SFC 108 "ALARM_D". La segnalazione, oppure il segnale, è identificato in modo univoco tramite il numero della segnalazione assegnato, se sono stati attribuiti numeri delle segnalazioni con l'aiuto della progettazione delle segnalazioni. La SFC 19 "ALARM_SC" accede alla memoria delle SFC 17/SFC 18/SFC 107/SFC 108 temporaneamente occupata. Parametri Dichiarazione Tipo Area di memoria Descrizione EV_ID INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione della quale si desidera rilevare lo stato di segnale all'ultimo richiamo di SFC, oppure lo stato di conferma dell'ultima segnalazione arrivata (solo per SFC 17 e SFC 107) RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore STATE OUTPUT BOOL E, A, M, D, L Stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC Q_STATE OUTPUT BOOL E, A, M, D, L Se il parametro specificato EV_ID appartiene a un richiamo di SFC 18/SFC 108: 1 Se il parametro specificato EV_ID appartiene a un richiamo di SFC 17/SFC 107: stato di conferma dell'ultimo messaggio arrivato: 0: non confermato 1: confermato Informazioni d'errore Codice errore (W#16#...) Spiegazione 0000 Nessun errore 8081 La EV_ID specificata è posta al di fuori dell'area ammessa. 8082 Nessuna area di memoria momentaneamente assegnata a questa EV_ID (possibile causa: il relativo segnale non ha mai avuto lo stato 1, oppure ha nuovamente assunto lo stato 0). 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL 24-32 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" Descrizione Le SFC 107 "ALARM_DQ" e 108 "ALARM_D" generano, a ogni richiamo, una segnalazione alla quale l'utente può annettere una variabile. Sotto questo aspetto esse coincidono con le SFC 17 "ALARM_SQ" e 18 "ALARM_S". Al momento della creazione delle segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" il sistema operativo occupa una risorsa di sistema per la durata del ciclo del segnale. Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati. Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio (avvio a caldo). La migliore funzionalità delle SFC 107 "ALARM_DQ" e 108 "ALARM_D" rispetto alle SFC 17 e 18 consiste nel fatto che l'utente può gestire le risorse del sistema occupate: • con l'aiuto della SFC 105 "READ_SI" è possibile leggere informazioni sulle risorse del sistema occupate • con la SFC 106 "DEL_SI" è possibile abilitare nuovamente le risorse del sistema occupate. Questo aspetto è particolarmente importante nel caso di risorse del sistema occupate in modo duraturo. Una risorsa di sistema momentaneamente occupata, p. es., resta occupata in modo duraturo se l'utente, modificando il programma, cancella un richiamo di FB che contiene richiami di SFC107 o SFC108. Se nel modificare il programma si ricarica un FB con richiami di SFC 107 o SFC 108, può succedere che le SFC 107 e 108 non creino più le segnalazioni. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-33 Creazione di segnalazioni riferite ai blocchi Le SFC 107 e 108 hanno un parametro in più rispetto alle SFC 17 e 18, vale a dire l'ingresso CMP_ID. Questo permette di assegnare le segnalazioni create con le SFC 107 e 108 ad aree logiche, p. es. a impianti parziali. Se si richiamano le SFC 107/SFC 108 in un FB, è possibile occupare l'ingresso CMP_ID con il numero del relativo DB di istanza. Parametri Dichiarazione Tipo Area di memoria Descrizione SIG INPUT BOOL E, A, M, D, L Segnale che attiva la segnalazione ID INPUT WORD E, A, M, D, L, cost. Canale dati per segnalazioni: W#16#EEEE EV_ID INPUT DWORD Cost. (E, A, M, D, L) CMP_ID INPUT DWORD E, A, M, D, L, cost. component identifier (non consentito: 0) Numero della segnalazione (non consentito: 0) Identificazione del sistema parziale al quale è assegnata la segnalazione. Valori consigliati: • low word: 1 - 65535 • high word: 0 Seguendo queste raccomandazioni, si evita qualunque conflitto con pacchetti di programmazione Siemens SD INPUT ANY E, A, M, D, T, Z Variabile Lunghezza massima: 12 byte Sono ammessi solo i tipi di dati BOOL (non ammesso: campo bit), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME RET_VAL 24-34 OUTPUT INT E, A, M, D, L Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 0001 • La variabile supera la lunghezza massima consentita oppure • L'accesso alla memoria utente non è possibile (p. es. accesso a un DB cancellato). Il messaggio viene inviato. • La variabile indica un valore nell'area dati locali. Il messaggio viene inviato 0002 Avviso: l'ultimo spazio di memoria disponibile per le segnalazioni è occupato. 8081 L'EV_ID indicata non è compresa nell'area consentita. 8082 Perdita della segnalazione perché la CPU non ha più risorse disponibili per creare segnalazioni riferite ai blocchi tramite SFC. 8083 Perdita della segnalazione perché lo stesso cambio di segnale è presente ma non ha ancora potuto essere inviato (overflow di segnale). 8084 Nel richiamo attuale delle SFC 107/SFC 108 e in quello precedente, il segnale di attivazione SIG ha lo stesso valore. 8085 Per l'EV_ID manca la registrazione utente. 8086 Un richiamo di SFC per l'EV_ID indicata è già in elaborazione in una classe di priorità inferiore. 8087 Con il primo richiamo delle SFC 107/SFC 108 il segnale di attivazione della segnalazione aveva il valore 0. 8088 L'EV_ID indicata viene già utilizzata da un'altra risorsa di sistema (con SFC 17, 18, 107, 108). 8089 L'utente ha assegnato a CMP_ID il valore 0. 808A CMP_ID non compatibile con EV_ID 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-35 Creazione di segnalazioni riferite ai blocchi 24.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni con le SFC 107 e 108 Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo occupa momentaneamente uno spazio nella memoria del sistema. Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate correttamente. Descrizione Con la SFC 105 "READ_SI" è possibile leggere risorse di sistema occupate al momento della creazione di segnalazioni con le SFC 107 e 108, grazie ai valori qui utilizzati di EV_ID e CMP_ID. Questi vengono assegnati alla SFC 105 "READ_SI" nel parametro SI_ID. La SFC 105 "READ_SI" dispone di 4 tipi di funzionamento possibili, descritti nella tabella seguente. Il tipo di funzionamento desiderato si può impostare con il parametro MODE. MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono lette? 1 Tutte (richiamo della SFC 105 eseguito con SI_ID:=0) 2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=ev_id) 3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=cmp_id) 0 Ulteriori risorse di sistema che nel richiamo precedente non hanno potuto essere lette con MODE=1 o MODE=3 perché l'area di destinazione selezionata SYS_INST era troppo piccola Procedimento Se al momento del richiamo della SFC 105 con MODE=1 o MODE=3 si sceglie un'area di destinazione SYS_INST sufficientemente grande, dopo il richiamo essa riporta il contenuto di tutte le risorse di sistema selezionate tramite il parametro MODE attualmente occupate. Se il numero delle risorse occupate al momento è molto elevato, il tempo di esecuzione della SFC è proporzionalmente lungo. In caso di carico elevato della CPU è possibile che venga superato il tempo massimo progettato per il controllo del ciclo. Questo problema di tempo di esecuzione si può evitare nella maniera seguente: selezionare un'area di destinazione SYS_INST abbastanza piccola. Se la SFC non è in grado di registrare in SYS_INST tutte le risorse di sistema da leggere, il problema viene comunicato all'utente tramite RET_VAL=W#16#0001. Richiamare quindi la SFC 105 con MODE=0 e la stessa SI_ID del richiamo precedente finché RET_VAL non avrà il valore W#16#0000. Avvertenza Poiché il sistema operativo non coordina i richiami di SFC 105 relativi a un job di lettura, è opportuno eseguire tutti i richiami di SFC 105 in una stessa classe di priorità. 24-36 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi Struttura dell'area di destinazione SYS_INST L'area di destinazione per le risorse di sistema occupate lette deve trovarsi in un DB. È opportuno definire l'area di destinazione come campo di strutture nel quale ogni struttura sia configurata nel modo seguente: Elemento struttura Tipo Descrizione SFC_NO WORD N. della SFC che ha occupato tutte le risorse di sistema LEN BYTE Lunghezza della struttura in byte, incl. SFC_NO e LEN: B#16#0C SIG_STAT BOOL Stato del segnale ACK_STAT BOOL Stato della conferma dell'evento entrante (fronte di salita) EV_ID DWORD Numero della segnalazione CMP_ID DWORD Identificazione del sistema parziale Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Identificazione del job Valori consentiti: SI_ID INPUT DWORD E, A, M, D, L, cost. • 1: lettura di tutte le risorse del sistema • 2: lettura della risorsa di sistema occupata da EV_ID = ev_id al momento del richiamo delle SFC 107/SFC 108 • 3: lettura delle risorse di sistema occupate da CMP_ID = cmp_id al momento del richiamo delle SFC 107/SFC 108 • 0: richiamo successivo Identificazione della risorsa o delle risorse di sistema da leggere Valori consentiti: • 0, se MODE=1 • N. della segnalazione ev_id, se MODE= 2 • Identificazione cmp_id del sistema parziale con MODE=3 RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (informazione di errore o stato del job) N_SI OUTPUT INT E, A, M, D, L Numero delle risorse di sistema emesse in SYS_INT SYS_INT OUTPUT ANY D Area di destinazione per le risorse di sistema lette Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-37 Creazione di segnalazioni riferite ai blocchi Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 0001 Non è stato possibile leggere tutte le risorse di sistema poiché l'area di destinazione SYS_INST scelta è troppo piccola. 8081 (Solo con MODE=2 o 03): è stato assegnato il valore 0 a SI_ID. 8082 (Solo con MODE= 1): a SI_ID è stato assegnato un valore diverso da 0. 8083 (Solo con MODE= 0): a SI_ID è stato assegnato un valore diverso da quello del richiamo SFC precedente con MODE= 1 o 3. 8084 È stato assegnato un valore non consentito a MODE. 8085 La SFC 105 viene momentaneamente elaborata in un altro OB. 8086 L'area di destinazione SYS_INST è troppo piccola per una risorsa di sistema. 8087 L'area di destinazione SYS_INST non si trova in un DB. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL 24-38 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Creazione di segnalazioni riferite ai blocchi 24.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI" Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni con le SFC 107 e 108 Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo occupa momentaneamente uno spazio nella memoria del sistema Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate correttamente. Descrizione Con la SFC 106 "DEL_SI" è possibile cancellare risorse di sistema momentaneamente occupate. La SFC 106 "DEL_SI" dispone di 3 tipi di funzionamento possibili, descritti nella tabella seguente. Il tipo di funzionamento desiderato si può impostare con il parametro MODE. MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono cancellate? 1 Tutte (richiamo della SFC 106 eseguito con SI_ID:=0) 2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=ev_id) 3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=cmp_id) Parametri Dichiarazione Tipo Area di memoria Descrizione MODE INPUT INT E, A, M, D, L, cost. Identificazione del job Valori consentiti: SI_ID INPUT DWORD E, A, M, D, L, cost. • 1: cancellazione di tutte le risorse di sistema • 2: cancellazione della risorsa di sistema occupata da EV_ID = ev_id al momento del richiamo delle SFC 107/SFC 108 • 3: cancellazione delle risorse di sistema occupate da CMP_ID = cmp_id al momento del richiamo delle SFC 107/SFC 108 Identificazione della risorsa o delle risorse di sistema da cancellare Valori consentiti: RET_VAL OUTPUT INT E, A, M, D, L • 0, se MODE=1 • N. della segnalazione ev_id, se MODE=2 • Identificazione cmp_id del sistema parziale con MODE=3 Informazione di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 24-39 Creazione di segnalazioni riferite ai blocchi Informazioni di errore Codice errore (W#16#...) Spiegazione 0000 Non si è verificato nessun errore. 8081 (Solo con MODE= 2 o 3): è stato assegnato il valore 0 a SI_ID. 8082 (Solo con MODE=1): a SI_ID è stato assegnato un valore diverso da 0. 8084 È stato assegnato un valore non consentito a MODE. 8085 La SFC 106 viene momentaneamente elaborata in un altro OB. 8086 Non è stato possibile cancellare tutte le risorse di sistema selezionate poiché almeno una di queste era in elaborazione al momento del richiamo della SFC 106. 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL 24-40 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 25 Temporizzatore IEC e contatore IEC 25.1 Creazione di un impulso con l'SFB 3 "TP" Descrizione L'SFB 3 "TP" crea un impulso di lunghezza PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN causa l'avviamento dell'impulso. L'uscita Q rimane impostata per la durata di tempo PT, indipendentemente dalla successiva esecuzione del segnale di ingresso (cioè anche se l'ingresso IN cambia nuovamente da 0 a 1, prima che il tempo PT sia trascorso). L'uscita ET fornisce il tempo, mentre l'uscita Q è già impostata. Essa può assumere al massimo il valore dell'ingresso PT e viene resettata se l'ingresso IN cambia in 0, tuttavia non prima che il tempo PT sia trascorso. L'SFB 3 "TP" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 3 "TP" all'avviamento a freddo. Nel caso le istanze di questo SFB 3 "TP" debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), è necessario richiamare nell'OB 100 le istanze da inizializzare con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 25-1 Temporizzatore IEC e contatore IEC Diagramma di tempo IN Q PT PT PT ET PT Parametri Dichiarazione Tipo Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata dell'impulso. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso 25-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Temporizzatore IEC e contatore IEC 25.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON" Descrizione L'SFB 4 "TON" ritarda un fronte di salita di un tempo PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN ha come conseguenza un fronte di salita all'uscita Q dopo che è trascorsa la durata di tempo PT. Q rimane impostato fino a che l'ingresso IN cambia in 0. Se l'ingresso IN cambia in 0, prima che sia trascorso il tempo PT, l'uscita Q rimane su 0. L'uscita ET fornisce il tempo che è trascorso all'ingresso IN dall'ultimo fronte di salita, tuttavia al massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 0. L'SFB 4 "TON" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 4 "TON" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Diagramma di tempo IN Q PT PT ET PT Parametri Dichiarazione Tipo Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata del tempo di ritardo del fronte di salita all'ingresso IN. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo di dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 25-3 Temporizzatore IEC e contatore IEC 25.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" Descrizione L'SFB 5 "TOF" ritarda un fronte di discesa di un tempo PT. Il tempo trascorre solo negli stati di funzionamento AVVIAMENTO e RUN. Un fronte di salita all'ingresso IN causa un fronte di salita all'uscita Q. Un fronte di discesa all'ingresso IN ha come conseguenza un fronte di discesa all'uscita Q dopo che è trascorsa la durata di tempo PT. Se l'ingresso IN cambia nuovamente in 1 prima che il tempo PT sia trascorso, l'uscita Q rimane su 1. L'uscita ET fornisce il tempo, che è trascorso all'ingresso IN dall'ultimo fronte di discesa, tuttavia al massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 1. L'SFB 5 "TOF" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 5 "TOF" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Diagramma di tempo IN Q PT PT ET PT Parametri Dichiarazione Tipo Area di memoria Descrizione IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento PT INPUT TIME E, A, M, D, L, cost. Durata del tempo di ritardo del fronte di discesa all'ingresso IN. PT deve essere positivo (avvertenza: il campo di valori è definito dal tipo di dati TIME). Q OUTPUT BOOL E, A, M, D, L Stato del tempo ET OUTPUT TIME E, A, M, D, L Tempo trascorso 25-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Temporizzatore IEC e contatore IEC 25.4 Conteggio in avanti con l'SFB 0 "CTU" Descrizione Con l'SFB 0 "CTU" è possibile contare in avanti. In presenza di un fronte di salita all'ingresso CU (di fronte all'ultimo richiamo SFB) il contatore viene aumentato di 1. Quando il valore di conteggio raggiunge il limite massimo di 32.767 non può essere più aumentato. Ogni ulteriore fronte di salita all'ingresso CU rimane senza alcun effetto. Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0 indipendentemente da quale valore sia presente all'ingresso CU. All'uscita Q viene visualizzato se il valore di conteggio attuale è maggiore o se è uguale al valore predefinito PV. L'SFB 0 "CTU" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 0 "CTU" all'avviamento a freddo. Nel caso le istanze di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo Area di memoria Descrizione CU INPUT E, A, M, D, L, cost. Ingresso di conteggio BOOL R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su CU PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Per gli effetti di PV vedere parametro Q. Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore 1, se CV ≥ PV 0 diversamente CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da 0 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 25-5 Temporizzatore IEC e contatore IEC 25.5 Conteggio all'indietro con l'SFB 1 "CTD" Descrizione Con l'SFB 1 "CTD" è possibile contare all'indietro. In presenza di un fronte di salita all'ingresso CD (di fronte all'ultimo richiamo SFB) il contatore viene diminuito di 1. Quando il valore di conteggio raggiunge il limite minimo di -32.768 non può essere più diminuito. Ogni ulteriore fronte di salita all'ingresso CD rimane senza alcun effetto. Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore prestabilito PV, indipendentemente da quale valore sia presente all'ingresso CD. All'uscita Q viene visualizzato se il valore di conteggio attuale è minore o se è uguale a zero. L'SFB 1 "CTD" è conforme alla norma IEC 1131-3. Il sistema operativo resetta le istanze dell'SFB 1 "CTD" all'avviamento a freddo. Se le istanze di questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare 1 devono essere richiamate nell'OB 100 con LOAD = 1 e PV = valore di partenza desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo Area di memoria Descrizione CD INPUT E, A, M, D, L, cost. Ingresso di conteggio BOOL LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su CD. PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene preimpostato su PV se all'ingresso LOAD è presente il livello 1. Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore 1, se CV ≤ 0 0 diversamente CV 25-6 OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da - 32.768 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Temporizzatore IEC e contatore IEC 25.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" Descrizione Con l'SFB 2 "CTUD" è possibile contare in avanti e all'indietro. Il contatore in presenza di un fronte di salita (di fronte all'ultimo richiamo SFB) • viene aumentato di 1 all'ingresso CU • viene diminuito di 1 all'ingresso CD. Se il valore di conteggio raggiunge • il limite minimo di -32.768 non può più essere diminuito; • il limite massimo di 32.767 non può più essere aumentato. Se in un ciclo è presente un fronte di salita sia all'ingresso CU che all'ingresso CD il contatore manterrà il suo valore attuale. Questo comportamento si discosta dalla norma IEC 1131-3, dove, se i segnali CU e CD sono contemporanei, prevale l'ingresso CU. Questa proposta di modifica è stata presentata alla IEC. Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore predefinito PV, indipendentemente da quali valori siano presenti agli ingressi CU e CD. Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0, indipendentemente da quali valori siano presenti agli ingressi CU, CD e LOAD. All'uscita QU viene visualizzato se il valore di conteggio attuale è maggiore o uguale al valore predefinito PV: all'uscita QD viene visualizzato se è minore o uguale a zero. Il sistema operativo resetta le istanze dell'SFB 2 "CTUD" all'avviamento a freddo. Se le istanze di questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da inizializzare devono essere richiamate nell'OB 100 come segue: • utilizzando come contatore in avanti con R = 1 • utilizzando come contatore all'indietro con R = 0 e LOAD = 1 e PV = valore di partenza desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco sovraordinato. Parametri Dichiarazione Tipo Area di memoria Descrizione CU INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio in avanti. CD INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio all'indietro. R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su LOAD. LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su CU e CD. PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene preimpostato su PV se all'ingresso LOAD è presente il livello 1. QU OUTPUT BOOL E, A, M, D, L Stato di conteggio in avanti QU ha valore 1, se CV ≥ PV 0 diversamente QD OUTPUT BOOL E, A, M, D, L Stato di conteggio all'indietro: QD ha valore 1, se CV ≤ 0 0 diversamente CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale (valori possibili: da -32.768 a 32.767) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 25-7 Temporizzatore IEC e contatore IEC 25-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26 Funzioni IEC 26.1 Sommario È possibile copiare le funzioni IEC elencate qui di seguito (IEC: International Electrotechnical Commission) dalla biblioteca di STEP 7 "S7libs\Stdlib30" nella directory di programma. Nome Famiglia di blocco IEC Funzione FC 3 D_TOD_DT Convert Conversione di DATE e TIME_OF_DAY in DT FC 6 DT_DATE Convert Dissociazione di DATE da DT FC 7 DT_DAY Convert Dissociazione del giorno della settimana da DT FC 8 DT_TOD Convert Dissociazione di TIME_OF_DAY da DT FC 33 S5TI_TIM Convert Conversione del formato S5TIME in TIME FC 40 TIM_S5TI Convert Conversione del formato TIME in S5TIME FC 16 I_STRNG Convert Conversione del formato INT in STRING FC 5 DI_STRNG Convert Conversione del formato DINT in STRING FC 30 R_STRNG Convert Conversione del formato REAL in STRING FC 38 STRNG_I Convert Conversione del formato STRING in INT FC 37 STRNG_DI Convert Conversione del formato STRING in DINT FC 39 STRNG_R Convert Conversione del formato STRING in REAL FC 9 EQ_DT DT Confronto di DT se uguale FC 12 GE_DT DT Confronto di DT se maggiore o uguale FC 14 GT_DT DT Confronto di DT se maggiore FC 18 LE_DT DT Confronto di DT se minore o uguale FC 23 LT_DT DT Confronto di DT se minore FC 28 NE_DT DT Confronto di DT se diverso FC 10 EQ_STRNG String Confronto di STRING se uguale FC 13 GE_STRNG String Confronto di STRING se maggiore o uguale FC 15 GT_STRNG String Confronto di STRING se maggiore FC 19 LE_STRNG String Confronto di STRING se minore o uguale FC 24 LT_STRNG String Confronto di STRING se minore FC 29 NE_STRNG String Confronto di STRING se diverso FC 21 LEN String Lunghezza di una variabile STRING FC 20 LEFT String Parte sinistra di una variabile STRING FC 32 RIGHT String Parte destra di una variabile STRING FC 26 MID String Parte centrale di una variabile STRING FC 2 CONCAT String Combinazione di due variabili STRING FC 17 INSERT String Inserimento in una variabile STRING FC 4 DELETE String Cancellazione in una variabile STRING FC 31 REPLACE String Sostituzione in una variabile STRING FC 11 FIND String Ricerca in una variabile STRING Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-1 Funzioni IEC Nome Famiglia di blocco IEC Funzione FC 1 AD_DT_TM Floating Point Math Addizione di una durata di tempo ad un istante FC 35 SB_DT_TM Floating Point Math Sottrazione di una durata di tempo da un istante FC 34 SB_DT_DT Floating Point Math Sottrazione di due istanti FC 22 LIMIT Floating Point Math Limitatore FC 25 MAX Floating Point Math Selezione massimo FC 27 MIN Floating Point Math Selezione minimo FC 36 SEL Floating Point Math Selezione binaria Informazioni sui blocchi di comunicazione conformi a IEC si trovano nella guida contestuale relativa agli SFB/SFC (vedere: Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7) 26-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC 26.2 Dati tecnici relativi alle funzioni IEC Requisiti della memoria La tabella seguente mostra la quantità di memoria di lavoro e di memoria di carico nonché la quantità di byte di dati locali necessarie per le singole funzioni IEC. Assegnazione (quantità byte) in N° FC Nome Memoria lavoro Memoria carico Dati locali (byte) FC 3 D_TOD_DT 634 810 12 FC 6 DT_DATE 340 466 10 FC 7 DT_DAY 346 472 10 FC 8 DT_TOD 114 210 6 FC 33 S5TI_TIM 94 208 2 FC 40 TIM_S5TI 104 208 6 FC 16 I_STRNG 226 340 10 FC 5 DI_STRNG 314 440 18 FC 30 R_STRNG 528 684 28 FC 38 STRNG_I 292 420 12 FC 37 STRNG_DI 310 442 12 FC 39 STRNG_R 828 1038 30 FC 9 EQ_DT 96 194 2 FC 12 GE_DT 174 288 4 FC 14 GT_DT 192 310 4 FC 18 LE_DT 168 280 4 FC 23 LT_DT 192 310 4 FC 28 NE_DT 96 194 2 FC 10 EQ_STRNG 114 220 4 FC 13 GE_STRNG 162 282 8 FC 15 GT_STRNG 158 278 8 FC 19 LE_STRNG 162 282 8 FC 24 LT_STRNG 158 278 8 FC 29 NE_STRNG 150 266 8 FC 21 LEN 38 132 2 FC 20 LEFT 200 320 8 FC 32 RIGHT 230 350 8 FC 26 MID 302 390 8 FC 2 CONCAT 358 452 14 FC 17 INSERT 488 644 20 FC 4 DELETE 376 512 8 FC 31 REPLACE 562 726 20 FC 11 FIND 236 360 14 FC 1 AD_DT_TM 1350 1590 22 FC 35 SB_DT_TM 1356 1596 22 FC 34 SB_DT_DT 992 1178 30 FC 22 LIMIT 426 600 12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-3 Funzioni IEC Assegnazione (quantità byte) in N° FC Nome Memoria lavoro Memoria carico Dati locali (byte) FC 25 MAX 374 532 8 FC 27 MIN 374 532 8 FC 36 SEL 374 560 8 26-4 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC 26.3 Data e ora come tipi di dati composti Parametri attuali per DATE_AND_TIME DATE_AND_TIME è un tipo di dato composto come ARRAY, STRING e STRUCT. Le aree di memoria ammissibili per i tipi di dati composti sono il blocco dati (DB) e l´area di memoria dei dati locali (L-Stack). Se si impiega il tipo di dati DATE_AND_TIME come parametro formale in un´istruzione, allora è possibile, dato che si tratta di un tipo di dato composto, specificare i parametri attuali solo in uno dei formati seguenti : • Come simbolo locale al blocco dalla tabella di dichiarazione variabili per un determinato blocco • Come nome simbolico per un blocco dati, ad es. "DB_sys_info.Systemzeit", costituito dalle seguenti parti: - Un nome che è definito nella tabella dei simboli per il numero del blocco dati (ad es. "DB_sys_info" für DB5) - Un nome che è definito nel blocco dati per l´elemento DATE_AND_TIME (ad es. "Tempo di sistema" per una variabile del tipo di dati DATE_AND_TIME contenuta in DB5) Non è possibile impiegare costanti come parametri attuali per parametri formali di tipi di dati composti, incluso DATE_AND_TIME. Non è neppure possibile trasferire indirizzi assoluti come parametri attuali a DATE_AND_TIME. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-5 Funzioni IEC 26.4 Funzioni orologio Descrizione FC 1 AD_DT_TM Con la funzione FC 1 è possibile aggiungere una durata di tempo (formato TIME) ad un istante (formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante (parametro T) deve essere compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione non è possibile eseguire una verifica dell´ingresso. Se il risultato dell´addizione non si trova nel campo specificato sopra, il risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione T INPUT DATE_AND_TIME D, L Istante nel formato DT D INPUT TIME E, A, M, D, L, Cost. Durata di tempo nel formato TIME RET_VAL OUTPUT DATE_AND_TIME D, L Somma nel formato DT Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 3 D_TOD_DT Con la funzione FC 3 è possibile combinare i formati di dati DATE e TIME_OF_DAY (TOD) e convertirli nel formato di dati DATE_AND_TIME (DT). Il valore di ingresso IN1 deve essere compreso entro i limiti DATE#1990-01-01 e DATE#2089-12-31 (non si hanno verifiche). La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT DATE E, A, M, D, L, Cost. Variabile di ingresso nel formato DATE IN2 INPUT TIME_OF_DAY E, A, M, D, L, Cost. Variabile di ingresso nel formato TOD RET_VAL OUTPUT DATE_AND_TIME D, L Valore di ritorno nel formato DT Per il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico. 26-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 6 DT_DATE Con la funzione FC 6 è possibile dissociare il formato di dati DATE dal formato DATE_AND_TIME. DATE è compreso entro i limiti DATE#1990-1-1 e DATE#2089-12-31. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT DATE_AND_TIME D, L Variabile di ingresso con formato DT RET_VAL OUTPUT DATE E, A, M, D, L Valore di ritorno nel formato DATE Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 7 DT_DAY Con la funzione FC 7 è possibile dissociare il giorno della settimana dal formato DATE_AND_TIME. Il giorno della settimana è presente nel formato di dati INTEGER: • 1 Domenica • 2 Lunedì • 3 Martedì • 4 Mercoledì • 5 Giovedì • 6 Venerdì • 7 Sabato La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno nel formato INT Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-7 Funzioni IEC Descrizione FC 8 DT_TOD Con la funzione FC 8 è possibile dissociare il formato di dati TIME_OF_DAY dal formato DATE_AND_TIME. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT TIME_OF_DAY E, A, M, D, L Valore di ritorno nel formato TOD Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 33 S5TI_TIM Con la funzione FC 33 è possibile convertire il formato di dati S5TIME nel formato TIME. Se il risultato della conversione si trova fuori del campo numerico TIME il risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT S5TIME E, A, M, D, L, Cost. Variabile di ingresso nel formato S5TIME RET_VAL OUTPUT TIME E, A, M, D, L Valore di ritorno nel formato TIME Descrizione FC 34 SB_DT_DT Con la funzione FC 34 è possibile sottrarre due istanti (formato DT) e fornire come risultato una durata di tempo (formato TIME). Gli istanti devono trovarsi in un campo compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione non è possibile eseguire una verifica dell´ingresso. Quando il primo istante (parametro DT1) è maggiore (più recente) del secondo (parametro T2), il risultato è positivo; quando il primo istante è minore (meno recente) del secondo, il risultato è negativo. Se il risultato della sottrazione si trova fuori del campo numerico di TIME, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Primo istante nel formato DT DT2 INPUT DATE_AND_TIME D, L Secondo istante nel formato DT RET_VAL OUTPUT TIME E, A, M, D, L Differenza nel formato TIME Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. 26-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 35 SB_DT_TM Con la funzione FC 35 è possibile sottrarre una durata di tempo (formato TIME) da un istante (formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante (parametro T) deve trovarsi nel campo compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999 . Con la funzione non è possibile eseguire una verifica dell´ingresso. Se il risultato della sottrazione non si trova nel campo specificato sopra, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione T INPUT DATE_AND_TIME D, L Istante nel formato DT D INPUT TIME E, A, M, D, L, Cost. Durata di tempo nel formato TIME RET_VAL OUTPUT DATE_AND_TIME D, L Differenza nel formato DT Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 40 TIM_S5TI Con la funzione FC 40 è possibile convertire il formato di dati TIME nel formato S5TIME. Durante la conversione si arrotonda per difetto. Se il parametro di ingresso è maggiore del formato S5TIME rappresentabile (maggiore di TIME#02:46:30.000), viene emesso come risultato S5TIME#999.3 ed il risultato binario BIE viene azzerato. Parametro Dichiarazione IN INPUT RET_VAL OUTPUT Tipo di dati Area di memoria Descrizione TIME E, A, M, D, L, Cost. Variabile di ingresso nel formato TIME S5TIME E, A, M, D, L Variabile di ritorno nel formato S5TIME Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-9 Funzioni IEC 26.5 Confronto tra variabili DATE_AND_TIME Descrizione FC 9 EQ_DT Con la funzione FC 9 è possibile determinare se i contenuti di due variabili nel formato DATE_AND_TIME sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è uguale all´istante nel parametro DT2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 12 GE_DT Con la funzione FC 12 è possibile determinare quale dei contenuti di due variabili nel formato DATE_AND_TIME è maggiore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è maggiore (più recente) dell´istante nel parametro DT2 oppure i due istanti sono uguali. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. 26-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 14 GT_DT Con la funzione FC 14 è possibile determinare quale dei contenuti di due variabili nel formato DATE_AND_TIME è maggiore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha uno stato di segnale "1", quando l´istante nel parametro DT1 è maggiore (più recente) dell´istante nel parametro DT2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L, Cost. Variabile di ingresso nel formato DT DT2 INPUT DATE_AND_TIME D, L, Cost. Variabile di ingresso nel formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 18 LE_DT Con la funzione FC 18 è possibile determinare quale dei contenuti di due variabili nel formato DATE_AND_TIME è minore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è minore (meno recente) dell´istante nel parametro DT2 oppure entrambi gli istanti sono uguali. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso con formato DT DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso con formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-11 Funzioni IEC Descrizione FC 23 LT_DT Con la funzione FC 23 è possibile determinare quale dei contenuti di due variabili nel formato DATE_AND_TIME è minore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è minore (meno recente) dell´istante nel parametro DT2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 28 NE_DT Con la funzione FC 28 è possibile determinare se i contenuti di due variabili nel formato DATE_AND_TIME sono diversi ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è diverso dall´istante nel parametro DT2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel formato DT RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. 26-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC 26.6 Confronto tra variabili STRING Descrizione FC 10 EQ_STRNG Con la funzione FC 10 è possibile determinare se sono uguali i contenuti di due variabili nel formato STRING ed emettere come valore di ritorno il risultato di confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è uguale alla stringa di caratteri nel parametro S2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 13 GE_STRNG Con la funzione FC 13 è possibile determinare quale dei contenuti di due variabili nel formato STRING è maggiore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è maggiore o uguale alla stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `a' maggiore di`A'). Il primo carattere diverso è decisivo per il risultato del confronto. In caso di uguaglianza dei primi caratteri, viene considerata maggiore la stringa di caratteri più lunga. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-13 Funzioni IEC Descrizione FC 15 GT_STRNG Con la funzione FC 15 è possibile determinare quale dei contenuti di due variabili nel formato STRING è maggiore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è maggiore della stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `a' maggiore di `A'). Il primo carattere diverso è decisivo per il risultato del confronto. In caso di uguaglianza dei primi caratteri, viene considerata maggiore la stringa di caratteri più lunga. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 19 LE_STRNG Con la funzione FC 19 è possibile determinare quale dei contenuti di due variabili nel formato STRING è minore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è minore o uguale alla stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `A' minore di `a'). Il primo carattere diverso è decisivo per il risultato del confronto. In caso di uguaglianza dei primi caratteri, viene considerata minore la stringa di caratteri più corta. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. 26-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 24 LT_STRNG Con la funzione FC 24 è possibile determinare quale dei contenuti di due variabili nel formato STRING è minore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è minore della stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `A' minore di `a'). Il primo carattere diverso è decisivo per il risultato del confronto. Se la parte sinistra della stringa più lunga è identica alla stringa più corta, viene considerata minore la stringa di caratteri più corta. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 29 NE_STRNG Con la funzione FC 29 è possibile determinare se i contenuti di due variabili nel formato STRING sono diversi ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è diversa dalla stringa di caratteri nel parametro S2. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S1 INPUT STRING D, L Variabile di ingresso nel formato STRING S2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-15 Funzioni IEC 26.7 Modifica dei valori numerici Descrizione FC 22 LIMIT Con la funzione FC 22 è possibile limitare il valore numerico di una variabile a valori limite parametrizzabili. Come valori di ingresso sono consentite variabili del tipo di dati INT, DINT e REAL. Tutte le variabili parametrizzate devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto dal puntatore ANY. Il valore limite inferiore (parametro MN) deve essere minore del o uguale al valore limite superiore (parametro MX). Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando: • una variabile parametrizzata ha un tipo di dati inammissibile, • tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati, • il valore limite inferiore non è maggiore del valore limite superiore, • una variabile REAL non rappresenta alcun numero in punto mobile valido. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione MN INPUT ANY E, A, M, D, L Limite inferiore IN INPUT ANY E, A, M, D, L Variabile di ingresso MX INPUT ANY E, A, M, D, L Limite superiore RET_VAL OUTPUT ANY E, A, M, D, L Variabile di uscita limitata Descrizione FC 25 MAX Con la funzione FC 25 è possibile selezionare il maggiore di tre valori numerici di variabile. Come valori di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili parametrizzate devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto dal puntatore ANY. Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando: • una variabile parametrizzata ha un tipo di dato inammissibile, • tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dato, • una variabile REAL non rappresenta alcun numero in punto mobile valido. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT ANY E, A, M, D, L Primo valore di ingresso IN2 INPUT ANY E, A, M, D, L Secondo valore di ingresso IN3 INPUT ANY E, A, M, D, L Terzo valore di ingresso RET_VAL OUTPUT ANY E, A, M, D, L Il maggiore dei valori di ingresso 26-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC 26.8 Esempio in AWL CALL FC 25 IN1 IN2 IN3 RET_VAL = := P#M 10.0 DINT 1 := MD20 := P#DB1.DBX 0.0 DINT 1 := P#M 40.0 DINT 1 M 0.0 Nota: I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono anche ammessi parametri come “MD20“; a tal fine “MD20“ deve tuttavia essere definito in “Simbolo“ con il tipo di dati corrispondente. Descrizione FC 27 MIN Con la funzione FC 27 è possibile selezionare il minore di tre valori numerici di variabile. Come valori di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili parametrizzabili devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto dal puntatore ANY. Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando: • una variabile parametrizzata ha un tipo di dati inammissibile, • tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati, • una variabile REAL non rappresenta alcun numero in punto mobile valido. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT ANY Primo valore di ingresso E, A, M, D, L IN2 INPUT ANY E, A, M, D, L Secondo valore di ingresso IN3 INPUT ANY E, A, M, D, L Terzo valore di ingresso RET_VAL OUTPUT ANY E, A, M, D, L Il minore dei valori di ingresso Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-17 Funzioni IEC 26.9 Esempio in AWL CALL FC 27 IN1 IN2 IN3 RET_VAL = := P#M 10.0 DINT 1 := MD20 := P#DB1.DBX 0.0 DINT 1 := P#M 40.0 DINT 1 M 0.0 Nota: I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono anche ammessi parametri come “MD20“; a tal fine “MD20“ deve tuttavia essere definito in “Simbolo“ con il tipo di dati corrispondente. Descrizione FC 36 SEL Con la funzione FC 36 è possibile selezionare uno di due valori di variabile tramite un interruttore (parametro G). Come valori di ingresso sui parametri IN0 e IN1 sono consentite variabili con tutti i tipi di dati, corrispondenti alla larghezza di dati bit, byte, parola e doppia parola (non il tipo di dati DT e STRING). Le due variabili di ingresso e la variabile di uscita devono presentare lo stesso tipo di dati. Il valore di uscita rimane immutato e il bit BIE viene azzerato quando: • una variabile parametrizzata ha un tipo di dati inammissibile, • tutte le variabili parametrizzate tra loro non hanno lo stesso tipo di dati, • una variabile REAL non rappresenta un numero in punto mobile valido. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione G INPUT BOOL E, A, M, D, L Selettore IN0 INPUT ANY E, A, M, D, L Primo valore di ingresso IN1 INPUT ANY E, A, M, D, L Secondo valore di ingresso RET_VAL OUTPUT ANY E, A, M, D, L Valori di ingresso selezionati 26-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC 26.10 Modifica della variabile STRING Descrizione FC 2 CONCAT Con la funzione FC 2 è possibile combinare due variabili STRING in una stringa di caratteri. Se la stringa di caratteri risultante è più lunga delle variabili definite nel parametro di uscita, la stringa di caratteri risultante viene limitata alla lunghezza massima impostata e il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT STRING D, L Variabile di ingresso nel formato STRING IN2 INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT STRING D, L Stringa di caratteri combinata Per i parametri è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 4 DELETE Con la funzione FC 4 è possibile cancellare caratteri L in una stringa di caratteri a partire dal carattere P (incluso). Se L e/o P sono uguali a zero o se P è maggiore della lunghezza attuale della stringa di caratteri di ingresso, viene fornita la stringa di caratteri di ingresso. Se la somma di L e P è maggiore della stringa di caratteri di ingresso, verrà cancellato fino alla fine della stringa di caratteri. Se L e/o P sono negativi, viene emessa una stringa vuota e il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT D, L Variabile STRING in cui avviene la cancellazione STRING L INPUT INT E, A, M, D, L, Cost. Quantità dei caratteri da cancellare P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere da cancellare RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per il parametro di ingresso IN e il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-19 Funzioni IEC Descrizione FC 11 FIND Con la funzione FC 11 è possibile fornire la posizione della seconda stringa di caratteri (IN2) all´interno della prima stringa di caratteri (IN1). La ricerca comincia a sinistra; viene segnalata la comparsa della prima stringa di caratteri. Se la seconda stringa di caratteri non è presente nella prima stringa, verrà segnalato zero. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT STRING D, L Variabile STRING in cui avviene la ricerca IN2 INPUT STRING D, L Variabile STRING da cercare RET_VAL OUTPUT INT E, A, M, D, L Posizione della stringa di caratteri trovata Per i parametri di ingresso IN1 e IN2 è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 17 INSERT Con la funzione FC 17 è possibile inserire la stringa di caratteri del parametro IN2 nella stringa di caratteri del parametro IN1 dopo il carattere P. Se P è uguale a zero, la seconda stringa di caratteri viene inserita prima della prima stringa. Se P è maggiore della lunghezza attuale della prima stringa di caratteri, la seconda stringa di caratteri viene aggiunta alla prima. Se P è negativo viene emessa una stringa vuota ed il bit BIE viene azzerato. Il bit BIE viene azzerato anche quando la stringa di caratteri risultante è più lunga della variabile indicata nel parametro di uscita; in questo caso la stringa di caratteri risultante viene limitata alla lunghezza massima impostata. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT STRING D, L Variabile STRING che viene inserita IN2 INPUT STRING D, L Variabile STRING da inserire P INPUT INT E, A, M, D, L, Cost. Posizione di inserimento RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per i parametri di ingresso IN1 e IN2 e i parametri di uscita è possibile assegnare solo una variabile definita in modo simbolico. 26-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 20 LEFT Con la funzione FC 20 vengono forniti i primi caratteri L di una stringa di caratteri. Se L è maggiore della lunghezza attuale delle variabili STRING, viene fornito il valore di ingresso. In presenza di L = 0 e di una stringa vuota, come valore di ingresso viene fornita una stringa vuota. Se L è negativo viene emessa una stringa vuota e il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT STRING D, L Variabile di ingresso nel formato STRING L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte sinistra della stringa RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato STRING Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 21 LEN Una variabile STRING contiene due lunghezze: la lunghezza massima (che viene indicata in parentesi quadre durante la definizione delle variabili) e la lunghezza attuale (che è la quantità di caratteri validi momentaneamente). La lunghezza attuale è minore o uguale alla lunghezza massima. La quantità dei byte occupati da una stringa di caratteri è maggiore di 2 della lunghezza massima. Con la funzione FC 21 è possibile emettere come valore di ritorno la lunghezza attuale di una stringa di caratteri (quantità dei caratteri validi). Una stringa vuota (`') ha lunghezza zero. La lunghezza massima ammonta a 254. La funzione non segnala errori. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S INPUT STRING D, L Variabile di ingresso nel formato STRING RET_VAL OUTPUT INT E, A, M, D, L Quantità dei caratteri attuali Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-21 Funzioni IEC Descrizione FC 26 MID Con la funzione FC 26 è possibile fornire la parte centrale di una stringa di caratteri (caratteri L a partire dal carattere P incluso). Se la somma di L e P supera la lunghezza attuale delle variabili STRING, viene fornita una stringa di caratteri partendo dal carattere P fino alla fine del valore di ingresso. In tutti gli altri casi (se P si trova fuori della lunghezza attuale, se P e/o L sono uguali a zero o negativi) viene emessa una stringa vuota e il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT STRING D, L Variabile di ingresso nel formato STRING L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte centrale della stringa P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato STRING Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 31 REPLACE Con la funzione FC 31 è possibile sostituire caratteri L della prima stringa di caratteri (IN1) con la seconda stringa di caratteri (IN2) partendo dal carattere P (incluso). Se L è uguale a zero viene fornita la prima stringa di caratteri. Se P è uguale a zero o uno, la sostituzione si ha a partire dal primo carattere (incluso). Se P si trova fuori della prima stringa di caratteri, la seconda stringa di caratteri viene aggiunta alla prima. Se L e/o P sono negativi viene emessa una stringa vuota e il bit BIE viene azzerato. Il bit BIE viene azzerato anche quando la stringa di caratteri risultante è più lunga della variabile indicata nel parametro di uscita; in questo caso la stringa di caratteri risultante viene limitata alla lunghezza massima impostata. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN1 INPUT STRING D, L Variabile STRING in cui avviene l´inserimento IN2 INPUT STRING D, L Variabile STRING da inserire L INPUT INT E, A, M, D, L, Cost. Quantità dei caratteri da sostituire P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere sostituito RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per i parametri di ingresso IN1 e IN2 e il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. 26-22 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 32 RIGHT Con la funzione FC 32 è possibile fornire gli ultimi caratteri L di una stringa di caratteri. Se L è maggiore della lunghezza attuale delle variabili STRING, viene fornito il valore di ritorno. Nel caso di L = 0 e di una stringa vuota, come valore di ingresso viene fornita una stringa vuota. Se L è negativo viene emessa una stringa vuota e il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT STRING D, L Variabile di ingresso nel formato STRING L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte destra della stringa RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato STRING Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-23 Funzioni IEC 26.11 Conversione dei formati Descrizione FC 5 DI_STRNG Con la funzione FC 5 è possibile convertire in una stringa di caratteri una variabile con formato DINT. La stringa di caratteri viene rappresentata con un segno iniziale. Se la variabile indicata nel parametro di ritorno è troppo corta, non avviene alcuna conversione ed il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione I INPUT DINT E, A, M, D, L, Cost. Valore di ingresso RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 16 I_STRNG Con la funzione FC 16 è possibile convertire in una stringa di caratteri una variabile con formato INT. La stringa di caratteri viene rappresentata con un segno iniziale. Se la variabile indicata nel parametro di ritorno è troppo corta, non avviene alcuna conversione ed il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione I INPUT INT E, A, M, D, L, Cost. Valore di ingresso RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. 26-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Funzioni IEC Descrizione FC 30 R_STRNG Con la funzione FC 30 è possibile convertire in una stringa di caratteri una variabile nel formato REAL. La stringa di caratteri viene rappresentata con 14 posizioni: ±v.nnnnnnnE±xx ± segno v 1 posizione prima della virgola n 7 posizioni dopo la virgola x 2 posizioni esponenti Se la variabile indicata nel parametro di ritorno è troppo corta oppure se nel parametro IN non vi è alcun numero in punto mobile valido, non avviene alcuna conversione e il bit BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione IN INPUT REAL E, A, M, D, L, Cost. Valore di ingresso RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 37 STRNG_DI Con la funzione FC 37 è possibile convertire una stringa di caratteri in una variabile con formato DINT. Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri successivi devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri è zero o maggiore di 11 oppure si trovano caratteri inammissibili nella stringa di caratteri, non avviene alcuna conversione ed il bit BIE viene azzerato. Se il risultato della conversione si trova fuori del campo numerico DINT, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S INPUT STRING D, L Stringa di caratteri di ingresso RET_VAL OUTPUT DINT E, A, M, D, L Risultato Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 26-25 Funzioni IEC Descrizione FC 38 STRNG_I Con la funzione FC 38 è possibile convertire una stringa di caratteri in una variabile con formato INT. Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri successivi devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri è zero o maggiore di 6 oppure si trovano caratteri inammissibili nella stringa di caratteri, non avviene alcuna conversione e il bit BIE viene azzerato. Se il risultato della conversione si trova fuori del campo numerico INT, il risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S INPUT STRING D, L Stringa di caratteri risultante RET_VAL OUTPUT INT E, A, M, D, L Risultato Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico. Descrizione FC 39 STRNG_R Con la funzione FC 39 è possibile convertire una stringa di caratteri in una variabile con formato REAL. La stringa di caratteri deve essere presente nel seguente formato: ±v.nnnnnnnE±xx ± Segno v virgola 1 Posizione prima della n 7 Posizioni dopo la virgola x 2 Posizioni esponenti Se la lunghezza della stringa di caratteri è minore di 14, oppure se non è strutturata come descritto sopra, allora non avviene alcuna conversione ed il bit BIE viene azzerato. Se il risultato della conversione è fuori del campo numerico REAL, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene azzerato. Parametro Dichiarazione Tipo di dati Area di memoria Descrizione S INPUT STRING D, L Stringa di caratteri di ingresso RET_VAL OUTPUT REAL E, A, M, D, L Risultato Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico. 26-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27 SFB per la regolazione integrata 27.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C" Introduzione L'SFB/FB 41 "CONT_C" (continuous controller) serve per regolare processi tecnici con grandezze di ingresso ed uscita continuative per il sistema di automazione SIMATIC S7. Tramite la parametrizzazione è possibile inserire o disinserire funzioni parziali del regolatore PID e adattarlo così ai requisiti del sistema regolato. Uso Il regolatore può essere utilizzato come regolatore PID con setpoint fisso in regolazioni singole o a più corse ripetute come regolatore in cascata, di miscela o di rapporto. Il modo di funzionamento si basa sull'algoritmo di regolazione PID del regolatore digitale con segnale di uscita analogico, eventualmente completato da un generatore di impulsi per la generazione di segnali di uscita modulati alla durata dell'impulso per controlli a 2 o 3 punti con organi attuatori proporzionali. Avvertenza Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro CYCLE. Descrizione Oltre alle funzioni nel ramo del valore di riferimento e nel ramo del valore attuale, l'SFB realizza un regolatore PID completo con uscita continua per grandezze controllanti e possibilità di influenzamento manuale del valore controllante. Segue la descrizione delle funzioni parziali: Ramo del valore di riferimento Il valore di riferimento viene introdotto sull'ingresso SP_INT in formato di virgola mobile. Ramo del valore attuale Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione CRP_IN converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ... +100 % secondo la regola seguente: Uscita di CPR_IN = PV_PER ∗ 100 27648 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-1 SFB per la regolazione integrata La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente: Uscita di PV_NORM = (uscita di CPR_IN) ∗ PV_FAC + PV_OFF A PV_FAC è preassegnato 1 e a PV_OFF 0. Formazione della deviazione di regolazione Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una quantizzazione della grandezza controllante (ad es. con una modulazione di durata degli impulsi con PULSEGEN) la deviazione di regolazione viene condotta attraverso una zona morta (DEADBAND). Se DEADB_W = 0, la zona morta è disinserita. Algoritmo PID L'algoritmo PID opera con un algoritmo di posizione. Il componente proporzionale, integrale (INT) e differenziale (DIF) sono collegati in parallelo e possono essere inseriti o disinseriti singolarmente. In questo modo è possibile parametrizzare i regolatori P, PI, PD e PID. Anche i regolatori solo per I sono possibili. Elaborazione manuale dei valori È possibile commutare tra il funzionamento manuale e quello automatico. Con il funzionamento manuale, la grandezza controllante viene inseguita con un valore manuale. L'integratore (INT) viene impostato internamente a LMN - LMN_P - DISV e il derivatore (DIF) a 0 e quindi aggiustato internamente. La commutazione sul funzionamento automatico avviene quindi senza urti. Elaborazione del valore controllante Il valore controllante viene limitato con la funzione LMNLIMIT a valori preassegnabili. Il superamento dei limiti da parte della dimensione di ingresso viene indicato in bit di segnalazione. La funzione LMN_NORM normalizza l'uscita di LMNLIMIT secondo la regola seguente: ∗ LMN_FAC + LMN_OFF LMN = (uscita di LMNLIMIT) A LMN_FAC è preassegnato 1, a LMN_OFF 0. Il valore controllante è anche disponibile in formato di periferia. La funzione CRP_OUT trasforma il valore in virgola mobile LMN in un valore di periferia in base alla regola seguente: LMN_PER = LMN ∗ 27648 100 Inserzione segnale disturbo All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo. 27-2 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Inizializzazione L'SFB "CONT_C" dispone di una routine di inizializzazione che verrà eseguita quando il parametro di ingresso COM_RST = TRUE è impostato. Con l'inizializzazione, l'integratore viene impostato internamente sul valore di inizializzazione I_ITVAL. Con un richiamo a livello di schedulazione orologio, esso continua ad operare a partire da questo valore. Tutte le altre uscite vengono impostate sui valori preassegnati corrispondenti. Informazioni di errore La parola di segnalazione di errore RET_VAL non viene utilizzata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-3 SFB per la regolazione integrata Schema a blocchi SP_INT PVPER_ON GAIN PV_IN DEADBAND 0 CRP_IN + - PV_NORM X 1 PV_PER DEADB_W % P_SEL 1 INT 0.0 ER PV PV_FAC, PV_OFF LMN_P 0 I_SEL DISV 1 TI, INT_HOLD, I_ITL_ON, I_ITLVAL _ 0.0 _ 0 + + LMN_I DIF 1 0.0 0 TD, TM_LAG D_SEL LMN_D QLMN_HLM QLMN_LLM MAN MAN_ON 1 LMN LMN_NORM LMNLIMIT % 0 LMN_HLM, LMN_LLM 27-4 CRP_OUT LMN_PER LMN_FAC, LMN_OFF Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Parametri di ingresso La tabella seguente contiene i parametri di ingresso dell'SFB 41 "CONT_C". Parametri Tipo COM_RST BOOL Campo dei valori Preassegnazione FALSE Descrizione COMPLETE RESTART Il blocco ha una routine di inizializzazione che viene elaborata se l'ingresso COM_RST" è impostato. MAN_ON BOOL TRUE MANUAL VALUE ON / Attiva funzionamento manuale Se l'ingresso "Attiva funzionamento manuale" è impostato, il circuito di regolazione è interrotto. Come valore controllante è predefinito un valore manuale. PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERY ON / Attiva valore attuale della periferia Se il valore istantaneo deve essere letto dalla periferia, l'ingresso PV_VER deve essere collegato con la periferia e l'ingresso "Attiva valore attuale della periferia" deve essere impostato. P_SEL BOOL TRUE PROPORTIONAL ACTION ON / Attivare componente P Nell'algoritmo PID è possibile inserire e disinserire singolarmente i componenti PID. Il componente P è inserito se l'ingresso "Attivare componente P" è impostato. I_SEL BOOL TRUE INTEGRAL ACTION ON / Attiva componente I Nell'algoritmo PID è possibile inserire e disinserire singolarmente le parti PID. Il componente I è inserito se l'ingresso "Attiva componente I" è impostato. INT_HOLD BOOL FALSE INTEGRAL ACTION HOLD / Congela componente I L'uscita dell'integratore può essere congelata. A questo scopo, l'ingresso "Congela componente I" deve essere impostato. I_ITL_ON BOOL FALSE INITIALIZATION OF THE INTEGRAL ACTION / Impostare componente I L'uscita dell'integratore può essere settata sull'ingresso I_ITL_VAL. A questo scopo, l'ingresso "Impostare componente I" deve essere impostato. D_SEL BOOL FALSE DERIVATIVE ACTION ON / Attiva componente D Nell'algoritmo PID è possibile inserire e disinserire singolarmente i componenti PID. Il componente D è inserito se l'ingresso "Attiva componente D" è impostato. CYCLE TIME >= 1ms T#1s SAMPLE TIME / Tempo di campionamento Il tempo tra i richiami di blocco deve essere costante. L'ingresso "Tempo di campionamento" indica il tempo tra i richiami di blocco. SP_INT REAL -100.0...100.0 (%) o grandezza fisica 1) 0.0 INTERNAL SETPOINT / Valore prefissato interno L'ingresso "Valore prefissato interno" serve per la preimpostazione di un valore prefissato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-5 SFB per la regolazione integrata Parametri Tipo Campo dei valori Preassegnazione Descrizione PV_IN REAL -100.0...100.0 (%) 0.0 PROCESS VARIABLE IN / Ingresso valore attuale All'ingresso "Ingresso valore attuale" può essere parametrizzato un valore di messa in servizio o può essere collegato un valore attuale esterno in formato di virgola mobile. o grandezza fisica 1) PV_PER WORD W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore attuale periferia Il valore attuale nel formato della periferia viene collegato con il regolatore all'ingresso "Valore attuale periferia". MAN REAL -100.0...100.0 (%) 0.0 GAIN REAL MANUAL VALUE / Valore manuale L'ingresso "Valore manuale" serve per la preimpostazione di un valore manuale tramite la funzione di servizio e supervisione. o grandezza fisica 2) 2.0 PROPORTIONAL GAIN / Coefficiente proporzionale L'ingresso "Coefficiente proporzionale" indica l'amplificazione della regolazione. TI TIME >= CYCLE T#20s RESET TIME / Tempo di integrazione L'ingresso "Tempo di integrazione" determina il comportamento temporale dell'integratore. TD TIME T#10s >= CYCLE DERIVATIVE TIME / Tempo del derivatore L'ingresso "Tempo del derivatore" determina il comportamento temporale del derivatore. TM_LAG TIME T#2s >= CYCLE/2 TIME LAG OF THE DERIVATE ACTION / Tempo di ritardo del componente D L'algoritmo del componente D contiene un ritardo che può essere parametrizzato all'ingresso "Tempo di ritardo del componente D". DEADB_W REAL 0.0 >= 0.0 (%) LMN_HLM REAL LMN_LLM ...100.0 (%) 100.0 REAL -100.0... LMN_HLM (%) 0.0 REAL MANIPULATED VALUE LOW LIMIT / Valore controllante, limite inferiore Il valore controllante viene sempre limitato da un limite superiore e da uno inferiore. L'ingresso "Valore controllante, limite inferiore" indica il limite inferiore. o grandezza fisica 2) PV_FAC MANIPULATED VALUE HIGH LIMIT / Valore controllante, limite superiore Il valore controllante viene sempre limitato da un limite superiore e da uno inferiore. L'ingresso "Valore controllante, limite superiore" indica il limite superiore. o grandezza fisica 2) LMN_LLM DEAD BAND WIDTH / Ampiezza zona morta La deviazione di regolazione viene condotta attraverso una zona morta. L'ingresso "Ampiezza zona morta" determina la grandezza della zona morta. o grandezza fisica 1) 1.0 PROCESS VARIABLE FACTOR / Fattore del valore attuale L'ingresso "Fattore del valore attuale" viene moltiplicato con il valore attuale. L'ingresso serve per l'adattamento dell'area del valore attuale. 27-6 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Parametri Tipo PV_OFF REAL Campo dei valori Preassegnazione Descrizione 0.0 PROCESS VARIABLE OFFSET / Offset del valore attuale L'ingresso "Offset del valore attuale" viene addizionato al valore attuale. L'ingresso serve per l'adattamento dell'area del valore attuale. LMN_FAC REAL 1.0 MANIPULATED VALUE FACTOR / Fattore del valore controllante L'ingresso "Fattore del valore controllante" viene moltiplicato con il valore controllante. L'ingresso serve per l'adattamento dell'area del valore controllante. LMN_OFF REAL 0.0 MANIPULATED VALUE OFFSET / Offset del valore controllante L'ingresso "Offset del valore controllante" viene addizionato al valore controllante. L'ingresso serve per l'adattamento dell'area del valore controllante. I_ITLVAL REAL -100.0...100.0 (%) 0.0 o grandezza fisica 2) INITIALIZATION VALUE OF THE INTEGRAL ACTION / Valore di inizializzazione per il componente I L'uscita dell'integratore può essere impostata all'ingresso I_ITL_ON. All'ingresso "Valore di inizializzazione per il componente I" c'è il valore di inizializzazione. DISV REAL -100.0...100.0 (%) o grandezza fisica 2) 0.0 DISTURBANCE VARIABLE / Segnale di disturbo Per l'inserzione di un segnale di disturbo, il segnale di disturbo viene collegato all'ingresso "Segnale di disturbo". 1) Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità 2) Parametro nel ramo del valore di riferimento con la stessa unità Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-7 SFB per la regolazione integrata Parametri di uscita La tabella seguente contiene i parametri di uscita dell'SFB 41 "CONT_C". Parametri Tipo LMN REAL Campo dei valori Preassegnazione 0.0 Descrizione MANIPULATED VALUE / Valore controllante All'uscita "Valore controllante" viene emesso il valore controllante effettivo nel formato in virgola mobile. LMN_PER WORD W#16#0000 MANIPULATED VALUE PERIPHERY / Valore controllante periferia Il valore controllante nel formato periferia viene collegato con il regolatore all'uscita "Valore controllante periferia". QLMN_HLM BOOL FALSE HIGH LIMIT OF MANIPULATED VALUE REACHED / Intervento limite superiore del valore controllante Il valore controllante viene sempre limitato da un limite superiore e da uno inferiore. L'uscita "Intervento del limite superiore del valore controllante" segnala che è stato superato il limite superiore. QLMN_LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE REACHED /Intervento limite inferiore del valore controllante Il valore controllante viene sempre limitato da un limite superiore e da uno inferiore. L'uscita "Intervento del limite inferiore del valore controllante" segnala che si è al di sotto del limite inferiore. LMN_P REAL 0.0 PROPORTIONALITY COMPONENT / Componente P L'uscita "Componente P" contiene la quota proporzionale della grandezza controllante. LMN_I REAL 0.0 INTEGRAL COMPONENT / Componente I L'uscita "Componente I" contiene la quota integrale della grandezza controllante. LMN_D REAL 0.0 DERIVATIVE COMPONENT / Componente D L'uscita "Componente D" contiene la quota differenziale della grandezza controllante. PV REAL 0.0 PROCESS VARIABLE / Valore attuale Il valore attuale effettivo viene emesso all'uscita "Valore attuale". ER REAL 0.0 ERROR SIGNAL / Deviazione di regolazione Il valore efficace della deviazione di regolazione viene emesso all'uscita "Deviazione di regolazione". 27-8 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata 27.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S" Introduzione L'SFB/FB 42 "CONT_S" (step controller) serve per il controllo di processi tecnici con segnali di uscita per valori controllanti binari per organi attuatori integranti del sistema di automazione SIMATIC S7. Tramite la parametrizzazione è possibile inserire o disinserire funzioni parziali del regolatore a passi PI e adattarlo così ai requisiti del sistema regolato. Uso Il regolatore può essere utilizzato singolarmente come regolatore PI con setpoint fisso o in loop di sottoregolazione come regolatore in cascata, di miscela o di rapporto, ma non come regolatore pilota. Il modo di funzionamento si basa sull'algoritmo di regolazione PI del regolatore digitale a campionamento e viene completato dagli organi di funzione per la generazione del segnale di uscita binario dal segnale di regolazione analogico. Dalla V1.5 dell'FB e dalla V1.1.0 della CPU 314 IFM vale quanto segue: Con TI = T#0ms è possibile disattivare il componente I del regolatore. In questo modo il blocco può essere utilizzato come regolatore P. Poiché il regolatore lavora senza segnalazione di risposta di posizione, la grandezza di regolazione impostata internamente non coincide esattamente con la posizione del regolatore. Viene effettuato un confronto quando la grandezza (ER * GAIN) diventa negativa. Quindi il regolatore imposta l'uscita QLMNDN (segnale del valore di regolazione basso) finché viene impostato LMNR_LS (segnale di arresto inferiore della segnalazione di risposta di posizione). Il regolatore può anche essere impiegato in una struttura a cascata come regolatore sottoordinato. Attraverso l'ingresso del valore di riferimento SP_INT viene predefinita la posizione del regolatore. In questo caso l'ingresso del valore attuale e il parametro TI (tempo di integrazione) vengono azzerati. Un esempio di applicazione pratica è p. es. la regolazione della temperatura con regolazione della potenza calorifica tramite comando impulso-pausa e regolazione della potenza di raffreddamento tramite una valvola a farfalla. Per chiudere completamente la valvola, la grandezza di regolazione (ER * GAIN) dovrebbe diventare negativa. Avvertenza Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro CYCLE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-9 SFB per la regolazione integrata Descrizione Oltre alle funzioni nel ramo del valore attuale, l'SFB realizza un regolatore PI completo con uscita binaria per valori controllanti e possibilità di influenzamento manuale del valore controllante. Il regolatore a passi opera senza segnalazione di risposta di posizione. Sono disponibili le seguenti funzioni parziali: Ramo del valore di riferimento Il valore di riferimento viene introdotto sull'ingresso SP_INT nel formato in virgola mobile. Ramo del valore attuale Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione CRP_IN converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ... +100 % secondo la regola seguente: Uscita di CPR_IN = PV_PER ∗ 100 27648 La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente: Uscita di PV_NORM = (uscita di CPR_IN) ∗ PV_FAC + PV_OFF A PV_FAC è preassegnato 1 e a PV_OFF 0. Formazione della deviazione di regolazione Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una quantizzazione della grandezza controllante una risoluzione limitata del valore controllante tramite la valvola di regolazione) la deviazione di regolazione viene condotta attraverso una zona morta (DEADBAND). Se DEADB_W = 0, la zona morta è disinserita. Algoritmo di passo PI L'SFB lavora senza segnalazione di risposta di posizione. Il componente I dell'algoritmo PI e la segnalazione di risposta di posizione prevista vengono calcolati in un unico integratore (INT) e confrontati sotto forma di valore di ritorno con il componente P rimasto. La differenza va ad un regolatore a tre punti (THREE_ST) e un generatore di impulsi (PULSEOUT) che genera gli impulsi per la valvola di regolazione. La frequenza delle manovre del regolatore viene ridotta mediante un adattamento della soglia di risposta del regolatore a 3 punti. Inserzione segnale disturbo All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo. Inizializzazione L'SFB "CONT_S" dispone di una routine di inizializzazione che verrà eseguita quando il parametro di ingresso COM_RST = TRUE è impostato. Tutte le uscite vengono impostate ai valori preassegnati corrispondenti. Informazioni di errore La parola di segnalazione di errore RET_VAL non viene utilizzata. 27-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Schema a blocchi SP_INT PVPER_ON GAIN PV_IN DEADBAND + - 0 CRP_IN PV_NORM X 1 PV_PER DEADB_W % ER PV PV_FAC PV_OFF INT LMNR_HS LMNLIMIT LMNR_SIM LMNR_LS 100.0 , 0.0 LMNRS_ON, LMNRSVAL LMNUP LMNDN LMNS_ON PULSEOUT 1 DISV THREE_ST 0 adapt 1 + PULSE_TM, BREAK_TM 0 MTR_TM QLMNDN AND AND - QLMNUP AND AND 1 100.0 0 0.0 1 -100.0 + 0 0.0 OR LMNS_ON 1 1/TI 0.0 X + INT 0 0.0 X 1/MTR_TM 1 - 0 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-11 SFB per la regolazione integrata Parametri di ingresso La tabella seguente contiene i parametri di ingresso dell'SFB 42 "CONT_S". Parametri Tipo COM_RST BOOL Campo dei valori Preassegnazione FALSE Descrizione COMPLETE RESTART Il blocco ha una routine di inizializzazione che viene elaborata se l'ingresso "Nuovo avviamento" è impostato. LMNR_HS BOOL FALSE HIGH LIMIT SIGNAL OF REPEATED MANIPULATED VALUE / Segnale di arresto superiore della segnalazione di risposta di posizione Il segnale "Valvola di regolazione al limite superiore" viene collegato all'ingresso "Segnale di arresto superiore della segnalazione di risposta di posizione". LMNR_HS = TRUE vuol dire: la valvola di regolazione si trova al limite superiore. LMNR_LS BOOL FALSE LOW LIMIT SIGNAL OF REPEATED MANIPULATED VALUE / Segnale di arresto inferiore della segnalazione di risposta di posizione Il segnale "Valvola di regolazione al limite inferiore" viene collegato all'ingresso "Segnale di arresto inferiore della segnalazione di risposta di posizione". LMNR_LS = TRUE vuol dire: la valvola di regolazione si trova al limite inferiore. LMNS_ON BOOL TRUE MANIPULATED SIGNALS ON / Inserire funzionamento manuale dei segnali del valori controllante All'ingresso "Funzionamento manuale dei segnali del valore controllante" l'elaborazione dei segnali del valore controllante viene commutata sul funzionamento manuale. LMNUP BOOL FALSE MANIPULATED SIGNALS UP / Segnale del valore controllante, alto Nel funzionamento manuale dei segnali del valore controllante, il segnale di uscita QLMNUP viene comandato all'ingresso "Segnale del valore controllante, alto". LMNDN BOOL FALSE MANIPULATED SIGNALS DOWN / Segnale del valore controllante, basso Nel funzionamento manuale dei segnali del valore controllante, il segnale di uscita QLMNDN viene comandato all'ingresso "Segnale del valore controllante, basso". PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERY ON / Attivare valore attuale della periferia Se il valore attuale deve essere letto dalla periferia, l'ingresso PV_VER deve essere collegato con la periferia e l'ingresso "Attiva valore attuale della periferia" deve essere impostato. CYCLE TIME >= 1ms T#1s SAMPLE TIME / Tempo di campionamento Il tempo tra i richiami di blocco deve essere costante. L'ingresso "Tempo di campionamento" indica il tempo tra i richiami di blocco. 27-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Parametri Tipo Campo dei valori Preassegnazione Descrizione SP_INT REAL -100.0...100.0 (%) 0.0 INTERNAL SETPOINT / Valore di riferimento interno o grandezza fisica 1) L'ingresso "Valore di riferimento interno" serve per la preimpostazione di un valore di riferimento. PV_IN REAL -100.0...100.0 (%) 0.0 PV_PER WORD PROCESS VARIABLE IN / Ingresso valore attuale All'ingresso "Ingresso valore attuale" può essere parametrizzato un valore di messa in servizio o può essere collegato un valore attuale esterno in formato di virgola mobile. o grandezza fisica 1 W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore attuale periferia Il valore attuale nel formato della periferia viene collegato con il regolatore all'ingresso "Valore attuale periferia". GAIN REAL 2.0 PROPORTIONAL GAIN / Coefficiente proporzionale L'ingresso "Coefficiente proporzionale" indica l'amplificazione della regolazione. TI TIME >= CYCLE T#20s RESET TIME / Tempo di integrazione L'ingresso "Tempo di integrazione" determina il comportamento temporale dell'integratore. DEADB_W REAL 0.0...100.0 (%) 1.0 La deviazione di regolazione viene condotta attraverso una zona morta. L'ingresso "Ampiezza zona morta" determina la grandezza della zona morta. o grandezza fisica 1 PV_FAC REAL DEAD BAND WIDTH / Ampiezza zona morta 1.0 PROCESS VARIABLE FACTOR / Fattore del valore attuale L'ingresso "Fattore del valore attuale" viene moltiplicato con il valore attuale. L'ingresso serve per l'adattamento dell'area del valore attuale. PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset del valore attuale L'ingresso "Offset del valore attuale" viene addizionato al valore attuale. L'ingresso serve per l'adattamento dell'area del valore attuale. PULSE_TM TIME >= CYCLE T#3s MINIMUM PULSE TIME / Durata minima dell'impulso Sul parametro "Durata minima dell'impulso" può essere parametrizzata una lunghezza minima dell'impulso. BREAK_TM TIME >= CYCLE T#3s MINIMUM BREAK TIME / Durata minima della pausa Sul parametro "Durata minima della pausa" può essere parametrizzata una lunghezza minima per una pausa. MTR_TM TIME >= CYCLE T#30s MOTOR MANIPULATED VALUE / Tempo di regolazione motore Al parametro "Tempo di regolazione motore" viene registrato il tempo di esecuzione della valvola di regolazione da picco a picco. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-13 SFB per la regolazione integrata Parametri Tipo Campo dei valori Preassegnazione Descrizione DISV REAL -100.0...100.0 (%) 0.0 DISTURBANCE VARIABLE / Segnale di disturbo o grandezza fisica 2 Per l'inserzione di un segnale di disturbo, il segnale di disturbo viene collegato all'ingresso "Segnale di disturbo". 1) Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità 2) Parametro nel ramo del valore controllante con la stessa unità 27-14 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Parametri di uscita La tabella seguente contiene i parametri di uscita dell'SFB 42 "CONT_S". Parametri Tipo QLMNUP BOOL Campo dei valori Preassegnazione Descrizione FALSE MANIPULATED SIGNAL UP / Segnale del valore controllante, alto Se l'uscita "Segnale controllante, alto" è impostata, la valvola di regolazione deve essere aperta. QLMNDN BOOL FALSE MANIPULATED SIGNAL DOWN / Segnale del valore controllante, basso Se l'uscita "Segnale controllante, basso" è impostata, la valvola di regolazione deve essere chiusa. PV REAL 0.0 PROCESS VARIABLE / Valore attuale Il valore efficace attuale viene emesso all'uscita "Valore attuale". ER REAL 0.0 ERROR SIGNAL / Deviazione di regolazione Il valore efficace della deviazione di regolazione viene emesso all'uscita "Deviazione di regolazione". Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-15 SFB per la regolazione integrata 27.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN" Introduzione L'SFB/FB 43 "PULSEGEN" (pulse generator) serve per la creazione di un regolatore PID con uscita a impulsi per organi attuatori proporzionali. Il manuale elettronico è disponibile in Avvio > Simatic > Documentazione > Italiano > STEP 7-PID Control Uso Con l'SFB "PULSEGEN" è possibile creare regolatori PID a 2 o 3 punti con modulazione della durata di impulso. La funzione viene usata di solito in collegamento con il regolatore continuo "CONT_C". PULSEGEN CONT_C LMN INV Avvertenza Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro CYCLE. 27-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Descrizione La funzione PULSEGEN trasforma la grandezza di ingresso INV (= LMN del regolatore PID) tramite modulazione della durata degli impulsi in una sequenza di impulsi con periodo costante che corrisponde al tempo di ciclo con cui viene aggiornata la grandezza di ingresso e che deve essere parametrizzata in PER_TM. La durata di un impulso per periodo è proporzionale alla grandezza di ingresso. Il ciclo parametrizzato tramite PER_TM non è uguale al ciclo di elaborazione dell'SFB_"PULSEGEN". Infatti, un ciclo PER_TM è formato da più cicli di elaborazione dell'SFB "PULSEGEN" e il numero dei richiami dell'SFB "PULSEGEN" per ciclo PER_TM rappresenta il grado di precisione della modulazione della durata dell'impulso. INV (LMN) 100 80 50 50 30 t 0 QPOS_P 1 t 0 Ciclo PULSEGEN (=Ciclo CONT_C) PER_TM Una grandezza di ingresso 30% e 10 richiami SFB "PULSEGEN" per ogni PER_TM significano perciò: • "uno" sull'uscita QPOS per i primi tre richiami dell'SFB "PULSEGEN (30% di 10 richiami) • "zero" sull'uscita QPOS per sette altri richiami dell'SFB "PULSEGEN" (70% di 10 richiami) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-17 SFB per la regolazione integrata Schema a blocchi POS_P_ON NEG_P_ON SYN_ON STEP3_ON ST2BI_ON MAN_ON 1 # INV _ _ _ _ _ _ QPOS_P QNEG_P 0 PER_TM, P_B_TM, RATIOFAC Precisione del valore controllante In questo esempio, a causa di un "rapporto di campionamento" di 1:10 (richiami CONT_C rispetto richiami PULSEGEN) la precisione del valore controllante è limitata al 10%, cioè, i valori di ingresso preassegnati INV possono essere riportati all'uscita QPOS a griglia del 10% rispetto alla lunghezza dell'impulso. In maniera conforme, il grado di precisione aumenta con il numero dei richiami SFB "PULSEGEN" per ogni richiamo CONT_C. Se ad esempio, PULSEGEN viene richiamato 100 volte più spesso di CONT_C, si raggiunge una risoluzione dell'1% dell'area del valore controllante. Avvertenza La scansione della frequenza di richiamo deve essere programmata dall'utente. 27-18 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Sincronizzazione automatica Sussiste la possibilità di sincronizzare automaticamente l'emissione degli impulsi con il blocco che aggiorna la grandezza di ingresso INV (ad esempio CONT_C). In questo modo si garantisce il fatto che una grandezza di ingresso che cambia venga emessa al più presto possibile come impulso. Il generatore di impulsi valuta sempre nell'intervallo di tempo del periodo PER_TM la grandezza di ingresso INV e converte il valore in un segnale di impulso della lunghezza corrispondente. Dato però che INV di solito viene calcolato in un livello di schedulazione orologio più lento, il generatore di impulsi dovrebbe cominciare al più presto dopo l'aggiornamento di INV con la conversione del valore digitale in un segnale di impulso. Il blocco può sincronizzare l'inizio del periodo secondo il seguente procedimento: se INV è modificato e il richiamo di blocco non si trova né nel primo né negli ultimi due cicli di richiamo di un periodo, la sincronizzazione viene eseguita. La durata dell'impulso viene calcolata di nuovo e si comincia con l'emissione al prossimo ciclo con un nuovo periodo. LMN = INV = 30.0 LMN = INV = 80.0 LMN = INV = 50.0 L'elaborazione di CONT_C .... t Ciclo di CONT_C Start periodo 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 .... t PER_TM CICLO di PULSEGEN Sincronizzazione dello start periodo PULSEGEN identifica: INV è cam biato e il richiamo non si trova nel primo o negli ultimi due cicli del pe riodo Elaborazione di PULSEGEN PER_TM Nessuna sincronizzazione necessaria PULSEGEN identifica: INV è cambiato in 80.0 o 50.0 e il richiamo si trova nel primo o negli ultimi due cicli del periodo Elaborazione di PULSEGEN nel primo o negli ultimi due cicli del periodo La sincronizzazione automatica può essere disinserita all'ingresso "SYN_ON" (=FALSE). Avvertenza Con l'inizio del nuovo periodo, il vecchio valore di INV (cioè di LMN) viene riportato a sincronizzazione terminata più o meno esattamente al segnale di impulso. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-19 SFB per la regolazione integrata Tipi di funzionamento A seconda della parametrizzazione del generatore di impulsi, i regolatori PID possono essere configurati a tre punti o con un'uscita a due punti bipolare o unipolare. La tabella seguente illustra l'impostazione delle combinazioni degli interruttori per i vari tipi di funzionamento possibili. Tipo di funzionamento MAN_ON STEP3_ON ST2BI_ON Regolazione a tre punti FALSE TRUE a scelta Regolazione a due punti con area di regolazione bipolare (-100% ... +100%) FALSE FALSE TRUE Regolazione a due punti con area di regolazione unipolare (0% ... +100%) FALSE FALSE FALSE Funzionamento manuale TRUE a scelta a scelta Regolazione a tre punti Nel tipo di funzionamento "Regolazione a tre punti", possono essere creati tre stati del segnale di regolazione. A questo scopo, i valori di stato dei segnali binari di uscita QPOS_P e QNEG_P vengono attribuiti ai relativi stati di funzionamento dell'organo attuatore: la tabella illustra l'esempio di una regolazione di temperatura: Segnali di uscita Riscaldamento off Raffreddamento QPOS_P TRUE FALSE FALSE QNEG_P FALSE FALSE TRUE Dalla grandezza di ingresso viene calcolata la durata dell'impulso mediante una curva caratteristica. La forma di questa curva caratteristica viene definita dalla durata minima dell'impulso ovvero dalla durata della pausa e dal fattore di rapporto. Il valore normale per il fattore di rapporto è 1. Le flessioni sulle curve caratteristiche sono causate dalla durata minima dell'impulso o della pausa. Durata minima dell'impulso o della pausa Se la durata minima dell'impulso o della pausa P_B_TM è parametrizzata in modo corretto, è possibile evitare tempi di attivazione e disattivazione brevi, i quali compromettono la durata di attività di organi comando e dispositivi di regolazione. Avvertenza I valori assoluti di piccola entità della grandezza di ingresso LMN, i quali potrebbero generare una durata dell'impulso minore di P_B_TM vengono soppressi. I valori di ingresso di grande entità invece, che potrebbero generare una durata dell'impulso maggiore di PER_TM - P_B_TM), vengono impostati a 100% o -100%. 27-20 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata La durata degli impulsi positivi o negativi si calcola dalla grandezza di ingresso (in %) moltiplicata per il periodo: Dur. dell'impulso INV 100 = ∗ PER_TM La figura sottostante illustra una linea caratteristica simmetrica del regolatore a tre punti (fattore proporzionale = 1). Durata dell'impulso positivo On permanente PER_TM PER_TM - P_B_TM P_B_TM -100 % 100 % Off permanente Durata dell'impulso negativo Regolazione a tre punti, asimmetrica Il rapporto della durata degli impulsi positivi rispetto a quelli negativi può essere modificata tramite il fattore di rapporto RATIOFAC. In caso di un processo termico ad esempio, è possibile tener conto di costanti di tempo del sistema regolato differenti per il riscaldamento e il raffreddamento. Il fattore di rapporto influenza anche la durata minima dell'impulso e della pausa. Un fattore di rapporto < 1 significa che il valore di intervento per gli impulsi negativi viene moltiplicato con il fattore di rapporto. Fattore di rapporto < 1 La durata dell'impulso all'uscita negativa calcolata dalla grandezza di ingresso moltiplicata per il periodo viene ridotta del fattore di rapporto (vedere figura seguente). Dur. dell'impulso pos. = Dur. dell'impulso neg. = INV 100 INV 100 ∗ PER_TM ∗ PER_TM ∗ RATIOFAC Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-21 SFB per la regolazione integrata La figura sottostante illustra una linea caratteristica asimmetrica del regolatore a tre punti (fattore proporzionale = 0.5). Durata dell'impulso positivo PER_TM PER_TM – P_B_TM P_B_TM -200% P_B_TM 100% PER_TM – P_B_TM PER_TM Durata dell'impulso negativo Fattore di rapporto > 1 La durata dell'impulso all'uscita positiva calcolata dalla grandezza di ingresso moltiplicata per il periodo viene ridotta del fattore di rapporto: Dur. dell'impulso neg. = Dur. dell'impulso pos. = INV 100 INV 100 ∗ PER_TM ∗ PER_TM RATIOFAC Regolazione a due punti Con la regolazione a due punti viene collegata solo l'uscita a impulso QPOS_P di PULSEGEN con il relativo l'organo attuatore di accensione/spegnimento. A seconda dell'area del valore controllante utilizzata, il regolatore a due punti ha un'area del valore controllante bipolare o unipolare. Regolazione a due punti con area del valore controllante bipolare (-100%...100%) Durata dell'impulso positivo On permanente PER_TM PER_TM - P_B_TM Off permanente P_B_TM -100.0 % 27-22 0.0 % 100.0 % Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Regolazione a due punti con area del valore controllante unipolare (0%...100%) Durata dell'impulso positivo PER_TM PER_TM - P_B_TM P_B_TM 100.0 % 0.0 % QNEG_P ha a disposizione il segnale di uscita negato, se il collegamento del regolatore a due punti nel loop di regolazione richiede un segnale binario logico inverso per gli impulsi di regolazione. Impulso Organo attuatore On Off QPOS_P QNEG_P TRUE FALSE FALSE TRUE Funzionamento manuale per la regolazione a due o tre punti Con il funzionamento manuale (MAN_ON = TRUE), è possibile impostare le uscite binarie del regolatore a due o tre punti mediante i segnali POS_P_ON e NEG_P_ON indipendentemente da INV. Regolazione POS_P_ON NEG_P_ON QPOS_P QNEG_P Regolazione a tre punti FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE a scelta FALSE TRUE TRUE a scelta TRUE FALSE Regolazione a due punti Inizializzazione L'SFB "PULSEGEN" dispone di una routine di inizializzazione che verrà eseguita quando il parametro di ingresso COM_RST = TRUE è impostato. Tutte le uscite di segnale vengono impostate a zero. Informazioni di errore La parola di segnalazione di errore RET_VAL non viene utilizzata. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-23 SFB per la regolazione integrata Parametri di ingresso Parametri Tipo Campo dei valori Preassegnazione INV REAL -100.0...100.0 (%) 0.0 Descrizione INPUT VARIABLE / Variabile di ingresso Al parametro di ingresso "Variabile di ingresso" viene inserita una grandezza analogica del valore controllante. PER_TM TIME >=20*CYCLE T#1s PERIOD TIME / Periodo Al parametro di ingresso "Periodo" viene introdotto il periodo costante della modulazione di durata dell'impulso. Questa corrisponde al tempo di campionamento del regolatore. Il rapporto tra il tempo di campionamento del generatore di impulsi e il tempo di campionamento del regolatore determina la precisione della modulazione di durata dell'impulso. P_B_TM TIME >= CYCLE T#0ms MINIMUM PULSE/BREAK TIME / Durata minima dell'impulso o della pausa Sul parametro di ingresso "Durata minima dell'impulso o della pausa" può essere parametrizzata una lunghezza minima di impulso o di pausa. RATIOFAC REAL 0.1 ...10.0 1.0 RATIO FACTOR / fattore di rapporto Con il parametro di ingresso "Fattore di rapporto" è possibile modificare il rapporto della durata di impulsi negativi in impulsi positivi. In un processo termico è possibile compensare differenti costanti di tempo per uso riscaldamento o raffreddamento (ad esempio, un processo con riscaldamento elettrico e raffreddamento ad acqua). STEP3_ON BOOL TRUE THREE STEP CONTROL ON / Inserire regolazione a tre punti Sul parametro di ingresso "Inserire regolazione a tre punti" viene attivato il tipo di funzionamento corrispondente. Con la regolazione a tre punti sono operativi entrambi i segnali di uscita. ST2BI_ON BOOL FALSE TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON / Inserire regolazione a due punti per area bipolare del valore controllante Al parametro di ingresso "Inserire regolazione a due punti per area bipolare del valore controllante" si può scegliere tra il tipo di funzionamento "Regolazione a due punti per area bipolare del valore controllante" e "Regolazione a due punti per area unipolare del valore controllante". Qui deve essere STEP3_ON = FALSE. MAN_ON BOOL FALSE MANUAL MODE ON / Inserire funzionamento manuale Con l'impostazione del parametro di ingresso "Inserire funzionamento manuale" è possibile impostare manualmente i segnali di uscita. 27-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Parametri Tipo Campo dei valori POS_P_ON BOOL Preassegnazione Descrizione FALSE POSITIVE PULSE ON / Inserimento impulso positivo Con il funzionamento manuale regolazione a tre punti, è possibile controllare sul parametro di ingresso "Inserimento impulso positivo" il segnale di uscita QPOS_P . Con il funzionamento manuale regolazione a due punti, QNEG_P viene impostato sempre inverso a QPOS_P. NEG_P_ON BOOL FALSE NEGATIVE PULSE ON / Inserimento impulso negativo Con il funzionamento manuale regolazione a tre punti, è possibile controllare sul parametro di ingresso "Inserimento impulso negativo" il segnale di uscita QNEG_P. Con il funzionamento manuale regolazione a due punti, QNEG_P viene impostato sempre inverso a QPOS_P. SYN_ON BOOL TRUE SYNCHRONISATION ON / Inserire sincronizzazione Con l'impostazione del parametro di ingresso "Inserire sincronizzazione", sussiste la possibilità di sincronizzare automaticamente l'emissione degli impulsi con il blocco che aggiorna la grandezza di ingresso INV. In questo modo si garantisce che una grandezza di ingresso che cambia venga emessa al più presto possibile come impulso. COM_RST BOOL FALSE COMPLETE RESTART Il blocco ha una routine di inizializzazione che viene elaborata se l'ingresso COM_RST è impostato. CYCLE TIME >= 1ms T#10ms SAMPLE TIME / Tempo di campionamento Il tempo tra i richiami di blocco deve essere costante. L'ingresso "Tempo di campionamento" indica il tempo tra i richiami di blocco. Avvertenza Nel blocco, i valori dei parametri di ingresso non vengono limitati. Non ha luogo una verifica dei parametri. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-25 SFB per la regolazione integrata Parametri di uscita Parametri Tipo QPOS_P BOOL Campo dei valori Preassegnazione Descrizione FALSE OUTPUT POSITIVE PULSE / Segnale di uscita impulso positivo Se deve essere emesso un impulso, il parametro di uscita "Segnale di uscita impulso positivo" è impostato. Con la regolazione a tre punti si tratta dell'impulso positivo. Con la regolazione a due punti, QNEG_P viene impostato sempre inverso a QPOS_P. QNEG_P BOOL FALSE OUTPUT NEGATIVE PULSE / Segnale di uscita impulso negativo Se deve essere emesso un impulso, il parametro di uscita "Segnale di uscita impulso negativo" è impostato. Con la regolazione a tre punti si tratta dell'impulso negativo. Con la regolazione a due punti, QNEG_P viene impostato sempre inverso a QPOS_P. 27-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata 27.4 Esempio con un blocco PULSEGEN Loop di regolazione Con il regolatore continuo CONT_C ed il generatore di impulsi PULSEGEN può essere realizzato un regolatore con setpoint fisso con uscita a commutazione per organi attuatori proporzionali. La figura seguente descrive lo svolgimento principale del segnale del loop di regolazione. CONT_C PULSEGEN LMN INV QPOS_P QNEG_P PV_PER Percorso con uscita a commutazione Il regolatore continuo CONT_C costituisce il valore controllante LMN che viene convertito dal generatore di impulsi PULSEGEN in segnali di impulso e di pausa QPSO_P oppure QNEG_P. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-27 SFB per la regolazione integrata Richiami di blocco e collegamento Il regolatore con setpoint fisso con uscita a commutazione per organi attuatori proporzionali PULS_CTR è costituito dai blocchi CONT_C e PULSEGEN. Il richiamo del blocco è realizzato in modo che CONT_C venga richiamato ogni 2 s (=CYCLE*RED_FAC) e PULSEGEN ogni 10 ms (=CYCLE). Il tempo del ciclo dell'OB 35 è impostato su 10 ms. È possibile osservare il collegamento nella figura seguente. Al nuovo avviamento (avviamento a caldo) il blocco PULS_CTR viene richiamato nell'OB 100 e l'ingresso COM_RST viene impostato su TRUE. OB 100 (Nuovo avviamento) OB 35 (10ms) TRUE (OB 100) FALSE (OB35) T#10 200 PULS_CTR, DPULS_CTR FB 50, DB 50 COM_RST CYCLE RED_FAC PULS_CTR, DPULS_CTR FB 50, DB 50 COM_RST CYCLE RED_FAC CONT_C PULSEGEN COM_RST SP_INT PV_PER CYCLE COM_RST CYCLE SP_INT PER_TM PV_PER QPOS_P QPOS_P LMN INV Al richiamo di CONT_C ridotto di RED_FAC 27-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per la regolazione integrata Programma AWL dell'FB PULS_CTR Indirizzo Dichiarazione Nome Tipo Commento 0.0 in SP_INT REAL Valore di riferimento 4.0 in PV_PER WORD Periferia valore attuale 6.0 in RED_FAC INT Fattore di riduzione richiamo 8.0 in COM_RST BOOL Nuovo avviamento 10.0 in CYCLE TIME Tempo di campionamento 14.0 out QPOS_P BOOL Segnale di regolazione 16.0 stat DI_CONT_C FB-CONT_C Contatore 142.0 stat DI_PULSEGEN FB-PULSEGEN 176.0 stat sCount INT Contatore 0.0 temp tCycCtr TIME Tempo di campionamento del regolatore AWL Spiegazione U SPBN L T M001: L Contatore #COM_RST M001 0 #sCount //Calcolo del tempo di campionamento della regolazione #CYCLE L //Routine di inizializzazione #RED_FAC *D T #tCycCtr L #sCount L 1 //Diminuzione del contatore e confronto con zero -I T #sCount L 0 <=I M002: L SPBN M002 CALL #DI_CONT_C COM_RST :=#COM_RST CYCLE :=#tCycCtr SP_INT :=#SP_INT PV_PER :=#PV_PER L #RED_FAC T #sCount /Richiamo di blocco condizionato e impostazione del contatore #DI_CONT_C.LMN T #DI_PULSEGEN.INV CALL #DI_PULSEGEN PER_TM :=#tCycCtr COM_RST :=#COM_RST CYCLE :=#CYCLE QPOS_P :=#QPOS_P BE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 27-29 SFB per la regolazione integrata 27-30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28 SFB per CPU compatte 28.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico" Descrizione Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB ANALOG (SFB 44). Un'uscita analogica assegnata in modo fisso comanda la parte di potenza con una tensione (segnale di tensione) di ±10 V o con una corrente (segnale di corrente) di ±20 mA. • Una volta conclusa la fase di accelerazione (RAM_UP), il traguardo viene avvicinato dapprima con la velocità (VRif). • Nel punto di inizio frenatura calcolato dalla CPU, il ritardo (RAMP_DN) viene introdotto fino al punto di commutazione. • Appena raggiunto il punto di commutazione, il movimento prosegue con l'avanzamento lento (VLenta). • Nel punto di disinserzione l'azionamento viene disattivato. • Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da avvicinare, attraverso i valori differenza di commutazione e differenza di disinserzione predefiniti dall'utente nei parametri. La differenza di commutazione e quella di disinserzione possono essere definite diversamente per la corsa in avanti (direzione +) e all'indietro (direzione -). • La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione. A partire da questo momento può iniziare una nuova corsa. • Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della posizione ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia nuovamente la zona del traguardo senza avvio di una nuova corsa, il segnale "Posizione raggiunta" non viene nuovamente resettato. Se la differenza di commutazione è minore della differenza di disinserzione, a partire dal punto di inizio frenatura, il ritardo sarà lineare fino al valore di riferimento 0 della velocità. Parametri di base: Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento. I parametri specifici per modo di funzionamento sono descritti nei singoli modi di funzionamento. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-1 SFB per CPU compatte Parametri: Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione LADDR INPUT 0 Specifico della CPU W#16#0310 Indirizzo E/A del proprio sotto-modulo, definito dall'utente in "Configurazione HW". WORD Se gli indirizzi E e A non sono uguali, indicare il più piccolo dei due. CHANNEL INPUT INT 2 0 0 Numero di canale STOP INPUT BOOL 4.4 TRUE/FALSE FALSE Arresto della corsa Con STOP = TRUE è possibile terminare/ interrompere la corsa anticipatamente. ERR_A INPUT BOOL 4.5 TRUE/FALSE FALSE Conferma cumulativa errore esterno Con ERR_A = TRUE vengono confermati errori esterni. SPEED INPUT DINT 12 Avanzamento lento fino a 1 000 000 impulsi/s 1000 Non è possibile modificare la velocità durante la corsa. Al massimo fino alla velocità massima parametrizzata WORKING OUTPUT BOOL 16.0 ACT_POS OUTPUT DINT 18 TRUE/FALSE Da -5x10 8 a L'asse viene accelerato fino alla velocità "VRif". FALSE Corsa in atto 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato 8 +5x10 impulsi MODE_OUT 28-2 OUTPUT INT 22 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) ERR OUTPUT 24 WORD Campo di valori Preassegnazione Ogni bit 0 0o1 Descrizione Errori esterni: Bit 2: controllo tacca di zero Bit 11: controllo del campo corsa (sempre 1) Bit 12: controllo del campo di lavoro Bit 13: controllo della quota reale Bit 14: controllo dell'approssimazione al traguardo Bit 15: controllo della zona del traguardo Restanti bit riservati ST_ENBLD OUTPUT BOOL 26.0 TRUE/FALSE TRUE La CPU imposta l'abilitazione all'avvio se vengono soddisfatti tutti i seguenti presupposti: • Non vi è uno STOP (STOP = FALSE) • Non vi sono errori esterni (ERR = 0) • È impostata l'abilitazione dell'azionamento (DRV_EN = TRUE • Non vi sono posizionamenti in corso (WORKING = FALSE) ERROR OUTPUT BOOL 26.1 TRUE/FALSE FALSE Errore di avvio/continuazione di una corsa STATUS OUTPUT WORD 28.0 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-3 SFB per CPU compatte Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione ACCEL STATIC 30 Da 1 a 100 000 100 DINT impulsi/s DECEL STATIC DINT 34 CHGDIFF_P STATIC DINT 38 2 100 Ritardo Impossibile da modificare durante la corsa. 2 Da 0 a +10 impulsi Accelerazione Impossibile da modificare durante la corsa. Da 1 a 100 000 impulsi/s Descrizione 8 1000 Differenza di commutazione +: La "differenza di commutazione +" definisce il punto di commutazione nel quale l'azionamento si muove in avanti con marcia lenta. CUTOFFDIFF_P STATIC DINT 42 Da 0 a +10 impulsi 8 100 Differenza di disinserzione +: La "differenza di disinserzione +" definisce il punto di disinserzione nel quale l'azionamento si muove in avanti con marcia lenta. CHGDIFF_M STATIC DINT 46 Da 0 a +10 impulsi 8 1000 Differenza di commutazione -: La "differenza di commutazione -" definisce il punto di commutazione nel quale l'azionamento si muove all'indietro con marcia lenta. CUTOFFDIFF_M STATIC DINT 50 Da 0 a +10 impulsi 8 100 Differenza di disinserzione -: La "differenza di disinserzione -" definisce il punto di disinserzione nel quale l'azionamento si muove all'indietro con marcia lenta. PARA 28-4 STATIC BOOL 54.0 TRUE/FALSE FALSE Asse parametrizzato Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori DIR STATIC 54.1 TRUE/FALSE FALSE BOOL Preassegnazione Descrizione Attuale/ultima direzione dello spostamento FALSE = in avanti (direzione +) TRUE = all'indietro (direzione -) CUTOFF STATIC BOOL 54.2 TRUE/FALSE FALSE Azionamento nella zona di disinserzione (dal punto di disinserzione fino all'avvio della corsa successiva) CHGOVER STATIC BOOL 54.3 TRUE/FALSE FALSE Azionamento nella zona di commutazione (dal raggiungimento dell'avanzamento lento fino all'avvio della corsa successiva) RAMP_DN STATIC BOOL 54.4 TRUE/FALSE FALSE L'azionamento viene ritardato (dal punto di inizio frenatura fino al punto di commutazione) RAMP_UP STATIC BOOL 54.5 TRUE/FALSE FALSE L'azionamento viene accelerato (dall'avvio al raggiungimento della velocità SPEED (VRif)) DIST_TO_ STATIC DINT 56 GO LAST_TRG Da -5x10 8 a 0 Attuale percorso restante 0 Ultimo/attuale traguardo 8 +5x10 impulsi STATIC DINT 60 Da -5x10 8 a 8 +5x10 impulsi Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 • Spostamento incrementale assoluto: con l'avvio della corsa, LST_TRG = traguardo attuale assoluto (TARGET). • Spostamento incrementale relativo: con l'avvio della corsa, LST_TRG = LAST_TRG della corsa precedente +/percorso indicato (TARGET). 28-5 SFB per CPU compatte Parametri per il modo di funzionamento "A impulsi" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE A impulsi, direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE A impulsi, direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 1 = a impulsi WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto ACT_POS OUTPUT DINT 18 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da -5x10 8 a 8 +5x10 impulsi MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 Parametri per il modo di funzionamento "Ricerca del punto di zero" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Ricerca del punto di zero in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Ricerca del punto di zero in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 3 = "Ricerca del punto di zero" WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto SYNC OUTPUT BOOL 16.3 TRUE/FALSE FALSE SYNC = TRUE: asse sincronizzato ACT_POS OUTPUT DINT 18 Da -5x10 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato 8 a 8 +5x10 impulsi MODE_OUT 28-6 OUTPUT INT 22 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri per il modo di funzionamento "Spostamento incrementale relativo" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 4 = spostamento incrementale relativo TARGET INPUT DINT 8 1000 Percorso in impulsi (sono ammessi solo valori positivi) WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto POS_RCD OUTPUT BOOL 16.1 TRUE/FALSE FALSE Posizione raggiunta ACT_POS OUTPUT DINT 18 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da 0 a 10 impulsi Da -5x10 +5x10 MODE_OUT OUTPUT INT 22 8 9 8 a impulsi 0, 1, 3, 4, 5 Parametri per il modo di funzionamento "Spostamento incrementale assoluto" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento START INPUT BOOL 4.1 TRUE/FALSE FALSE Avvio corsa (fronte di salita) DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 5 = spostamento incrementale assoluto TARGET INPUT DINT 8 Asse lineare: 1000 Traguardo in impulsi FALSE Corsa in atto da -5x10 +5x10 8 a 8 Asse rotante: da 0 a fine asse rotante - 1 WORKING OUTPUT BOOL 16.0 TRUE/FALSE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-7 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione POS_RCD OUTPUT 16.1 TRUE/FALSE FALSE Posizione raggiunta 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato ACT_POS OUTPUT BOOL DINT 18 Da -5x10 +5x10 MODE_OUT OUTPUT INT 22 8 8 a impulsi 0, 1, 3, 4, 5 Parametri per il job "Imposta punto di zero" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione SYNC OUTPUT 16.3 TRUE/FALSE FALSE Asse sincronizzato BOOL Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_REQ STATIC BOOL 76.0 TRUE/FALSE FALSE Avvio del job (fronte di salita) JOB_DONE STATIC BOOL 76.1 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR STATIC BOOL 76.2 TRUE/FALSE FALSE Job errato JOB_ID STATIC INT 78 1, 2 0 Job, 1 = "Imposta punto di zero" JOB_STAT STATIC WORD 80 Da W#16#0000 W#16#0000 a W#16#FFFF JOB_VAL STATIC DINT 82 Da 5x10 +5x10 28-8 8 8 a impulsi 0 Numero di errore nel job Parametri del job, coordinate del punto di zero Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri per il job "Cancella percorso restante" Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_REQ STATIC BOOL 76.0 TRUE/FALSE FALSE Avvio del job (fronte di salita) JOB_DONE STATIC BOOL 76.1 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR STATIC BOOL 76.2 TRUE/FALSE FALSE Job errato JOB_ID STATIC INT 78 1, 2 0 Job, 2 = "Cancella percorso restante" JOB_STAT STATIC WORD 80 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore nel job JOB_VAL STATIC DINT 82 - 0 Impostazione qualunque Parametri per la funzione "Misura lunghezza" Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di ingresso specifici. Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione MSR_DONE OUTPUT 16.2 TRUE/FALSE FALSE Misura della lunghezza conclusa Preassegnazione Descrizione 0 Quota reale della posizione di inizio della misura della lunghezza 0 Quota reale della posizione di fine della misura lunghezza 0 Lunghezza misurata BOOL Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) BEG_VAL STATIC 64 DINT Campo di valori Da -5x10 8 a 8 +5x10 impulsi END_VAL STATIC DINT 68 Da -5x10 8 a 8 +5x10 impulsi LEN_VAL STATIC DINT 72 Da 0 a 10 impulsi 9 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-9 SFB per CPU compatte Informazioni sugli errori Errori del modo di funzionamento (ERROR = TRUE) Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE. La causa dell'errore viene visualizzata nel parametro STATUS. Codice di errore classe evento Spiegazione W#16#2002 SFB scorretto, utilizzare l'SFB 44 W#16#2004 Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale W#16#3001 Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato. Correggere i parametri del job corrispondente W#16#3002 Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione. Attendere la fine del posizionamento in corso. W#16#3003 Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale assoluto). W#16#3004 È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio consentite sono DIR_P o DIR_M o START. W#16#3005 Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale assoluto". Avviare la corsa con DIR_P o DIR_M W#16#3006 DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale assoluto" non consentiti. Avviare la corsa con START W#16#3007 Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse sincronizzato. W#16#3008 Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del campo di lavoro. W#16#3101 Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella "Configurazione HW" W#16#3102 Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione azionamento" nell'SFB (DRV_EN=TRUE) W#16#3103 Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP nell'SFB (STOP=FALSE) W#16#3104 Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE). Attendere la fine del posizionamento in corso. W#16#3105 Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato. Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa. W#16#3202 La preassegnazione della velocità SPEED è scorretta. La preassegnazione della velocità non è compresa nel campo consentito dell'avanzamento lento fino a 1000000 impulsi/s. Ma al massimo fino alla velocità massima parametrizzata. W#16#3203 La preassegnazione dell'accelerazione ACCEL non è compresa nel campo consentito da 1 a 2 100000 impulsi/s . W#16#3204 La preassegnazione del ritardo DECEL non è compresa nel campo consentito da 1 a 100000 2 impulsi/s . W#16#3206 La preassegnazione della velocità SPEED deve essere maggiore/uguale alla frequenza di riferimento parametrizzata. W#16#3301 Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di commutazione/disinserzione max con 10 8 W#16#3304 Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno uguale a metà della zona del traguardo. W#16#3305 Differenza di commutazione insufficiente. La differenza di commutazione deve essere almeno uguale a metà zona del traguardo. 28-10 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Codice di errore classe evento Spiegazione W#16#3401 Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e uno spostamento incrementale assoluto, la preassegnazione del traguardo deve essere compresa nel finecorsa software (incluso). W#16#3402 Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante. W#16#3403 Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da percorrere deve essere positivo. W#16#3404 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono 8 essere maggiori di -5x10 . W#16#3405 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono 8 essere minori di 5x10 . W#16#3406 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono essere comprese nel campo di lavoro (+/- metà zona del traguardo) W#16#3501 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere maggiori/uguali a -5x10 W#16#3502 8 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere minori/uguali a 5x10 8 W#16#3503 Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di disinserzione indicata per la direzione + W#16#3504 Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di disinserzione indicata per la direzione - W#16#3505 Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla posizione attuale W#16#3506 Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla posizione attuale Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-11 SFB per CPU compatte Errori nei job (JOB_ERR = TRUE) Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE. La causa dell'errore viene visualizzata nel parametro JOB_STAT. Codice di errore classe evento Spiegazione W#16#4001 Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella "Configurazione HW". W#16#4002 Job impossibile poiché vi è ancora un posizionamento in corso. Attendere finché WORKING diventa = FALSE, quindi ripetere il job. W#16#4004 Job sconosciuto. Controllarne il numero e quindi ripetere il job. W#16#4101 Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei limiti del campo di lavoro. W#16#4102 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante 8 devono essere ancora maggiori/uguali a -5x10 . W#16#4103 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante 8 devono essere ancora minori/uguali a 5x10 . W#16#4104 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al 8 punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 . W#16#4105 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al 8 punto di avvio della corsa devono essere ancora minori/uguali a 5x10 . W#16#4106 Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e maggiori/uguali alla fine dell'asse rotante. Errori esterni (ERR) La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che l'utente abbia prima attivato questi controlli nelle maschere di parametrizzazione "Azionamento", "Asse" e "Encoder". Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori esterni in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno sempre confermati con ERR_A = TRUE. Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con l'impostazione di un bit. Controllo Codice errore Bit in ERR-WORD Impulsi errati (tacca di zero) W#16#0004 2 Campo corsa W#16#0800 11 Campo di lavoro W#16#1000 12 Quota reale W#16#2000 13 Approssimazione al traguardo W#16#4000 14 Zona del traguardo 15 W#16#8000 Errori di sistema Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene causato da un errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB. 28-12 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte 28.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale" Descrizione Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB DIGITAL (SFB46). Quattro uscite digitali a 24 V assegnate in modo fisso all'azionamento comandano la parte di potenza. Le uscite digitali comandano, a seconda del tipo di azionamento parametrizzato, la direzione e i livelli di velocità (marcia veloce/lenta). Il rilevamento del percorso avviene per mezzo di un trasduttore incrementale asincrono a 24 V con due segnali sfasati di 90 gradi. • Il traguardo viene avvicinato dapprima con la velocità (VVel) • Nel punto di commutazione, la velocità viene commutata su un avanzamento lento (VLenta). • Nel punto di disinserzione l'azionamento viene disattivato. • Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da avvicinare, attraverso i valori differenza di commutazione e differenza di disinserzione predefiniti dall'utente nei parametri. La differenza di commutazione e quella di disinserzione possono essere definite diversamente per la corsa in avanti (direzione +) e all'indietro (direzione -). • La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione. A partire da questo momento può iniziare una nuova corsa. • Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della posizione ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia nuovamente la zona del traguardo senza avvio di una nuova corsa, il segnale "Posizione raggiunta" non viene nuovamente resettato. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-13 SFB per CPU compatte Parametri di base: Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento. I parametri specifici per modo di funzionamento sono descritti nei singoli modi di funzionamento. Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione LADDR INPUT 0 Specifico della CPU W#16#0310 Indirizzo E/A del proprio sotto-modulo, definito dall'utente in "Configurazione HW". WORD Se gli indirizzi E e A non sono uguali, indicare il più piccolo dei due. CHANNEL INPUT INT 2 0 0 Numero di canale STOP INPUT BOOL 4.4 TRUE/FALSE FALSE Arresto della corsa Con STOP = TRUE è possibile terminare/interrompere la corsa anticipatamente. ERR_A INPUT BOOL 4.5 TRUE/FALSE FALSE Conferma cumulativa errore esterno Con ERR_A = TRUE vengono confermati errori esterni. SPEED INPUT BOOL 12.0 TRUE/FALSE FALSE Due livelli di velocità per marcia veloce o lenta TRUE=marcia veloce FALSE=marcia lenta WORKING ACT_POS OUTPUT OUTPUT BOOL DINT 14.0 16 TRUE/FALSE Da -5x10 8 a FALSE Corsa in atto 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato 8 +5x10 impulsi MODE_OUT 28-14 OUTPUT INT 20 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati ERR OUTPUT WORD Indirizzo (DB di istanza) 22 Campo di valori Preassegnazione Ogni bit 0 0o1 Descrizione Errori esterni Bit2: controllo tacca di zero Bit11: controllo del campo corsa (sempre 1) Bit12: controllo del campo di lavoro Bit13: controllo della quota reale Bit14: controllo dell'approssimazione al traguardo Bit15: controllo della zona del traguardo Restanti bit riservati ST_ENBLD OUTPUT BOOL 24.0 TRUE/FALSE TRUE La CPU imposta l'abilitazione all'avvio se vengono soddisfatti tutti i seguenti presupposti: • Non vi è uno STOP (STOP = FALSE) • Non vi sono errori esterni (ERR = 0) • È impostata l'abilitazione dell'azionamento (DRV_EN = TRUE • Non vi sono posizionamenti in corso (WORKING = FALSE) ERROR OUTPUT BOOL 24.1 TRUE/FALSE FALSE Errore di avvio/continuazione di una corsa STATUS OUTPUT WORD 26.0 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-15 SFB per CPU compatte Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) CHGDIFF_P STATIC 28 DINT Campo di valori Da 0 a +10 impulsi 8 Preassegnazione Descrizione 1000 Differenza di commutazione +: La "differenza di commutazione +" definisce il punto di commutazione nel quale l'azionamento si muove in avanti passando dalla marcia veloce alla marcia lenta. CUTOFFDIFF_P STATIC DINT 32 Da 0 a +10 impulsi 8 100 Differenza di disinserzione +: La "differenza di disinserzione +" definisce il punto di disinserzione nel quale l'azionamento viene disinserito dalla marcia lenta in avanti. CHGDIFF_M STATIC DINT 36 Da 0 a +10 impulsi 8 1000 Differenza di commutazione -: La "differenza di commutazione -" definisce il punto di commutazione nel quale l'azionamento si muove all'indietro passando dalla marcia veloce alla marcia lenta. CUTOFFDIFF_M STATIC DINT 40 Da 0 a +10 impulsi 8 100 Differenza di disinserzione -: La "differenza di disinserzione -" definisce il punto di disinserzione nel quale l'azionamento viene disinserito dalla marcia lenta all'indietro. PARA STATIC BOOL 44.0 TRUE/FALSE FALSE Asse parametrizzato DIR STATIC BOOL 44.1 TRUE/FALSE FALSE Attuale/ultima direzione dello spostamento FALSE = in avanti (direzione +) TRUE = all'indietro (direzione -) 28-16 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione CUTOFF STATIC BOOL 44.2 TRUE/FALSE FALSE Azionamento nella zona di disinserzione (dal punto di disinserzione fino all'avvio della corsa successiva) CHGOVER STATIC BOOL 44.3 TRUE/FALSE FALSE Azionamento nella zona di commutazione (dal raggiungimento dell'avanzamento lento fino all'avvio della corsa successiva) DIST_TO_G O STATIC DINT 46 0 Attuale percorso restante 0 Ultimo/attuale traguardo Da -5x10 +5x10 LAST_TRG STATIC DINT 50 8 +5x10 a impulsi Da -5x10 8 8 8 a impulsi Spostamento incrementale assoluto: con l'avvio della corsa, LST_TRG = traguardo attuale assoluto (TARGET). Spostamento incrementale relativo: con l'avvio della corsa, LST_TRG = LAST_TRG della corsa precedente +/percorso indicato (TARGET). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-17 SFB per CPU compatte Parametri per il modo di funzionamento "A impulsi" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE A impulsi, direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE A impulsi, direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 1 = a impulsi WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto ACT_POS OUTPUT DINT 16 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da -5x10 +5x10 MODE_OUT OUTPUT INT 20 8 8 a impulsi 0, 1, 3, 4, 5 Parametri per il modo di funzionamento "Ricerca del punto di zero" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Ricerca del punto di zero in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Ricerca del punto di zero in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 3 = "Ricerca del punto di zero" WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto SYNC OUTPUT BOOL 14.3 TRUE/FALSE FALSE SYNC = TRUE: asse sincronizzato ACT_POS OUTPUT DINT 16 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da -5x10 +5x10 MODE_OUT 28-18 OUTPUT INT 20 8 8 a impulsi 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri per il modo di funzionamento "Spostamento incrementale relativo" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 4 = spostamento incrementale relativo TARGET INPUT DINT 8 1000 Percorso in impulsi (sono ammessi solo valori positivi) Da 0 a 10 9 impulsi WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto POS_RCD OUTPUT BOOL 14.1 TRUE/FALSE FALSE Posizione raggiunta ACT_POS OUTPUT DINT 16 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da -5x10 +5x10 MODE_OUT OUTPUT INT 20 8 8 a impulsi 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-19 SFB per CPU compatte Parametri per il modo di funzionamento "Spostamento incrementale assoluto" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione azionamento START INPUT BOOL 4.1 TRUE/FALSE FALSE Avvio corsa (fronte di salita) DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione + (fronte di salita) DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione (fronte di salita) MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di funzionamento, 5 = spostamento incrementale assoluto TARGET INPUT DINT 8 Asse lineare: 1000 Traguardo in impulsi da -5x10 +5x10 8 a 8 Asse rotante: da 0 a fine asse rotante -1 WORKING OUTPUT POS_RCD ACT_POS BOOL 14.0 TRUE/FALSE FALSE Corsa in atto OUTPUT BOOL 14.1 TRUE/FALSE FALSE Posizione raggiunta OUTPUT DINT 16 0 Attuale quota reale della posizione 0 Modo di funzionamento attivo/impostato Da -5x10 +5x10 MODE_OUT 28-20 OUTPUT INT 20 8 8 a impulsi 0, 1, 3, 4, 5 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri per il job "Imposta punto di zero" Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione SYNC OUTPUT 14.3 TRUE/FALSE FALSE Asse sincronizzato BOOL Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_REQ STATIC BOOL 66.0 TRUE/FALSE FALSE Avvio del job (fronte di salita) JOB_DONE STATIC BOOL 66.1 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR STATIC BOOL 66.2 TRUE/FALSE FALSE Job errato JOB_ID STATIC INT 68 1, 2 0 Job, 1 = "Imposta punto di zero" JOB_STAT STATIC WORD 70 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore nel job JOB_VAL STATIC DINT 72 0 Parametri del job, coordinate del punto di zero Da -5x10 +5x10 8 8 a impulsi Parametri per il job "Cancella percorso restante" Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_REQ STATIC BOOL 66.0 TRUE/FALSE FALSE Avvio del job (fronte di salita) JOB_DONE STATIC BOOL 66.1 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR STATIC BOOL 66.2 TRUE/FALSE FALSE Job errato JOB_ID STATIC INT 68 1, 2 0 Job, 2 = "Cancella percorso restante" JOB_STAT STATIC WORD 70 Da 0 a FFFF esadecimale 0 Numero di errore nel job JOB_VAL STATIC DINT 72 - 0 Nessuna Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-21 SFB per CPU compatte Parametri per la funzione "Misura lunghezza" Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di ingresso specifici. Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione MSR_DONE OUTPUT 14.2 TRUE/FALSE FALSE Misura della lunghezza conclusa Preassegnazione Descrizione 0 Quota reale della posizione di inizio della misura della lunghezza 0 Quota reale della posizione di fine della misura lunghezza 0 Lunghezza misurata BOOL Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) BEG_VAL STATIC 54 DINT Campo di valori Da -5x10 +5x10 END_VAL STATIC DINT 58 28-22 STATIC DINT 62 8 a impulsi Da -5x10 +5x10 LEN_VAL 8 8 8 a impulsi Da 0 a 10 impulsi 9 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Informazioni sugli errori Errori del modo di funzionamento (ERROR = TRUE) Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE. La causa dell'errore viene visualizzata nel parametro STATUS. Codice di errore classe evento Spiegazione W#16#2001 SFB scorretto, utilizzare l'SFB 46 W#16#2004 Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale W#16#3001 Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato. Correggere i parametri del job corrispondente W#16#3002 Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione. Attendere la fine del posizionamento in corso. W#16#3003 Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale assoluto). W#16#3004 È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio consentite sono DIR_P o DIR_M o START W#16#3005 Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale assoluto". Avviare la corsa con DIR_P o DIR_M. W#16#3006 DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale assoluto" non consentiti. Avviare la corsa con START. W#16#3007 Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse sincronizzato. W#16#3008 Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del campo di lavoro. W#16#3101 Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella "Configurazione HW". W#16#3102 Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione azionamento" nell'SFB (DRV_EN=TRUE). W#16#3103 Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP nell'SFB (STOP=FALSE). W#16#3104 Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE). Attendere la fine del posizionamento in corso. W#16#3105 Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato. Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa. W#16#3201 La preassegnazione della velocità SPEED è scorretta. Il posizionamento con uscite digitali consente soltanto la "Marcia lenta" (0) e la "Marcia veloce" (1). W#16#3301 Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di commutazione/disinserzione max uguale a 10 8 W#16#3303 Differenza di commutazione insufficiente. La differenza di commutazione deve essere maggiore/uguale alla differenza di disinserzione. W#16#3304 Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno uguale a metà della zona del traguardo. W#16#3401 Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e uno spostamento incrementale assoluto, la preassegnazione del traguardo deve essere compresa nel finecorsa software (incluso). W#16#3402 Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante. W#16#3403 Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da percorrere deve essere positivo. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-23 SFB per CPU compatte Codice di errore classe evento Spiegazione W#16#3404 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono 8 essere maggiori di -5x10 . W#16#3405 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono 8 essere minori di 5x10 . W#16#3406 W#16#3501 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono essere comprese nel campo di lavoro (+/- metà zona del traguardo) Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere maggiori/uguali a -5x10 W#16#3502 8 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere minori/uguali a 5x10 8 W#16#3503 Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di disinserzione indicata per la direzione + W#16#3504 Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di disinserzione indicata per la direzione - W#16#3505 Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla posizione attuale W#16#3506 Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla posizione attuale 28-24 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Errori nei job (JOB_ERR = TRUE) Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE. La causa dell'errore viene visualizzata nel parametro JOB_STAT Codice di errore classe evento Spiegazione W#16#4001 W#16#4102 Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella "Configurazione HW". Job impossibile poiché vi è ancora un posizionamento in corso. I job sono eseguibili solo quando non vi sono posizionamenti in corso. Attendere finché WORKING diventa = FALSE, quindi ripetere il job. Job sconosciuto. Controllarne il numero e quindi ripetere il job. Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei limiti del campo di lavoro. Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante W#16#4103 devono essere ancora maggiori/uguali a -5x10 . Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante W#16#4104 devono essere ancora minori/uguali a 5x10 . Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al W#16#4105 punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 . Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al W#16#4002 W#16#4004 W#16#4101 8 8 8 8 W#16#4106 punto di avvio della corsa devono essere ancora minori/uguali a 5x10 . Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e maggiori/uguali alla fine dell'asse rotante. Errori esterni (ERR) La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che l'utente abbia prima attivato questi controlli nelle maschere di parametrizzazione "Azionamento", "Asse" e "Encoder". Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori esterni in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno sempre confermati con ERR_A = TRUE. Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con l'impostazione di un bit. Controllo Codice errore Bit in ERR-WORD Impulsi errati (tacca di zero) Campo corsa Campo di lavoro Quota reale Approssimazione al traguardo Zona del traguardo W#16#0004 W#16#0800 W#16#1000 W#16#2000 W#16#4000 W#16#8000 2 11 12 13 14 15 Errori di sistema Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene causato da un errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-25 SFB per CPU compatte 28.3 Comando del contatore con l'SFB 47 "COUNT" Descrizione Per il comando del contatore dal programma utente utilizzare l'SFB COUNT (SFB47). Sono disponibili le seguenti funzioni: • Avvio/arresto del contatore con il gate software SW_GATE • Abilitazione/comando dell'uscita DO • Lettura dei bit di stato STS_CMP, STS_OFLW, STS_UFLW e STS_ZP • Lettura dello stato attuale del contatore COUNTVAL • Job di lettura e scrittura dei registri interni del contatore Parametri Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione LADDR INPUT 0 Specifico della CPU W#16#0300 Indirizzo E/A del proprio sotto-modulo, definito dall'utente in "Configurazione HW". WORD Se gli indirizzi E e A non sono uguali, indicare il più piccolo dei due. CHANNEL INPUT INT 2 CPU 312C: da 0 a 1 CPU 313C: da 0 a 2 CPU 314C: da 0 a 3 0 Numero di canale SW_GATE INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per avvio/arresto del contatore CTRL_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione uscita SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita JOB_REQ INPUT BOOL 4.3 TRUE/FALSE FALSE Avvio del job (fronte di salita) 28-26 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_ID INPUT 6 W#16#0000 Job senza funzione W#16#0000 Numero job 0 Valore per job in scrittura. WORD W#16#0001 Scrivi valore di conteggio W#16#0002 Scrivi valore di caricamento W#16#0004 Scrivi valore di confronto W#16#0008 Scrivi isteresi W#16#0010 Scrivi durata impulso W#16#0082 Leggi valore di caricamento W#16#0084 Leggi valore di confronto W#16#0088 Leggi isteresi W#16#0090 Leggi durata impulso JOB_VAL INPUT DINT 8 Da -2 +2 31 31 a -1 STS_GATE OUTPUT BOOL 12.0 TRUE/FALSE FALSE Stato gate interno STS_STRT OUTPUT BOOL 12.1 TRUE/FALSE FALSE Stato gate hardware (ingresso avvio) STS_LTCH OUTPUT BOOL 12.2 TRUE/FALSE FALSE Stato ingresso latch STS_DO OUTPUT BOOL 12.3 TRUE/FALSE FALSE Stato uscita STS_C_DN OUTPUT BOOL 12.4 TRUE/FALSE FALSE Stato direzione all'indietro. Viene sempre visualizzata l'ultima direzione di conteggio. Dopo il primo richiamo dell'SFB, STS_C_DN ha il valore FALSE. STS_C_UP OUTPUT BOOL 12.5 TRUE/FALSE FALSE Stato direzione in avanti Viene sempre visualizzata l'ultima direzione di conteggio. Dopo il primo richiamo dell'SFB, STS_C_UP ha il valore TRUE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-27 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) COUNTVAL OUTPUT 14 DINT Campo di valori Da -2 +2 LATCHVAL OUTPUT DINT 18 31 +2 a Descrizione 0 Valore attuale di conteggio 0 Valore attuale latch -1 Da -2 31 31 Preassegnazione 31 a -1 JOB_DONE OUTPUT BOOL 22.0 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR OUTPUT BOOL 22.1 TRUE/FALSE FALSE Job errato JOB_STAT OUTPUT WORD 24 Da 0 a W#16#FFFF 0 Numero di errore nel job Avvertenza Se nella superficie di parametrizzazione è stato impostato il parametro "Comportamento dell'uscita" su "Senza valore di confronto", vale quanto segue: • l'uscita viene attivata come un'uscita normale • i parametri di ingresso dell'SFB CTRL_DO e SET_DO non sono attivi i bit di stato STS_DO e STS_CMP (stato del comparatore nell'IDB) rimangono resettati. • Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegna_ zione Descrizione STS_CMP STATIC BOOL 26.3 TRUE/FALSE FALSE STS_OFLW STATIC BOOL 26.5 TRUE/FALSE FALSE STS_UFLW STATIC BOOL 26.6 TRUE/FALSE FALSE Stato comparatore. Viene resettato con RES_STS. Il bit di stato STS_CMP indica che la condizione di confronto del comparatore è o era soddisfatta. STS_CMP mostra inoltre che l'uscita era impostata (STS_DO = TRUE) Stato di overflow Viene resettato con RES_STS. Stato di underflow Viene resettato con RES_STS. 28-28 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegna_ zione Descrizione STS_ZP STATIC BOOL 26.7 TRUE/FALSE FALSE JOB_OVAL STATIC DINT 28 Stato passaggio per lo zero Viene resettato con RES_STS. Viene impostato solo per i conteggi senza direzione principale di conteggio. Mostra il passaggio per lo zero. Viene impostato anche quando si imposta il contatore a 0 o quando il contatore conta a partire dal valore di caricamento=0. Valore di uscita per job di lettura. Da -2 31 a 0 31 RES_STS STATIC BOOL 32.2 +2 -1 TRUE/FALSE FALSE Resettaggio bit di stato. Resetta i bit di stato STS_CMP, STS_OFLW, STS_UFLW e STS_ZP. Per il resettaggio dei bit di stato sono necessari due richiami dell'SFB. Avvertenza Ulteriori particolari sull'applicazione dell'SFB 47 sono contenute nel manuale Sistemi di automazione S7-300 CPU 31xC, Funzioni tecnologiche. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-29 SFB per CPU compatte Informazioni di errore Errori nei job Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore viene visualizzata in JOB_STAT. Codice di errore classe evento Spiegazione W#16#0121 Valore di confronto troppo piccolo. W#16#0122 Valore di confronto troppo grande. W#16#0131 Isteresi troppo piccola. W#16#0132 Isteresi troppo grande. W#16#0141 Durata impulso troppo piccole. W#16#0142 Durata impulso troppo grande. W#16#0151 Valore di caricamento troppo piccolo. W#16#0152 Valore di caricamento troppo grande. W#16#0161 Stato del conteggio troppo piccolo. W#16#0162 Stato del conteggio troppo grande. W#16#01FF Numero job non valido. Errori di sistema Quando si verifica un errore di sistema, viene impostato il BIE = False. Codice di errore classe evento Spiegazione W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo di funzionamento impostato W#16#8009 Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU). 28-30 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte 28.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" Descrizione Il misuratore di frequenza può essere comandato dal programma utente utilizzando l'SFB FREQUENC (SFB48). Sono disponibili le seguenti funzioni: • Avvio/arresto con il gate software SW_GATE • Abilitazione/comando dell'uscita DO • Lettura dei bit di stato STS_CMP, STS_OFLW e STS_UFLW • Lettura del valore attuale della frequenza MEAS_VAL • Job di lettura e scrittura dei registri interni della misurazione di frequenza Parametri Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione LADDR INPUT 0 Specifico della CPU W#16#0300 Indirizzo E/A del proprio sotto-modulo, definito dall'utente in "Configurazione HW". WORD Se gli indirizzi E e A non sono uguali, indicare il più piccolo dei due. CHANNEL INPUT INT 2 CPU 312C: da 0 a 1 CPU 313C: da 0 a 2 CPU 314C: da 0 a 3 0 Numero di canale SW_GATE INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per l'avvio/arresto della misurazione di frequenza MAN_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione comando manuale dell'uscita SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita JOB_REQ INPUT BOOL 4.3 TRUE/FALSE FALSE Avvio del job (fronte di salita) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-31 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_ID INPUT 6 W#16#0000 = Job senza funzione 0 Numero job 0 Valore per job in scrittura WORD W#16#0001 = Scrivi limite inferiore W#16#0002 = Scrivi limite superiore W#16#0004 = Scrivi tempo di integrazione W#16#0081 = Leggi limite inferiore W#16#0082 = Leggi limite superiore W#16#0084 = Leggi tempo di integrazione JOB_VAL INPUT DINT 8 Da -2 +2 31 31 a -1 STS_GATE OUTPUT BOOL 12.0 TRUE/FALSE FALSE Stato gate interno STS_STRT OUTPUT BOOL 12.1 TRUE/FALSE FALSE Stato gate hardware (ingresso avvio) STS_DO OUTPUT BOOL 12.2 TRUE/FALSE FALSE Stato uscita STS_C_DN OUTPUT BOOL 12.3 TRUE/FALSE FALSE Stato direzione all'indietro Viene sempre visualizzata l'ultima direzione di conteggio. Dopo il primo richiamo dell'SFB, STS_C_DN ha il valore FALSE. STS_C_UP OUTPUT BOOL 12.4 TRUE/FALSE FALSE Stato direzione in avanti Viene sempre visualizzata l'ultima direzione di conteggio. Dopo il primo richiamo dell'SFB, STS_C_UP ha il valore TRUE. MEAS_VAL OUTPUT DINT 14 Da 0 a +2 COUNTVAL OUTPUT DINT 18 28-32 OUTPUT BOOL 22.0 31 0 Valore attuale della frequenza 0 Valore attuale di conteggio (si avvia ad ogni apertura del gate con segnale 0) TRUE Il nuovo job può essere avviato -1 Da -2 +2 JOB_DONE 31 31 a -1 TRUE/FALSE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_ERR OUTPUT BOOL 22.1 TRUE/FALSE FALSE Job errato JOB_STAT OUTPUT WORD 24 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore nel job Avvertenza Se il parametro "Comportamento dell'uscita" nella superficie di parametrizzazione è stato impostato su "Senza valore di confronto", vale quanto segue: • l'uscita viene attivata come unùscita normale; • i parametri d'ingresso SFB CTRL_DO e SET_DO sono disattivati; • il bit di stato STS_DO rimane resettato. Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione STS_CMP STATIC 26.3 TRUE/FALSE FALSE Stato fine della misurazione Viene resettato con RES_STS. BOOL Trascorso un intervallo di tempo, il valore di misura viene sempre aggiornato. La fine della misurazione viene sempre segnalata con il bit di stato STS_CMP STS_OFLW STATIC BOOL 26.5 TRUE/FALSE FALSE Stato di overflow Viene resettato con RES_STS. STS_UFLW STATIC BOOL 26.6 TRUE/FALSE FALSE Stato di underflow Viene resettato con RES_STS. JOB_OVAL STATIC DINT 28 0 Valore di uscita per job di lettura FALSE Resettaggio bit di stato. Da -2 2 RES_STS STATIC BOOL 32.2 31 31 a -1 TRUE/FALSE Resetta i bit di stato STS_CMP, STS_OFLW e STS_UFLW. Per il resettaggio dei bit di stato sono necessari due richiami dell'SFB. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-33 SFB per CPU compatte Avvertenza Ulteriori particolari sull'applicazione dell'SFB 48 sono contenute nel manuale Sistemi di automazione S7-300 CPU 31xC, Funzioni tecnologiche. Errori nei job Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore viene visualizzata in JOB_STAT. Codice di errore classe evento Spiegazione W#16#0221 Tempo di integrazione insufficiente. W#16#0222 Tempo di integrazione eccessivo. W#16#0231 Limite inferiore della frequenza troppo piccolo. W#16#0232 Limite inferiore della frequenza troppo grande. W#16#0241 Limite superiore della frequenza troppo piccolo. W#16#0242 Limite superiore della frequenza troppo grande. W#16#02FF Numero job non valido. Errori di sistema Quando si verifica un errore di sistema, viene impostato il BIE = False. Codice di errore classe evento Spiegazione W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo di funzionamento impostato W#16#8009 Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU). 28-34 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte 28.5 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE" Descrizione Per il comando della modulazione di ampiezza degli impulsi dal programma utente utilizzare l'SFB PULSE (SFB 49). Sono disponibili le seguenti funzioni: • Avvio/arresto con il gate software SW_EN • Abilitazione/comando dell'uscita DO • Lettura dei bit di stato STS_EN, STS_STRT e STS_DO • Immissione del valore di uscita • Job di lettura e scrittura dei registri Parametri Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione LADDR INPUT WORD 0 Specifico della CPU W#16#0300 Indirizzo E/A del proprio sotto-modulo, definito dall'utente in "Configurazione HW". Se gli indirizzi E e A non sono uguali, indicare il più piccolo dei due. CHANNEL INPUT INT 2 CPU 312C: da 0 a 1 CPU 313C: da 0 a 2 CPU 314C: da 0 a 3 0 Numero di canale SW_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per l'avvio/arresto dell'uscita MAN_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione comando manuale dell'uscita SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita OUTP_VA L INPUT INT 6.0 Per mille: da 0 a 1000 0 Standard del valore di uscita Uscita analogica S7: da 0 a 27648 JOB_REQ INPUT BOOL 8.0 TRUE/FALSE Definendo un valore di uscita > 1 000 o 27648, la CPU lo limiterà a 1 000 o 27648 FALSE Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Avvio del job (fronte di salita) 28-35 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) Campo di valori Preassegnazione Descrizione JOB_ID INPUT WORD 10 W#16#0000 = Job senza funzione W#16#0000 Numero job 0 Valore per job in scrittura. W#16#0001 = Scrivi durata periodo W#16#0002 = Scrivi ritardo di inserzione W#16#0004 = Scrivi durata minima impulso W#16#0081 = Leggi durata periodo W#16#0082 = Leggi ritardo di inserzione W#16#0084 = Leggi durata minima impulso JOB_VAL INPUT DINT 12 Da -2 +2 STS_EN 31 31 a -1 OUTPUT BOOL 16.0 TRUE/FALSE FALSE Stato abilitazione STS_STRT OUTPUT BOOL 16.1 TRUE/FALSE FALSE Stato gate hardware (ingresso avvio) STS_DO OUTPUT BOOL 16.2 TRUE/FALSE FALSE Stato uscita JOB_DON E OUTPUT BOOL 16.3 TRUE/FALSE TRUE Il nuovo job può essere avviato JOB_ERR OUTPUT BOOL 16.4 TRUE/FALSE FALSE Job errato JOB_STA T OUTPUT WORD 18 Da W#16#0000 a W#16#FFFF W#16#0000 Numero di errore nel job Parametri non collegati al blocco (dati locali statici): Parametri Dichiarazione Tipo di dati Indirizzo (DB di istanza) JOB_OVAL OUTPUT 20 DINT Campo di valori Da -2 2 31 31 a Preassegnazion e Descrizione 0 Valore di uscita per job di lettura -1 Avvertenza Ulteriori particolari sull'applicazione dell'SFB 49 sono contenute nel manuale Sistemi di automazione S7-300 CPU 31xC, Funzioni tecnologiche. 28-36 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Errori nei job Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore viene visualizzata in JOB_STAT. Codice di errore classe evento Spiegazione W#16#0411 Durata periodo troppo breve. W#16#0412 Durata periodo troppo lunga. W#16#0421 Ritardo di inserzione troppo piccolo. W#16#0422 Ritardo di inserzione troppo grande. W#16#0431 Durata minima impulso troppo breve. W#16#0432 Durata minima impulso troppo lunga. W#16#04FF Numero job non valido. Errori di sistema Quando si verifica un errore di sistema, viene impostato il BIE = False. Codice di errore classe evento Spiegazione W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo di funzionamento impostato W#16#8009 Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU). Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-37 SFB per CPU compatte 28.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP" Descrizione Con l'SFB SEND_PTP (SFB 60) si invia un blocco di dati da un DB. L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando REQ. L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la lunghezza del blocco dati da LEN. Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, l'operazione di invio in corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato ERROR su TRUE, se il job si è concluso con errori. Se il job è stato eseguito con DONE=TRUE, significa che: • Con l'impiego del driver ASCII: i dati sono stati inviati al partner della comunicazione. Non è sicuro che i dati siano anche stati ricevuti dal partner della comunicazione. • Con l'impiego della procedura 3964(R): i dati sono stati inviati al partner della comunicazione e confermati positivamente da questo. Non è sicuro che i dati siano anche stati trasmessi alla CPU partner. In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente. DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE). Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza errori, il risultato binario ha lo stato TRUE. Nota L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in stato di STOP. DB di istanza L'SFB SEND_PTP opera in combinazione con un DB di istanza. Il numero di DB viene indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito. 28-38 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request": attiva lo scambio di dati con fronte di salita. R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset". Il job viene interrotto. L'invio è inibito. LADDR INPUT WORD Specifico della CPU Indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". DONE OUTPUT BOOL TRUE/FALSE FALSE W#16#03FF Descrizione Parametro di stato (il parametro è impostato solo per la durata di un richiamo): FALSE: job non ancora avviato o ancora in esecuzione. TRUE: job concluso senza errori. ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): job eseguito con errori STATUS OUTPUT WORD Da W#16#0000 W#16#0000 a W#16#FFFF Parametro di stato (il parametro è impostato solo per la durata di un richiamo. Per visualizzare lo stato, occorre pertanto copiare il parametro STATUS in un'area dati libera) A seconda del bit ERROR, STATUS ha il seguente significato: ERROR=FALSE: STATUS ha il valore W#16#0000: né avviso né errore STATUS ha il valore<> W#16#0000: avviso, STATUS fornisce informazioni dettagliate. ERROR=TRUE: si è verificato un errore, STATUS fornisce informazioni dettagliate sul tipo di errore. SD_1 INPUT/ OUTPUT ANY Specifico della CPU 0 Parametro di invio: Indicare qui i seguenti valori: • Numero del DB dal quale inviare i dati. • Numero dei byte di dati a partire dal quale inviare i dati. P. es.: DB 10 da byte 2 -> DB10.DBB2 LEN INPUT/ OUTPUT INT Da 1 a 1024 1 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 Indicare qui la lunghezza in byte del blocco dati da inviare. (La lunghezza viene indicata indirettamente.) 28-39 SFB per CPU compatte Coerenza dei dati La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre 206 byte, osservare quanto segue. Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di invio si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE. 28-40 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte 28.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP" Descrizione L'SFB RCV_PTP (SFB 61) permette di ricevere dati memorizzandoli in un blocco dati. Dopo il richiamo, il blocco è pronto per la ricezione con il valore TRUE nell'uscita di comando EN_R. Una trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel parametro EN_R. I job interrotti si concludono con un messaggio di errore (uscita STATUS). La ricezione resta disattivata finché il parametro EN_R ha lo stato di segnale FALSE. L'area di ricezione viene predefinita da RD_1 (numero DB e indirizzo iniziale), la lunghezza del blocco di dati da LEN. Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, la trasmissione in corso viene interrotta e l'SFB viene riportato allo stato di base. Un job di ricezione interrotto si conclude con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su TRUE, se il job si è concluso con errori. In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente. NDR ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE) (parametro LEN == 16#00). Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza errori, il risultato binario ha lo stato TRUE. Nota L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in stato di STOP. DB di istanza L'SFB RCV_PTP opera in combinazione con un DB di istanza. Il numero di DB viene indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-41 SFB per CPU compatte Parametri Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione Descrizione EN_R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Enable to receive": ricezione abilitata R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset": il job viene interrotto. LADDR INPUT WORD Specifico della CPU W#16#03FF Indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". NDR OUTPUT BOOL TRUE/FALSE FALSE Job concluso senza errori, dati applicati • FALSE: job non ancora avviato o ancora in corso. • TRUE: job concluso senza errori. ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): job eseguito con errori STATUS OUTPUT WORD Da W#16#0000 a W#16#FFFF W#16#0000 Parametro di stato (il parametro è impostato solo per la durata di un richiamo. Per visualizzare lo stato, occorre pertanto copiare il parametro STATUS in un'area dati libera) A seconda del bit ERROR, STATUS ha il seguente significato: RD_1 INPUT/ OUTPUT ANY Specifico della CPU 0 • ERROR=FALSE: STATUS ha il valore W#16#0000: né avviso né errore STATUS ha il valore<> W#16#0000: avviso, STATUS fornisce informazioni dettagliate. • ERROR=TRUE: si è verificato un errore, STATUS fornisce informazioni dettagliate sul tipo di errore. Parametri di ricezione: Indicare qui: Numero del DB nel quale memorizzare i dati ricevuti. Numero di byte di dati a partire dal quale memorizzare i dati ricevuti P. es.: DB 20 da byte 5 -> DB20.DBB5 LEN 28-42 INPUT/ OUTPUT INT Da 0 a 1024 0 Emissione della lunghezza dei dati (numero di byte) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Coerenza dei dati La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre 206 byte, osservare quanto segue. Accedere nuovamente al DB di ricezione solo quando la ricezione dei dati è completa (NDR = TRUE). Quindi inibire il DB di ricezione (EN_R = FALSE) finché non si sono elaborati i dati. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-43 SFB per CPU compatte 28.8 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" Descrizione L'SFB RES_RECV (SFB 62) permette di cancellare l'intero buffer ricevente dell'unità. Tutti i telegrammi memorizzati vengono respinti. Un telegramma in entrata al momento del richiamo dell'SFB RES_RCVB viene memorizzato. Il job viene attivato dopo il richiamo del blocco e un fronte di salita nell'ingresso di comando REQ. Il job può essere eseguito con più richiami (cicli di programma). Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R la cancellazione viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato ERROR su TRUE, se il job si è concluso con errori. In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente. DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE). Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza errori, il risultato binario ha lo stato TRUE. Nota L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in stato di STOP. DB di istanza L'SFB RES_RCVB opera in combinazione con un DB di istanza. Il numero di DB viene indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito. 28-44 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione Descrizione REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request": attiva il job con fronte di salita R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset": il job viene interrotto. LADDR INPUT WORD Specifico della CPU W#16#03FF Indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): ERROR OUTPUT BOOL TRUE/FALSE STATUS OUTPUT WORD Da W#16#0000 W#16#0000 a W#16#FFFF FALSE • FALSE: job non ancora avviato o ancora in esecuzione. • TRUE: job concluso senza errori. Parametro di stato (il parametro è impostato solo per la durata di un richiamo): job eseguito con errori Parametro di stato (il parametro è impostato solo per la durata di un richiamo. Per visualizzare lo stato, occorre pertanto copiare il parametro STATUS in un'area dati libera) A seconda del bit ERROR, STATUS ha il seguente significato: Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 • ERROR=FALSE: STATUS ha il valore W#16#0000: né avviso né errore STATUS ha il valore<> W#16#0000: avviso, STATUS fornisce informazioni dettagliate. • ERROR=TRUE: si è verificato un errore, STATUS fornisce informazioni dettagliate sul tipo di errore. 28-45 SFB per CPU compatte 28.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK" Descrizione Con l'SFB SEND_RK (SFB 63) si invia un blocco di dati da un DB. L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando REQ. L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la lunghezza del blocco dati da LEN. Indicare eventualmente nell'SFB l'area di ricezione del partner. Questa informazione viene riportata dalla CPU nell'intestazione del telegramma e trasmessa al partner. La destinazione viene indicata dal numero della CPU R_CPU (rilevante solo nella comunicazione multiprocessore), dal tipo di dati R_TYPE (blocchi dati (DB) e blocchi dati ampliati (DX)), dal numero di blocco dati R_DBNO e dall'offset R_OFFSET nel quale va scritto il primo byte. Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento nella CPU partner. Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente. Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R l'operazione di invio in corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato ERROR su TRUE, se il job si è concluso con errori. Se il job è stato esguito con DONE = TRUE, i dati sono stati inviati al partner della comunicazione, confermati positivamente da quest'ultimo e trasmessi alla CPU partner. In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente. DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE). Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza errori, il risultato binario ha lo stato TRUE. Nota L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in stato di STOP. DB di istanza L'SFB SEND_RK opera in combinazione con un DB di istanza. Il numero di DB viene indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito. 28-46 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Particolarità dell'invio di dati Per il job "Invio di dati", osservare quanto segue: • Con RK 512 si può inviare soltanto un numero pari di dati. Indicando come lunghezza (LEN) un numero di dati dispari, viene trasmesso un ulteriore byte di riempimento con il valore "0" alla fine dei dati. • Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati vengono memorizzati dal partner a partire dal più piccolo offset pari successivo. Esempio: l'offset è 7, vengono memorizzati i dati dal byte 6 in poi. Parametri Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione SYNC_DB INPUT INT Specifico della 0 CPU Numero del DB nel quale vengono memorizzati i dati comuni per la sincronizzazione dell'SFB RK (lunghezza minima 240 byte). REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request": attiva il job con fronte di salita R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset": il job viene interrotto. LADDR INPUT WORD Specifico della W#16#03FF CPU R_CPU INPUT INT Da 0 a 4 1 Descrizione Indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". Numero della CPU partner (solo con funzionamento multiprocessore) R_TYPE INPUT CHAR ’D’, ’X’ ’D’ Tipo di indirizzo nella CPU partner (sono ammesse solo lettere maiuscole) ’D’: blocco dati ’X’: blocco dati ampliato R_DBNO INPUT INT Da 0 a 255 0 Numero di blocco dati nella CPU partner R_OFFSET INPUT INT Da 0 a 510 0 Numero byte di dati nella CPU partner 255 Byte del merker d'accoppiamento nella CPU partner (solo valori pari) R_CF_BYT INPUT INT Da 0 a 255 (255: significa: senza merker d'accoppiamento) R_CF_BIT INPUT INT Da 0 a 7 0 Bit del merker d'accoppiamento nella CPU partner DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 • FALSE: job non ancora avviato o ancora in esecuzione. • TRUE: job concluso senza errori. 28-47 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione Descrizione ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): job eseguito con errori STATUS OUTPUT WORD Da W#16#0000 W#16#0000 a W#16#FFFF Parametro di stato (il parametro è impostato solo per la durata di un richiamo. Per visualizzare lo stato, occorre pertanto copiare il parametro STATUS in un'area dati libera) A seconda del bit ERROR, STATUS ha il seguente significato: ERROR=FALSE: STATUS ha il valore W#16#0000: né avviso né errore STATUS ha il valore<> W#16#0000: avviso, STATUS fornisce informazioni dettagliate. ERROR=TRUE: si è verificato un errore, STATUS fornisce informazioni dettagliate sul tipo di errore. SD_1 INPUT/ OUTPUT ANY Specifico della 0 CPU Parametro di invio: Indicare qui: • Numero del DB dal quale inviare i dati. • Numero dei byte di dati a partire dal quale inviare i dati. P. es.: DB 10 ab Byte 2 -> DB10.DBB2 LEN 28-48 INPUT/ OUTPUT INT Da 1 a 1024 1 Indicare qui la lunghezza in byte del blocco dati da inviare. (La lunghezza viene indicata indirettamente.) Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Dati nell'intestazione del telegramma Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512. Sorgente nel sistema di automazione S7 dell'utente (CPU locale) A destinazione, CPU partner Intestazione del telegramma, byte 3/4 tipo di comando 5/6 offset Z-DBNR/Z 7/8 numero in Blocco dati Blocco dati AD DB/DW parole Blocco dati Blocco dati ampliato AD DB/DW parole Spiegazione delle abbreviazioni: Z-DBNR Numero del blocco dati di destinazione Z-Offset Indirizzo iniziale della destinazione DW Offset in parole Coerenza dei dati La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre 128 byte, osservare quanto segue. Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di invio si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-49 SFB per CPU compatte 28.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK" Descrizione L'SFB FETCH_RK (SFB 64) permetet di prelevare un blocco di dati dal partner memorizzandoli in un blocco dati. L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando REQ. L'area in cui memorizzare i dati prelevati è predefinita da RD_1 (numero di DB e indirizzo iniziale), la lunghezza del blocco dati da LEN. Indicare eventualmente nell'SFB l'area del partner dalla quale vengono prelevati i dati. Questa informazione viene riportata dalla CPU nell'intestazione del telegramma RK512 (vedere anche allegato F) e trasmessa al partner. L'area del partner viene indicata dal numero della CPU R_CPU (rilevante solo nella comunicazione multiprocessore), dal tipo di dati R_TYPE (blocchi dati, blocchi dati ampliati, merker, ingressi, uscite, contatori e temporizzatori), dal numero di blocco dati R_DBNO (rilevante solo per blocchi dati e blocchi dati ampliati) e dall'offset R_OFFSET nel quale va prelevato il primo byte. Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento nella CPU partner. Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente. Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R la trasmissione in corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato ERROR su TRUE, se il job si è concluso con errori. In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente. DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE). Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza errori, il risultato binario ha lo stato TRUE. Nota L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in stato di STOP. Nota In caso di prelievo di dati dalla propria CPU, occorre programmare nella propria CPU un SFB "SERVE_RK". 28-50 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte DB di istanza L'SFB FETCH_RK opera in combinazione con un DB di istanza. Il numero di DB viene indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito. Particolarità dei blocchi dati (ampliati) Per il job "Prelievo di dati" da blocchi dati e blocchi dati ampliati, osservare quanto segue: • Con RK 512 si può prelevare soltanto un numero pari di dati. Indicando come lunghezza (LEN) un numero di dati dispari, viene sempre trasmesso un byte in più. Nel DB di destinazione viene tuttavia registrato il numero di dati corretto. • Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati vengono prelevati dal partner a partire dal più piccolo offset pari successivo. Esempio: l'offset è 7, vengono prelevati i dati dal byte 6 in poi. Particolarità dei contatori e temporizzatori In caso di prelievo di temporizzatori o contatori dal partner della comunicazione, occorre osservare che per ogni temporizzatore o contatore vengono prelevati 2 byte. Se si desidera prelevare p. es. 10 contatori, occorre indicare la lunghezza 20. Parametri In questo SFB i campi dei valori sono indicati con mnemonico tedesco. Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione Descrizione SYNC_DB INPUT INT Specifico della 0 CPU Numero del DB nel quale vengono memorizzati i dati comuni per la sincronizzazione dell'SFB RK (lunghezza minima 240 byte). REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request": attiva il job con fronte di salita R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset": il job viene interrotto. LADDR INPUT WORD Specifico della W#16#03FF CPU Indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". R_CPU INPUT INT Da 0 a 4 Numero della CPU partner 1 (solo con funzionamento multiprocessore) R_TYPE INPUT CHAR ’D’, ’X’, ’M’, ’E’, ’A’, ’Z’, ’T’ ’D’ Tipo di indirizzo nella CPU partner ’D’: blocco dati ’X’: blocco dati ampliato ’M’: merker ’E’: ingressi ’A’: uscite ’Z’: contatori ’T’: temporizzatori Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-51 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Campo di valori Preassegnazione Descrizione R_DBNO INPUT INT Da 0 a 255 0 Numero di blocco dati nella CPU partner R_OFFSET INPUT INT Vedere tabella: "Parametri FB per sorgente dati (CPU partner)" 0 Numero byte di dati nella CPU partner R_CF_BYT INT Da 0 a 255 255 Byte del merker d'accoppiamento nella CPU partner INPUT (255: significa: senza merker d'accoppiamento) R_CF_BIT INPUT INT Da 0 a 7 0 Bit del merker d'accoppiamento nella CPU partner DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): • FALSE: job non ancora avviato o ancora in esecuzione. • TRUE: job concluso senza errori. ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è impostato solo per la durata di un richiamo): job eseguito con errori STATUS OUTPUT WORD Da W#16#0000 a W#16#FFFF W#16#0000 Parametro di stato (il parametro è impostato solo per la durata di un richiamo. Per visualizzare lo stato, occorre pertanto copiare il parametro STATUS in un'area dati libera) A seconda del bit ERROR, STATUS ha il seguente significato: 28-52 • ERROR=FALSE: STATUS ha il valore W#16#0000: né avviso né errore STATUS ha il valore<> W#16#0000: avviso, STATUS fornisce informazioni dettagliate. • ERROR=TRUE: si è verificato un errore, STATUS fornisce informazioni dettagliate sul tipo di errore. Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte Parametri Dichiarazione Tipo di dati Campo di valori RD_1 INPUT/ OUTPUT Specifico della 0 CPU ANY Preassegnazione Descrizione Parametri di ricezione: Indicare qui: • Il numero del DB nel quale memorizzare i dati prelevati. • Il numero di byte di dati a partire dal quale memorizzare i dati prelevati. P. es.: DB 10 da byte 2 -> DB10.DBB2 LEN INPUT/ OUTPUT INT Da 1 a 1024 1 Indicare qui la lunghezza in byte del blocco di dati da prelevare. (La lunghezza viene indicata indirettamente.) Per ciascun temporizzatore e contatore occorre indicare una lunghezza di 2 byte. Parametri dell'SFB per sorgente di dati (CPU partner) Nella tabella seguente sono riportati i tipi di dati trasmessi. Il valore R_OFFSET è predefinito dalla CPU partner. Sorgente nella CPU partner R_TYP R_NO R_OFFSET (in byte) Blocco dati ’D’ 0 - 255 0 - 510, sono opportuni solo valori pari Blocco dati ampliato ’X’ 0 - 255 0 - 510, sono opportuni solo valori pari Merker ’M’ irrilevante 0 - 255 Ingressi ’E’ irrilevante 0 - 255 Uscite ’A’ irrilevante 0 - 255 Contatori ’Z’ irrilevante 0 - 255 Temporizzatori ’T’ irrilevante 0 - 255 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 28-53 SFB per CPU compatte Dati nell'intestazione del telegramma Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512. Sorgente nella CPU partner A destinazione, sistema di automazione S7 dell'utente (CPU locale) Intestazione del telegramma, byte 3/4 tipo di comando 5/6 offset Q-DBNR/Q 7/8 numero in Blocco dati Blocco dati ED DB/DW Parole Blocco dati ampliato Blocco dati EX DB/DW Parole Merker Blocco dati EM Indirizzo byte Byte Ingressi Blocco dati EE Indirizzo byte Byte Uscite Blocco dati EA Indirizzo byte Byte Contatori Blocco dati EZ N. contatore Parole Temporizzatori Blocco dati ET N. temporizzatore Parole Spiegazione delle abbreviazioni: Q-DBNR Numero del blocco dati della sorgente Q-Offset Indirizzo iniziale della sorgente Coerenza dei dati La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre 128 byte, osservare quanto segue. Scrivere nuovamente la parte attualmente utilizzata dell'area di ricezione RD_1 solo quando la trasmissione si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE. 28-54 Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2 A5E00739862-01 SFB per CPU compatte 28.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" Descrizione L'SFB SERVE_RK (SFB 65) permette di ricevere e rendere disponibili dati. • Ricezione di dati: i dati vengono memorizzati nell'area dati specificata dal partner nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il partner della comunicazione esegue un job "Invio dati" (job SEND). • Messa a disposizione dei dati: i dati vengono prelevati dall'area dati specificata dal partner nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il partner della comunicazione esegue un job "Prelievo dati" (job FETCH). L'SFB è pronto dopo il richiamo con il valore TRUE nell'ingresso di comando EN_R. Una trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel parametro EN_R. I job interrotti si concludono con un messaggio di errore (uscita STATUS). La ricezione resta disattivata finché il parametro EN_R ha lo stato di segnale FALSE. Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente. Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, la trasmissione in corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS). LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella "Configurazione HW". Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su TRUE, se il job si è concluso con errori. Con NDR=TRUE in un richiamo dell'SFB nei parametri L_TYPE, L_DBNO e L_OFFSET, la CPU indica la posizione in cui sono stati memorizzati i dati o quella dalla quale sono stati prelevati. Per il richiamo, inoltre, vengono visualizzati i par