Tempi di ciclo e di reazione ___________________ Prefazione 1 ___________________ Guida alla documentazione SIMATIC S7-1500 Tempi di ciclo e di reazione Manuale di guida alle funzioni 02/2014 A5E03461507-02 2 ___________________ Elaborazione del programma Elaborazione ciclica del 3 ___________________ programma Elaborazione del programma 4 ___________________ comandata da evento Avvertenze di legge Concetto di segnaletica di avvertimento Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. PERICOLO questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi lesioni fisiche. AVVERTENZA il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi lesioni fisiche. CAUTELA indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. ATTENZIONE indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali. Personale qualificato Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili pericoli. Uso conforme alle prescrizioni di prodotti Siemens Si prega di tener presente quanto segue: AVVERTENZA I prodotti Siemens devono essere utilizzati solo per i casi d’impiego previsti nel catalogo e nella rispettiva documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto, un magazzinaggio, un’installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione appropriati e a regola d’arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere osservate le avvertenze contenute nella rispettiva documentazione. Marchio di prodotto Tutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG GERMANIA A5E03461507-02 Ⓟ 02/2014 Con riserva di modifiche Copyright © Siemens AG 2013 - 2014. Tutti i diritti riservati Prefazione Scopo della documentazione Il controllore offre diverse possibilità di elaborare il programma con varie priorità di esecuzione. L'elaborazione del programma è prevalentemente ciclica o comandata a tempo. Perciò anche i tempi di reazione di un controllore dipendono in modo decisivo dai cicli di elaborazione. Inoltre esiste la possibilità dell'elaborazione del programma comandata da evento. Questa si limita normalmente a pochi eventi selezionati. Il presente manuale contiene informazioni sugli argomenti seguenti: ● Tipi di elaborazione del programma ● Priorità di esecuzione ● Tempi di ciclo e di reazione e influssi ai quali sono soggetti ● Possibili impostazioni per l'ottimizzazione del programma utente Nozioni di base necessarie La comprensione della documentazione presuppone le seguenti conoscenze: ● Conoscenze generali nel campo della tecnica di automazione ● Conoscenze del sistema di automazione industriale SIMATIC ● Esperienza nell'utilizzo di computer con sistema operativo Windows ● Esperienza nell'uso di STEP 7/TIA Portal Convenzioni STEP 7: Nella presente documentazione, per la denominazione del software di progettazione e programmazione si utilizza "STEP 7" come sinonimo di "STEP 7 V12 (TIA Portal)" e versioni successive. Osservare anche le avvertenze contrassegnate nel modo seguente: Nota Un'avvertenza contiene importanti informazioni sul prodotto descritto nella documentazione, sulla sua manipolazione o su una parte di documentazione alla quale occorre prestare particolare attenzione. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 3 Prefazione Campo di validità della documentazione La presente documentazione si occupa principalmente i componenti delle CPU dei tempi di ciclo e di reazione del sistema di automazione S7-1500. Per informazioni su altri aspetti dei sistemi di periferia decentrata ET 200MP e ET 200SP si consiglia di consultare i capitoli corrispondenti. Ulteriore supporto Ulteriori informazioni sui prodotti SIMATIC sono disponibili in Internet. Sempre in Internet è disponibile anche la documentazione dei prodotti. ● La documentazione tecnica relativa ai singoli prodotti e sistemi SIMATIC è disponibile in Internet (http://www.siemens.com/simatic-tech-doku-portal). ● Il catalogo e il sistema per le ordinazioni online sono disponibili in Internet (http://mall.automation.siemens.com). Indicazioni di sicurezza Siemens commercializza prodotti di automazione e di azionamento per la sicurezza industriale che contribuiscono al funzionamento sicuro di impianti, soluzioni, macchinari, apparecchiature e/o reti. Questi prodotti sono componenti essenziali di una concezione globale di sicurezza industriale. In quest’ottica i prodotti Siemens sono sottoposti ad un processo continuo di sviluppo. Consigliamo pertanto di controllare regolarmente la disponibilità di aggiornamenti relativi ai prodotti. Per il funzionamento sicuro di prodotti e soluzioni Siemens è necessario adottare idonee misure preventive (ad es. un concetto di protezione di cella) e integrare ogni componente in un concetto di sicurezza industriale globale all’avanguardia. Considerare in questo contesto anche i prodotti impiegati da altri costruttori. Per ulteriori informazioni sulla sicurezza industriale, vedere qui (http://www.siemens.com/industrialsecurity). Per restare informati sugli aggiornamenti cui vengono sottoposti i nostri prodotti, suggeriamo di iscriversi ad una newsletter specifica del prodotto. Per ulteriori informazioni, vedere qui (http://support.automation.siemens.com). Tempi di ciclo e di reazione 4 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Indice del contenuto Prefazione .............................................................................................................................................. 3 1 Guida alla documentazione ..................................................................................................................... 6 2 Elaborazione del programma .................................................................................................................. 8 3 Elaborazione ciclica del programma ...................................................................................................... 11 4 3.1 Ciclo .............................................................................................................................................11 3.2 3.2.1 3.2.2 3.2.2.1 3.2.2.2 3.2.2.3 Tempo di ciclo ..............................................................................................................................12 Tempi di ciclo diversi ....................................................................................................................12 Fattori che influiscono sul tempo di ciclo .....................................................................................16 Tempo di aggiornamento delle immagini di processo .................................................................16 Tempo di elaborazione del programma utente ............................................................................17 Prolungamento del tempo di ciclo a causa del carico della comunicazione ................................19 3.3 Elaborazione del programma comandata a tempo negli allarmi di schedulazione orologio........21 3.4 Tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo ...................23 3.5 Sintesi del tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo ...........................................................................................................................................26 Elaborazione del programma comandata da evento .............................................................................. 27 4.1 Tempo di reazione della CPU in caso di elaborazione del programma comandata da evento ..........................................................................................................................................27 4.2 Tempo di reazione del processo nel caso dell'elaborazione del programma comandata da evento ..........................................................................................................................................29 Glossario .............................................................................................................................................. 30 Indice analitico ...................................................................................................................................... 31 Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 5 1 Guida alla documentazione Introduzione La documentazione dei prodotti SIMATIC è strutturata in moduli e tratta gli argomenti relativi al sistema di automazione in uso. La documentazione completa per il sistema S7-1500 è costituita da un manuale di sistema, dai manuali di guida alle funzioni e dai manuali di prodotto. Inoltre, il sistema di informazione di STEP 7 (Guida in linea) costituisce un supporto alla progettazione e alla programmazione del sistema di automazione. Panoramica dell'ulteriore documentazione da consultare in materia di tempi di ciclo e di reazione Nella tabella seguente è riportata l'ulteriore documentazione sui tempi di ciclo e di reazione complementare alla presente descrizione. Tabella 1- 1 Documentazione relativa ai tempi di ciclo e di reazione Argomento Documentazione Informazioni importanti Descrizione del sistema Manuale di sistema Sistema di automazione S7-1500 (http://support.automation.siemens.com/WW/vi ew/it/59191792) • Operazioni preliminari • Montaggio • Collegamento • Messa in servizio • Schema elettrico a blocchi • Collegamento • Parametrizzazione/ indirizzamento • Messaggi di diagnostica/ /allarmi • Dati tecnici • Disegni quotati Manuale di sistema Sistema di periferia decentrata ET 200SP (http://support.automation.siemens.com/WW/vi ew/it/58649293) Manuale di sistema Sistema di periferia decentrata ET 200MP (http://support.automation.siemens.com/WW/vi ew/it/59193214) CPU Manuale del prodotto CPU 1511-1 PN (http://support.automation.siemens.com/WW/vi ew/it/68020492) Manuale del prodotto CPU 1513-1 PN (http://support.automation.siemens.com/WW/vi ew/it/59186494) Manuale del prodotto CPU 1515-2 PN (http://support.automation.siemens.com/WW/vi ew/it/81162167) Tempi di ciclo e di reazione 6 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Guida alla documentazione Argomento Documentazione Informazioni importanti Manuale del prodotto CPU 1516-3 PN/DP (http://support.automation.siemens.com/WW/vi ew/it/59191914) Manuale del prodotto CPU 1518-4 PN/DP (http://support.automation.siemens.com/WW/vi ew/it/81164632) Sincronizzazione di clock per PROFINET Manuale di guida alle funzioni PROFINET con STEP 7 V13 (http://support.automation.siemens.com/WW/vi ew/it/49948856) Sincronizzazione di clock per PROFIBUS Manuale di guida alle funzioni PROFIBUS con STEP 7 V13 (http://support.automation.siemens.com/WW/vi ew/it/59193579) • Sincronizzazione di clock per PROFINET • Istruzioni "SYNC_PI" e "SYNC_PO" • Sincronizzazione di clock per PROFIBUS • Istruzioni "SYNC_PI" e "SYNC_PO" Manuali SIMATIC In Internet (http://www.siemens.com/automation/service&support) sono disponibili tutti i manuali aggiornati sui prodotti SIMATIC da scaricare gratuitamente. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 7 2 Elaborazione del programma Introduzione Spesso si scrive il programma utente con un OB ciclico, generalmente l'OB 1. Nelle applicazioni complesse spesso è difficile rispettare i tempi di reazione richiesti. In molti casi il problema può essere risolto dividendo il programma utente in parti corrispondenti ai diversi tempi di reazione richiesti. A riguardo la CPU mette a disposizione una serie di tipi diversi di OB di cui è possibile modificare le proprietà (priorità, frequenza...) in base alle diverse richieste. Organizzazione del programma Il programma utente può essere elaborato nei seguenti modi: Elaborazione nel programma ciclico della CPU: Nel più semplice dei casi il programma utente si elabora per intero nel programma ciclico della CPU. Tutti i compiti nel programma utente vengono elaborati con uguale priorità. Ne deriva che anche i tempi di reazione sono gli stessi per tutti i compiti. Oltre all'elaborazione nel programma ciclico è possibile anche l'elaborazione comandata a tempo e quella su evento. Elaborazione comandata a tempo: Un programma utente complesso è spesso costituito da parti che richiedono tempi di reazione diversi. Queste esigenze diverse si possono sfruttare per ottimizzare i tempi di reazione. Le parti del programma che richiedono tempi di reazione più rapidi possono essere inserite negli OB con priorità più alta e ciclo più breve, ad es. gli OB di schedulazione orologio. Queste parti perciò possono essere elaborate con diversa frequenza e con diverse priorità. Elaborazione comandata da evento: A seconda dei moduli di periferia utilizzati si possono progettare per determinati eventi di processo (ad es. cambio di fronte di un ingresso digitale) degli interrupt che provocano il richiamo dell'OB di interrupt di processo corrispondente. Gli interrupt di processo hanno una prorità superiore e interrompono il programma ciclico della CPU. Grazie agli interrupt di processo che attivano direttamente l'elaborazione del programma,si possono ottenere tempi di reazione molto brevi nella periferia centrale. Va tuttavia considerato che l'uso di molti interrupt di processo rende meno prevedibile il comportamento dell'applicazione nel tempo. Questo perché il modo in cui gli eventi di attivazione si susseguono può determinare tempi di reazione molto diversi. Suggerimento: Utilizzare gli interrupt di processo solo per pochi eventi selezionati. Tempi di ciclo e di reazione 8 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione del programma Utilizzo delle immagini di processo parziali Se un programma è stato suddiviso in diversi OB, ad es. perché sono richiesti tempi di reazione diversi, è opportuno, e spesso necessario, assegnare a questi OB l'aggiornamento dei dati di periferia utilizzati. A tal fine si utilizzano le immagini di processo parziali. In un'immagine di processo parziale si raggruppano i dati di ingresso e di uscita in base al loro utilizzo nel programma e li si assegna ai rispettivi OB. Questo consente di ottimizzare i tempi di reazione perché l'aggiornamento della periferia viene sincronizzato direttamente con l'elaborazione nel programma. Un'immagine di processo parziale degli ingressi (IPPI) consente di far aggiornare i dati di ingresso appartenenti al programma di un OB direttamente prima dell'avvio dell'OB. Un'immagine di processo parziale delle uscite (IPPU) consente di attivare nelle uscite i dati di uscita appartenenti al programma dell'OB direttamente dopo l'esecuzione del programma dell'OB. Sono disponibili 32 (0 … 31) immagini di processo parziali. Per default la periferia è assegnata all'immagine di processo parziale 0 (impostazione: "Aggiornamento automatico"). L'immagine di processo parziale 0 è assegnata in modo stabile all'elaborazione ciclica. Questo "aggiornamento delle immagini di processo parziali da parte del sistema" deve essere progettato. Ulteriori informazioni sulla progettazione delle immagini di processo parziali sono riportate nella Guida in linea di STEP 7 alla voce "Assegnazione dell'immagine di processo/immagine di processo parziale". Possibilità di interruzione del programma I blocchi organizzativi vengono elaborati in base alla loro priorità. Nella maggior parte degli OB la priorità può essere modificata in base ai tempi di reazione richiesti. Tutti gli OB di ciclo hanno sempre la priorità più bassa pari a 1. La priorità più elevata è 26. I task di comunicazione hanno sempre la priorità 15. A seconda delle esigenze la priorità dei blocchi può essere modificata e sostituita con una priorità superiore a quella per la comunicazione. I blocchi organizzativi e le attività di sistema con priorità maggiore interrompono quelli con priorità minore, prolungandone il tempo di esecuzione. Se due compiti in attesa hanno la stessa priorità, verranno elaborati consecutivamente nell'ordine in cui si sono presentati. Nota OB con maggiore priorità La funzionalità della comunicazione è fortemente influenzata dagli OB con priorità > 15 se sono troppo numerosi o hanno tempi di esecuzione lunghi. Per non influenzare troppo la funzionalità della comunicazione è opportuno prestare attenzione alla durata del tempo di esecuzione quando si utilizzano OB con priorità > 15. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 9 Elaborazione del programma Riferimenti Per ulteriori informazioni sulle priorità consultare il manuale di sistema Sistema di automazione S7-1500 (http://support.automation.siemens.com/WW/view/it/59191792), capitolo Eventi e OB. Tempi di ciclo e di reazione 10 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.1 3 Ciclo Introduzione In questa sezione viene spiegato il significato del termine "ciclo". Definizione di ciclo Nel sistema di automazione S7-1500 un ciclo comprende le seguenti parti: ● Aggiornamento dell'immagine di processo parziale 0 degli ingressi (IPPI 0) ● Elaborazione del programma ciclico ● Aggiornamento dell'immagine di processo parziale 0 delle uscite (IPPU 0) L'immagine di processo parziale 0 è assegnata in modo stabile al ciclo. L'assegnazione degli indirizzi di periferia alle immagini di processo parziali può essere effettuata in Configurazione HW nel TIA Portal impostando "Aggiornamento automatico" (default) per i moduli di periferia. La seguente figura spiega le fasi che vengono eseguite nel corso di un ciclo. ① ② Il sistema operativo avvia la misura del tempo di ciclo. ③ ④ ⑤ La CPU elabora il programma utente ed esegue le operazioni indicate nel programma. La CPU legge lo stato degli ingressi nel modulo di ingresso e scrive i dati di ingresso nell'immagine di processo degli ingressi. La CPU scrive nei moduli di uscita gli stati dell'immagine di processo delle uscite. Il sistema operativo valuta il tempo di ciclo e riavvia la misura. Figura 3-1 Ciclo Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 11 Elaborazione ciclica del programma 3.2 Tempo di ciclo 3.2 Tempo di ciclo Introduzione In questa sezione viene spiegato il significato del termine "tempo di ciclo" e come valutare il tempo di ciclo. Definizione di tempo di ciclo Il tempo di ciclo è il tempo richiesto dalla CPU per elaborare il programma ciclico, aggiornare l'immagine di processo degli ingressi e delle uscite e elaborare tutti i componenti del programma e le attività di sistema che interrompono il ciclo. 3.2.1 Tempi di ciclo diversi Introduzione Il tempo di ciclo (Tciclo) non è lo stesso per tutti i cicli perché i tempi di elaborazione possono variare. Le cause possono essere ad es.: ● Tempi di esecuzione del programma diversi (ad es. loop di programma, comandi condizionati, richiami di blocchi condizionati o percorsi di programma diversi) ● Prolungamento a causa di interruzioni (ad es. elaborazione di allarmi comandata a tempo, elaborazione degli interrupt di processo o comunicazione) Tempi di ciclo e di reazione 12 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.2 Tempo di ciclo Cause che determinano tempi di ciclo diversi Il tempo di ciclo Tciclo2 è maggiore di Tciclo1 perché in questo esempio il programma ciclico viene interrotto da un OB di schedulazione orologio (ad es.: OB 30). L'OB di schedulazione orologio a sua volta viene interrotto dalla comunicazione. La figura seguente mostra i diversi tempi di ciclo Tciclo1 e Tciclo2. Figura 3-2 Possibili cause alla base di tempi di ciclo diversi Tempo di ciclo minimo Per una CPU si può impostare con STEP 7 un tempo di ciclo minimo. L'impostazione di default per il tempo di ciclo minimo è un millisecondo. Nei casi che seguono può essere opportuno utilizzare un'impostazione maggiore: ● per ridurre la variabilità del tempo di ciclo ● per mettere il tempo di calcolo restante a disposizione dei compiti di comunicazione. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 13 Elaborazione ciclica del programma 3.2 Tempo di ciclo Tempo di ciclo massimo Il tempo di ciclo viene sorvegliato dalla CPU. Per default è impostato un tempo di ciclo di 150 ms. Questo valore può essere modificato parametrizzando la CPU. Se il tempo di ciclo è maggiore di quello massimo impostato viene richiamato l'OB di errore temporale (OB 80). Il tempo di ciclo massimo si può riavviare e quindi prolungare con l'istruzione "RE_TRIGR". Con il programma utente nell'OB 80 si stabilisce la reazione della CPU all'errore temporale. Alle seguenti condizioni la CPU entra in STOP: ● Se non è stato caricato l'OB 80 ● Se il ciclo non si è ancora concluso dopo un ulteriore tempo di ciclo massimo Si noti che in seguito alle interruzioni il tempo di ciclo aumenta, come illustrato nell'immagine precedente. Tempi di ciclo e di reazione 14 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.2 Tempo di ciclo Statistica del tempo di ciclo In STEP 7 o in TIA Portal è possibile visualizzare una statistica del tempo di ciclo e rilevare il tempo di ciclo minimo e massimo con l'istruzione "RT_INFO". Queste informazioni sono necessarie per poter definire i tempi di reazione del programma utente nel ciclo. Per visualizzare una statistica del tempo di ciclo procedere nel seguente modo: 1. Ristabilire il collegamento online con la CPU nel TIA Portal. 2. Selezionare la task card Tool online sulla destra. Risultato: Nella sezione Tempo di ciclo compare il diagramma della statistica del tempo di ciclo. La figura seguente mostra un dettaglio del TIA Portal con la statistica del tempo di ciclo. In questo esempio il tempo di ciclo varia tra 7 ms e 12 ms. Il tempo di ciclo attuale è di 10 ms. In questo esempio il tempo di ciclo massimo impostato è di 40 ms. Figura 3-3 Statistica del tempo di ciclo Per avere maggiori informazioni sul comportamento del tempo di esecuzione della CPU si può utilizzare l'istruzione "RT_INFO" nel programma utente. L'istruzione consente di visualizzare la percentuale di risorse della CPU occupate dal programma di controllo e dalla comunicazione oltre che di leggere la statistica del tempo di esecuzione dei singoli OB. Riferimenti Maggiori informazioni sull'istruzione "RT_INFO" sono disponibili nella Guida in linea a STEP 7. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 15 Elaborazione ciclica del programma 3.2 Tempo di ciclo 3.2.2 Fattori che influiscono sul tempo di ciclo 3.2.2.1 Tempo di aggiornamento delle immagini di processo Introduzione Questa sezione spiega come valutare il tempo di aggiornamento delle immagini di processo parziali. Tempi di aggiornamento delle immagini di processo parziali Il tempo di aggiornamento delle immagini di processo parziali dipende dal numero dei dati della periferia centrale e decentrata. Il tempo di aggiornamento si può valutare con la formula seguente: carico di base per l'aggiornamento dell'immagine di processo + numero di parole nell'immagine di processo x tempo di copia per la periferia centrale + numero di parole nell'immagine di processo su DP x tempo di copia per PROFIBUS + numero di parole nell'immagine di processo su PROFINET x tempo di copia per la periferia PROFINET __________________________________________________________________________________ = tempo di aggiornamento dell'immagine di processo parziale Nella tabella seguente sono riportati i tempi per la valutazione del tempo di aggiornamento tipico delle immagini di processo parziali. Tabella 3- 1 Dati per la valutazione del tempo di aggiornamento tipico dell'immagine di processo parziale Componenti Tempo di aggiornamento della CPU 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP Carico di base 35 μs per l'aggiornamento dell'immagine di processo parziale 35 μs 30 μs 30 μs 5 μs Tempo di copia della periferia centrale 9 μs/parola 9 μs/parola 8 μs/parola 8 μs/parola 4 μs/parola Tempo di copia della periferia decentrata su PROFIBUS 0,5 μs/parola 0,5 μs/parola 0,5 μs/parola 0,5 μs/parola 0,3 μs/parola Tempo di copia della periferia decentrata su PROFINET 0,5 μs/parola 0,5 μs/parola 0,5 μs/parola 0,5 μs/parola 0,3 μs/parola Tempi di ciclo e di reazione 16 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.2 Tempo di ciclo 3.2.2.2 Tempo di elaborazione del programma utente Introduzione I blocchi organizzativi e le attività di sistema con priorità maggiore interrompono quelli con priorità minore, prolungandone il tempo di esecuzione. Tempo di elaborazione del programma senza interruzioni Il programma utente ha un determinato tempo di esecuzione senza interruzioni. La lunghezza del tempo di esecuzione varia in funzione delle operazioni che vengono eseguite nel programma utente. La tabella seguente indica la durata delle operazioni. Tabella 3- 2 Durata di un'operazione CPU 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP Operazioni a bit, tip. 60 ns 40 ns 30 ns 10 ns 1 ns Operazioni a parola tip. 72 ns 48 ns 36 ns 12 ns 2 ns Aritmetica a virgola fissa, tip. 96 ns 64 ns 48 ns 16 ns 2 ns Aritmetica a virgola mobile, tip. 384 ns 256 ns 192 ns 64 ns 6 ns Nota Istruzione "RUNTIME" I tempi di esecuzione delle sequenze di programma possono essere misurati con l'istruzione "RUNTIME". Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 17 Elaborazione ciclica del programma 3.2 Tempo di ciclo Prolungamento a causa dell'annidamento di OB e/o allarmi con priorità maggiore L'interruzione di un programma utente a causa di un OB con maggiore priorità causa un determinato dispendio di tempo di base. Oltre al tempo di aggiornamento delle immagini di processo parziali e al tempo di elaborazione del programma utente anche questo dispendio di base va tenuto in considerazione. Le tabelle seguenti riportano i tempi necessari per i diversi allarmi ed eventi di errore. Tabella 3- 3 Tempo di base utilizzato per un allarme CPU 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP Interrupt di processo 90 μs 90 μs 80 μs 80 μs 12 μs Allarme dall'orologio 90 μs 90 μs 80 μs 80 μs 12 μs Allarme di ritardo 90 μs 90 μs 80 μs 80 μs 12 μs Schedulazione orologio 90 μs 90 μs 80 μs 80 μs 12 μs Tabella 3- 4 Tempo di base utilizzato per un OB di errore CPU 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP Errore di programmazione 90 μs 90 μs 80 μs 80 μs 12 μs Errore di accesso 90 μs alla periferia 90 μs 80 μs 80 μs 12 μs Errore temporale 90 μs 90 μs 80 μs 80 μs 12 μs Allarme di diagnostica 90 μs 90 μs 80 μs 80 μs 12 μs Guasto/ripristino dell'unità 90 μs 90 μs 80 μs 80 μs 12 μs Guasto/ripristino della stazione 90 μs 90 μs 80 μs 80 μs 12 μs Riferimenti Per ulteriori informazioni sull'elaborazione degli errori consultare il manuale di sistema Sistema di automazione S7-1500 (http://support.automation.siemens.com/WW/view/it/59191792), capitolo Eventi e OB. Tempi di ciclo e di reazione 18 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.2 Tempo di ciclo 3.2.2.3 Prolungamento del tempo di ciclo a causa del carico della comunicazione Influenza della comunicazione sul tempo di ciclo Nel modello di esecuzione della CPU i compiti di comunicazione vengono elaborati con la priorità 15. Tutte le parti del programma con priorità > 15 non vengono influenzati dalla comunicazione. Carico della comunicazione progettato Il sistema operativo della CPU mette a disposizione per la comunicazione al massimo la percentuale della capacità di elaborazione complessiva della CPU progettata dall'utente. Nel TIA Portal il carico di comunicazione per il sistema di automazione S7-1500 è impostato per default a 50 %. Se questa capacità di elaborazione non viene utilizzata per la comunicazione, resta a disposizione del sistema operativo e del programma utente. Alla comunicazione viene assegnato il tempo di calcolo corrispondente in un intervallo di 1 ms con priorità 15. Con un carico di comunicazione del 50 % ogni millisecondo vengono utilizzati 500 μs per la comunicazione. La formula risultante per valutare il prolungamento del tempo di ciclo a causa della comunicazione è la seguente: Figura 3-4 Formula: influenza del carico di comunicazione Se il carico di comunicazione del 50% viene utilizzato interamente (default) si ottiene il valore seguente: Figura 3-5 Prolungamento del tempo di ciclo a causa della comunicazione Se si utilizza il carico di comunicazione di default il tempo di ciclo effettivo è fino a due volte superiore al tempo di ciclo senza comunicazione. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 19 Elaborazione ciclica del programma 3.2 Tempo di ciclo Rapporto di dipendenza del tempo di ciclo massimo dal carico di comunicazione progettato Il diagramma mostra la relazione non lineare tra tempo di ciclo massimo e carico di comunicazione progettato con un tempo di 10 ms per il solo ciclo, ovvero senza interruzioni. Figura 3-6 Tempo di ciclo massimo in funzione del carico di comunicazione progettato L'influenza del carico di comunicazione sul tempo di elaborazione vale per tutti gli OB con priorità ≤ 15. Riduzione del tempo di ciclo in seguito a un minor carico di comunicazione Il valore del carico di comunicazione può essere ridotto nella configurazione hardware. Se si sostituisce l'impostazione di default pari a 50 % con un carico di comunicazione di, ad esempio, 20 %, il tempo di ciclo diminuisce da 2 x tempo di ciclo senza comunicazione a 1,25 x tempo di ciclo senza comunicazione. Tempi di ciclo e di reazione 20 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.3 Elaborazione del programma comandata a tempo negli allarmi di schedulazione orologio Effetto sul tempo di ciclo reale La comunicazione è solo una delle cause del prolungarsi del tempo di ciclo. Tutte le impostazioni che comportano un prolungamento del tempo di ciclo fanno sì che all'interno di un ciclo si possano verificare diversi eventi asincroni che prolungano ulteriormente il programma ciclico. Questo prolungamento dipende da quanti eventi si verificano nel programma ciclico e dalla durata dell'elaborazione di questi eventi. Nota Verifica delle modifiche dei parametri • Controllare gli effetti di una variazione del valore del parametro "Carico del ciclo a causa della comunicazione" durante il funzionamento dell'impianto. • Per evitare errori temporali tenere presente il carico di comunicazione nell'impostare il tempo di ciclo max. Suggerimenti Applicare se possibile il valore preimpostato per il carico di comunicazione progettato. Se si riduce il valore del carico di comunicazione i task di comunicazione vengono interrotti dagli OB che hanno una priorità maggiore. Di conseguenza anche l'elaborazione della comunicazione richiede più tempo. 3.3 Elaborazione del programma comandata a tempo negli allarmi di schedulazione orologio Un allarme di schedulazione orologio consente di far elaborare ripetutamente un determinato programma con una cadenza definita. Questo programma viene elaborato con una priorità superiore e definibile dall'utente ed è quindi indipendente dal tempo di elaborazione del programma ciclico. Questo significa che il programma di schedulazione orologio ha una priorità superiore a quella del ciclo. Suggerimento: il prolungamento di parti del programma negli allarmi di schedulazione orologio consente di abbreviare i corrispondenti tempi di reazione ovvero di adeguarli meglio alle esigenze specifiche. Per l'elaborazione degli allarmi di schedulazione orologio in STEP 7 sono disponibili i blocchi organizzativi dall'OB 30 all'OB 38. Ulteriori allarmi di schedulazione orologio si possono creare a partire dal blocco organizzativo OB 123. Il numero dei blocchi organizzativi disponibili varia in funzione della CPU utilizzata. Definizione Un allarme di schedulazione orologio è un allarme attivato ripetutamente a una cadenza determinata che avvia l'elaborazione di un OB di schedulazione orologio. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 21 Elaborazione ciclica del programma 3.3 Elaborazione del programma comandata a tempo negli allarmi di schedulazione orologio Clock della schedulazione orologio Il clock della schedulazione orologio è definito come il tempo compreso tra un richiamo di un OB di schedulazione orologio e il successivo. La figura seguente mostra un esempio di clock di un allarme di schedulazione orologio. Figura 3-7 Intervallo di richiamo di un allarme di schedulazione orologio Precisione di un allarme di schedulazione orologio Se un allarme di schedulazione orologio non viene interrotto da un OB di priorità maggiore o da attività di comunicazione, la precisione con cui viene avviato è ancora soggetta a variazioni del sistema. La tabella seguente mostra la precisione con cui viene attivato un allarme di schedulazione orologio: Tabella 3- 5 Precisione degli allarmi di schedulazione orologio CPU 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP Schedulazione orologio ±90 μs ±90 μs ±80 μs ±80 μs ±25 μs Tempi di ciclo e di reazione 22 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.4 Tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo 3.4 Tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo Introduzione In questa sezione viene spiegato il significato del termine "tempo di reazione" e come calcolare il tempo di reazione. Definizione Nel caso dell'elaborazione ciclica e comandata a tempo del programma il tempo di reazione è il tempo che trascorre dal riconoscimento di un segnale d'ingresso alla variazione di un segnale d'uscita ad esso correlato. Variazione del tempo di reazione della CPU In caso di elaborazione ciclica del programma il tempo di reazione effettivo della CPU varia da uno a due tempi di ciclo e in caso di elaborazione comandata a tempo da uno a due cicli di schedulazione orologio. Nel progettare un impianto si deve sempre fare riferimento al tempo di reazione più lungo. La seguente figura mostra il tempo di reazione più breve e più lungo in seguito a un evento nella CPU. Figura 3-8 Tempo di reazione minimo e massimo della CPU Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 23 Elaborazione ciclica del programma 3.4 Tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo Fattori Per determinare il tempo di reazione del processo è necessario tenere in considerazione, oltre al tempo di reazione della CPU descritto precedentemente, anche i fattori seguenti: ● Ritardo degli ingressi e delle uscite nel modulo IO ● Tempi di aggiornamento per PROFINET IO o tempi di ciclo DP su PROFIBUS DP ● Tempi di commutazione dei sensori e degli attuatori utilizzati Ritardo sugli ingressi e le uscite dei moduli I ritardi nel tempo di reazione vengono generati negli ingressi e nelle uscite dei moduli e da ritardi interni alle stazioni (ad es. moduli di interfaccia). I tempi di ritardo e di ciclo sono riportati nei dati tecnici dei moduli IO. Tempo di aggiornamento con periferia decentrata Se si utilizza una periferia decentrata il tempo di reazione max. si prolunga ulteriormente a causa dei tempi di trasferimento sul bus PROFIBUS o PROFINET. Questi tempi di trasferimento sul bus si generano sia al momento dell'immissione che dell'emissione delle immagini di processo parziali. I tempi di trasferimento sul bus corrispondono al tempo di aggiornamento del bus della stazione decentrata. PROFINET IO Se si configura il sistema PROFINET IO con STEP 7, STEP 7 calcola il tempo di aggiornamento. Selezionare l'interfaccia PROFINET del modulo di periferia. Selezionare nella scheda Generale "Opzioni avanzate > Impostazioni Realtime > Ciclo IO". Il tempo di aggiornamento viene visualizzato nel campo "Tempo di aggiornamento". PROFIBUS DP Se si configura il sistema master PROFIBUS DP con STEP 7, STEP 7 calcola il tempo di ciclo DP. Selezionare la sottorete PROFIBUS nella Vista di rete. Navigare nella scheda Generale nella finestra di ispezione e selezionare Parametri del bus. Il tempo di ciclo DP viene visualizzato nel campo "Parametri" in corrispondenza di "Standard Ttr". La figura seguente mostra gli ulteriori tempi di esecuzione del bus quando si utilizza una periferia decentrata. Figura 3-9 Ulteriori tempi di esecuzione del bus con periferia decentrata I tempi di reazione si possono ulteriormente ottimizzare con il funzionamento in sincronismo di clock. Tempi di ciclo e di reazione 24 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione ciclica del programma 3.4 Tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo Riferimenti Per maggiori informazioni consultare i seguenti link: ● Tool per il rilevamento del tempo di reazione in PROFINET (http://support.automation.siemens.com/WW/view/it/21869080) ● Tool per il rilevamento del tempo di reazione in PROFIBUS (http://support.automation.siemens.com/WW/view/it/21178141) ● Tempi di trasferimento e sincronismo di clock nel manuali di guida alle funzioni PROFINET con STEP 7 V13 (http://support.automation.siemens.com/WW/view/it/49948856), per ulteriori informazioni consultare il capitolo Suggerimenti per la configurazione ● Tempi di trasferimento e sincronismo di clock nel manuali di guida alle funzioni PROFIBUS con STEP 7 V13 (http://support.automation.siemens.com/WW/view/it/59193579), per ulteriori informazioni consultare il capitolo Impostazioni di rete ● I ritardi sugli ingressi e le uscite dei moduli sono specificati nel manuale del prodotto. ● I ritardi interni alle stazioni sono specificati nei manuali di prodotto dei sistemi di periferia decentrata ET 200MP e ET 200SP. Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 25 Elaborazione ciclica del programma 3.5 Sintesi del tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo 3.5 Sintesi del tempo di reazione nell'elaborazione del programma ciclica e comandata a tempo Valutazione del tempo di reazione più breve e più lungo Per valutare il tempo di reazione più breve e più lungo è possibile orientarsi alla formula seguente. Valutazione del tempo di reazione più breve Il tempo di reazione più breve è costituito da: 1 x ritardo dell'unità IO per gli ingressi + 1 x (aggiornamento PROFINET IO o PROFIBUS DP)* + 1 x tempo di trasferimento delle immagini di processo degli ingressi + 1 x elaborazione del programma utente + 1 x tempo di trasferimento delle immagini di processo delle uscite + 1 x (aggiornamento PROFINET IO o PROFIBUS DP)* + 1 x ritardo dell'unità IO per le uscite _________________________________________________________________________________ = tempo di reazione più breve * Il tempo dipende dalla configurazione e dall'estensione della rete. Il tempo di reazione più breve corrisponde alla somma del tempo di ciclo e del ritardo degli ingressi e delle uscite. Valutazione del tempo di reazione più lungo Il tempo di reazione più lungo è costituito da: 1 x ritardo dell'unità IO per gli ingressi + 2 x (aggiornamento PROFINET IO o PROFIBUS DP)* + 2 x tempo di trasferimento delle immagini di processo degli ingressi + 2 x elaborazione del programma utente + 2 x tempo di trasferimento delle immagini di processo delle uscite + 2 x (aggiornamento PROFINET IO o PROFIBUS DP)* + 1 x ritardo dell'unità IO per le uscite _________________________________________________________________________________ = tempo di reazione più lungo * Il tempo dipende dalla configurazione e dall'estensione della rete. Il tempo di reazione più lungo corrisponde alla somma del doppio tempo di ciclo e del ritardo degli ingressi e delle uscite. Al tempo di reazione più lungo si somma il doppio tempo di aggiornamento per PROFINET IO o il doppio tempo di ciclo DP su PROFIBUS DP. Tempi di ciclo e di reazione 26 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 4 Elaborazione del programma comandata da evento 4.1 Tempo di reazione della CPU in caso di elaborazione del programma comandata da evento Introduzione Gli interrupt di processo si utilizzano per acquisire direttamente gli eventi del processo nel programma utente e per poter reagire con un programma adeguato. Per l'elaborazione di un interrupt di processo in STEP 7 sono disponibili i blocchi organizzativi dall'OB 40 all'OB 47. Ulteriori interrupt di processo si possono creare a partire dal blocco organizzativo OB 123. Il numero dei blocchi organizzativi disponibili varia in funzione della CPU utilizzata. Definizione Un interrupt di processo è un allarme che viene attivato durante l'elaborazione del programma da un evento del processo capace di generare allarmi. Il sistema operativo richiama l'OB di allarme corrispondente interrompendo l'elaborazione del ciclo di programma e le parti di programma con minore priorità. Tempi di reazione all'allarme delle CPU I tempi di reazione delle CPU iniziano quando si verifica un evento che causa un interrupt di processo nella CPU e terminano con l'attivazione del corrispondente OB di allarme. Questo tempo è soggetto a variazioni del sistema, per cui si registrano un tempo di reazione all'allarme minimo e uno max. La tabella seguente contiene la lunghezza dei tempi di reazione della CPU per gli interrupt di processo. Tabella 4- 1 Tempi di reazione della CPU per gli interrupt di processo CPU Tempi di reazione all'allarme 1511-1 PN 1513-1 PN 1515-2 PN 1516-3 PN/DP 1518-4 PN/DP min. 100 μs 100 μs 90 μs 90 μs 20 μs max. 400 μs 400 μs 360 μs 360 μs 90 μs Osservare che questi tempi si prolungano in presenza di allarmi da elaborare con maggiore priorità e se all'OB è assegnata un'immagine parziale di processo. Tali tempi sono riportati nella tabella Tempi per gli allarmi (Pagina 18). Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 27 Elaborazione del programma comandata da evento 4.1 Tempo di reazione della CPU in caso di elaborazione del programma comandata da evento Influenza della comunicazione sugli allarmi La CPU elabora sempre i compiti di comunicazione con la priorità 15. Se l'elaborazione dell'allarme non deve essere ritardata o interrotta dalla comunicazione, progettare l'elaborazione dell'allarme con una priorità >15. Per default sono impostate elaborazioni degli allarmi con la priorità 16. Riferimenti Per ulteriori informazioni sul numero di blocchi organizzativi disponibili consultare il manuale di sistema Sistema di automazione S7-1500 (http://support.automation.siemens.com/WW/view/it/59191792), capitolo Eventi e OB. Ulteriori informazioni relative alla progettazione degli interrupt di processo sono riportate nella Guida in linea di STEP 7. Vedere anche Tempo di elaborazione del programma utente (Pagina 17) Tempi di ciclo e di reazione 28 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Elaborazione del programma comandata da evento 4.2 Tempo di reazione del processo nel caso dell'elaborazione del programma comandata da evento 4.2 Tempo di reazione del processo nel caso dell'elaborazione del programma comandata da evento Il tempo di reazione del processo in caso di elaborazione del programma comandata da evento viene determinato dai seguenti punti: ● Tempi di ritardo dei moduli di ingresso e di uscita utilizzati ● Tempi di aggiornamento per PROFIBUS/PROFINET nei moduli della periferia decentrata ● Tempo di reazione all'allarme della CPU ● Tempi di esecuzione dell'OB di allarme con aggiornamento dell'immagine di processo parziale La figura seguente mostra i singoli passaggi dell'elaborazione del programma comandata da evento. Figura 4-1 Rappresentazione schematica dell'elaborazione del programma comandata da evento Tempi di ciclo e di reazione Manuale di guida alle funzioni, 02/2014, A5E03461507-02 29 Glossario Allarme Il sistema operativo della CPU distingue diverse classi di priorità che regolano l'elaborazione del programma utente. A queste classi di priorità appartengono gli allarmi, ad es. gli interrupt di processo. Quando viene attivato un allarme il sistema operativo richiama automaticamente un blocco organizzativo che gli è stato assegnato e nel quale l'utente può programmare la reazione desiderata. Allarme di diagnostica Tramite gli allarmi di diagnostica, le unità con funzioni di diagnostica segnalano alla CPU gli errori di sistema riconosciuti. Immagine di processo L'immagine di processo è parte integrante della memoria di sistema della CPU. All'inizio del programma ciclico gli stati di segnale delle unità degli ingressi vengono trasferiti all'immagine di processo degli ingressi. Alla fine del programma ciclico l'immagine di processo delle uscite viene trasferita come stato di segnale alle unità delle uscite. Interrupt di processo Un interrupt di processo viene avviato dalle unità con capacità di generare allarmi quando si verifica un determinato evento nel processo. L'interrupt di processo viene segnalato alla CPU. In base alla priorità dell'interrupt viene quindi elaborato il blocco organizzativo corrispondente. Schedulazione orologio La schedulazione orologio viene generata periodicamente in un intervallo di tempo parametrizzabile dalla CPU. In corrispondenza di questo momento viene elaborato il blocco organizzativo opportuno. Sistema di automazione Un sistema di automazione in SIMATIC S7 è un controllore a memoria programmabile. Tempo di ciclo Il tempo di ciclo è il tempo impiegato dalla CPU per elaborare una volta il programma utente. Tempi di ciclo e di reazione 30 Manuale di guida alle funzioni, 02/2014, A5E03461507-02 Indice analitico A Allarme tempo di base utilizzato, 18 C Carico di comunicazione, 19 Ciclo, 11 Definizione, 11 Comunicazione Allarmi, 28 CPU Tempi di reazione all'allarme, 27 E Elaborazione Comandata a tempo, 8 Comandata da evento, 8 Elaborazione del programma, 8 Elaborazione nel programma ciclico, 8 I Immagini di processo parziali, 9 Influenza Comunicazione, 28 Interrupt di processo, 27 O OB di errore tempo di base utilizzato, 18 Organizzazione del programma, 8 P Possibilità di interruzione, 9 S Schedulazione orologio, 22 Definizione, 21 Precisione, 22 Statistica del tempo di ciclo, 15 T Tempi Per un'operazione, 17, 18 Tempi di elaborazione del programma Senza interruzioni, 17 Tempi di reazione all'allarme CPU, 27 Tempo di ciclo, 12 Aggiornamento, 16 Definizione, 12 Diverso, 13 Immagine di processo parziale, 16 Tempo di ciclo massimo, 14 Tempo di ciclo minimo, 13 Tempo di reazione Definizione, 23 Tempo di aggiornamento, 24 Tempo di reazione della CPU, 23 Variazione, 23