Home

PLC e norma 61131 2013

image

Contents

1. 207 Automazione industriale Linguaggio Function Block Diagram FBD funz FBD FUN FBD DOOAIVAR INT BOOL I2 BOOL INS BOOL OUT1 BOOL LODOB END VAR Esempio funzione di nome funz FBD scritta in function block diagram che ha come valore di ritorno INT AND IN2 OR IN3 Ing Elena Mainardi PLC 208 Automazione industriale Con riferimento alla programmazione state driven o condition driven si pu dire che ladder sicuramente un linguaggio condition driven ST pu essere entrambi dipende da come imposto il mio programma Vedremo invece che l SFC decisamente state driven Occhio possibile domanda d esame quali sono i linguaggi messi a disposizione dalla norma Saper elencare le caratteristiche principali di ognuno di essi Ing Elena Mainardi PLC 209 Automazione industriale Linguaggi di programmazione uguali o simili possono essere chiamati con nomi differenti a seconda della marca del PLC Il caso Siemens FUP FBD KOP gt ladder AWL gt IL FUP KOP AWL amp U UND AND G N NICHT D NEGAZIONE 34 4 O ODER OR zi ZUWEISUNG ASSEGNAZIONE Ing Elena Mainardi PLC
2. 181 Automazione industriale Esempio ladder con chiamata a function block Blocco che esegue la conversione Blocco che esegue la conversione da un dato in BCD ad un dato intero da un dato intero ad uno in formato BCD 4 BCD_ INT_ Start pesatual TO INT SUB TO BCD End pesatural e eee EN ENO EN ENO EN END pee Peso lordo Peso_netto E E Tari e 1 Blocco che esegue una sottrazione oe Start pesatura vera allora converti Peso lordo in intero sottraigli Tara riconverti il risultato in un BCD metti il risultato in Peso netto e attiva uscita End pesatura Ing Elena Mainardi PLC 182 Automazione industriale Esempio ladder controllo dell avviamento di dispositivi di attuazione Molte delle operazioni tipiche del controllo di Macchine Automatiche sono riconducibili alla abilitazione di una singola uscita booleana Un esempio di tale necessit rappresentato dalla movimentazione di nastri trasportatori normalmente dotati di un controllo attivo disattivo separato Per tali motori quindi sufficiente la chiusura del contatto di alimentazione tramite un segnale logico in uscita dal PLC ale segnale sar disabilitato in funzione dell arresto della macchina sia esso dovuto al termine normale della produzione o ad una condizione di emergenza VAR Avvio_Macchina B
3. Rung 1 Oooo 10104 start signal TI O01 Rung gt _ gt noone EEE er 10002 10003 P _____ confirm picking TI woo KEEP timer 10001 Us confirm picking 07002 KEEP start senum 0 p 10003 10002 ton L8 vertical L Rung gt 0008 10104 DIFU start signal D DOT Ing Elena Mainardi PLC 169 Automazione industriale Un programma scritto in linguaggio Ladder viene eseguito valutando un rung alla volta L ordine di valutazione dei rung quello che procede dal primo rung in alto verso l ultimo rung in basso Ognirung valutato da sinistra a destra Quando l ultimo rung viene valutato si inizia nuovamente a valutare il primo rung dopo aver aggiornato le uscite e letto gli ingressi Ing Elena Mainardi PLC 170 Automazione industriale Per eseguire una AND tra due ingressi basta metterli consecutivamente sulla stessa riga Per eseguire una OR tra due ingressi bisogna metterli in parallelo Circuito con combinazione logica AND Circuito con combinazione logica AND Esso corrisponde al collegamento in serie della logica cablata Ne M ec n AWL Siemens Se XO vera e XI vera gt attiva Y1 I EO 0 U EO 1 A1 0 Circuito con combinazione logica OR Circuito con combinazione logica OR Esso corrisponde al collegamento in parallelo della logica cablata XL Se X0 vera oppure X1 vera gt attiva Y In AWL Siemens O EO 0 O EO I A1 0 In
4. Altra situazione pi PLC distinti collegati tramite una rete di controllo Control Net Ciascun PLC ha una CPU Configuration Resource Resource n fet ie ee e e mY Cee fu Gm mm lf se Vics Sa ie Ing Elena Mainardi PLC 112 Automazione industriale configuration l elemento che contiene tutti gli altri elementi e corrisponde all intero PLC o all insieme di PLC nel caso ce ne siano pi di uno collegati tra loro In un sistema di controllo possibile avere anche pi configuration in comunicazione tra loro ognuna delle quali gestisce uno o pi PLC Ogni configuration contiene una o pi resource ognuna delle quali contiene uno o pi program a loro volta eseguiti sotto il controllo di zero o pi task Un program pu contenere zero o pi function block e la chiamata a zero o pi function Ing Elena Mainardi PLC 113 Automazione industriale resource l elemento che corrisponde ad una unit funzionale di elaborazione dei segnali connessa a dispositivi di Interfaccia uomo macchina e con funzioni di interazione con sensori ed attuatori In pratica una resource un modulo CPU Caratteristiche di una resource accede alle global ed alle directly represented variables e l interfaccia tra I O fisici ed il programma Ing Elena Mainardi PLC 114 Automazione industriale program l insieme logico d
5. pre allarme con l accensione diun vanuag ZIS segnale luminoso Tale segnalazione pu essere spenta se il sensore non fornisce pi un valore vero e Se invece pi sensori sono attivi contemporaneamente allora verr generata una condizione di allarme e di arresto Immediato della parte operativa condizione che potr essere resettata solamente attraverso un intervento dell operatore umano Ing Elena Mainardi PLC 189 Automazione industriale VAR Sens1 BOOL AT I0 0 Sens2 BOOL AT I0 1 Sens3 BOOL AT I0 2 MAN1 BOOL AT 410 3 E possibile anche una segnalazione manuale di incendio AJS NF MANUAL CL Alarm BOOL AT 10 4 Reset manuale della condizione ALARM di allarme Alarm BOOL AT Q0 0 Pre alarm BOOL AT Q0 1 END VAR Ing Elena Mainardi PLC 190 Automazione industriale Verifica delle condizioni di pre allarme Sens1 Pre alarm perni p oes Cs at ec Ni ol a a nici nca iR eu E messis Sens2 Sens3 Verifica delle condizioni di allarme generale Sens1 Sens2 Alarm pommes e nea ag eese Sens Sens3 je qoe qe Sens2 Sens3 lei e N B M P AN Si ricorda che P siena rrr E un rilevatore di Reset manuale della segnalazione di allarme fronti di salita CL Alarm Alarm fins P iin eee R Ing Elena Mainardi PLC 191 Automazione i
6. 1 Automazione industriale PLC Controllori a Logica Programmabile Programmable Logic Controller Ing Elena Mainardi 2 Automazione industriale nomi del PLC nel mondo PLC Programmable Logic Controller API Automate Programmable Industriel SPS Speicherprogrammierbare Steuerung Ing Elena Mainardi Automazione industriale Le macchine automatiche esistono praticamente da dopo la rivoluzione Industriale Nell 800 ovviamente erano macchine molto semplici poi con il progresso della tecnologia e la scoperta e l utilizzo dell elettricit hanno cominciato a diventare sempre pi complesse Fino agli anni 70 le grosse macchine automatiche che gia esistevano nelle catene di montaggio e nei grandi stabilimenti funzionavano essenzialmente a rel rel erano collegati a motori e o a generici attuatori e comandati da ingressi come i sensori Es se sensore di pressione d un valore basso fal scattare il rel che comanda il motore per l apertura della valvola Ing Elena Mainardi PLC Automazione industriale In pratica le macchine automatiche erano macchine ANALOGICHE piene di rel cablati con struttura fissa Quindi modificare il comportamento della macchina automatica comportava il dover rifare il cablaggio dei componenti di cui si voleva modificare il comportamento cio togliere i cavi precedentemente installati e rifare le connessioni gt ECONOMICAMENTE ONEROSO P
7. BOOL CLK Q BOOL Ing Elena Mainardi PLC 140 Automazione industriale Esempi di FUNCTION BLOCKS standard definiti dalla norma 61131 3 operazioni di conteggio BOOL gt CU Q BOOL BOOL gt CU Q BOOL BOOL LD BOOL R ci INT PV CV INT 4R Up counter contatore in avanti Down counter contatore Con un fronte di salita su R all indietro Con un fronte di azzera il termine del conteggio salita su LD inizializza il CV poi conta i fronti di salita su contatore CV al valore di PV e CU Quando il valore di conteggio lo decrementa ad ogni fronte di raggiunge PV Q va alto salita di CU Quando il valore di conteggio si annulla Q va alto PLC Ing Elena Mainardi 141 Automazione industriale POU program programmi program sono contenitori di alto livello gerarchico del codice dell applicazione processo di definizione ed istanziazione analogo a quello dei function block Caratteristiche del program vs il function block PROGRAM puo contenere variabili ad indirizzamento diretto AT programmi possono contenere definizioni di variabili globali programmi possono contenere access variable VAR ACCESS per la comunicazione con dispositivi remoti programmi non possono contenere istanze di altri programmi Istanze di programmi sono dichiarati solo all interno di RESOURCE In sostanza un program la forma pi estesa di POU e vi
8. ELSE Istruzioni N END CASE Ing Elena Mainardi PLC 200 Automazione industriale Linguaggio Structured Text e Costrutti di iterazione REPEAT Istruzioni UNTIL Expr Bool END REPEAT WHILE Expr Bool DO Istruzioni END WHILE FOR Var Inter Val Iniz TO Val Finale BY Passo DO Istruzioni END FOR Istruzione EXIT forza l uscita da tutti i costrutti precedenti N B L iterazione si intende nello stesso ciclo di esecuzione del controllore Pertanto occorre attenzione nella programmazione per evitare loop che prolunghino il tempo di esecuzione fino alla scadenza del watchdog timer impostato Ing Elena Mainardi PLC 201 Automazione industriale Operatori Simbolo Operazione Priorit MAGGIORE fun args Valutazione di funzione Negazione matematica NOT Negazione booleana Elevamento a potenza BEEN Moltiplicazione Divisione OD Modulo M Simbolo Operazione Priorit Somma Sottrazione MEM lt lt gt gt Test comparativi DE Uguaglianza test Disuguaglianza lt gt amp o AND AND booleano XOR OR booleano esclusivo OR OR booleano MINORE Ing Elena Mainardi PLC 202 Automazione industriale Esempio ST Elaborazione di numeri reali Si supponga di dover controllare la temperatura di un forno avendo a disposizione un sensore analogico ed una serpentina comandata tramite un interruttore acceso spento e tipo
9. Moduli di conteggio veloce Gli ingressi digitali del PLC non possono acquisire segnali che variano troppo velocemente nel tempo generalmente un ingresso perch venga letto dal programma deve permanere almeno 0 5 secondi Quando si ha bisogno di encoder o dispositivi di posizionamento similari che emettono impulsi ad alta velocit tali dispositivi non si possono connettere direttamente agli ingressi del PLC ma a dei moduli appositiv che poi comunicano con Il PLC Ing Elena Mainardi PLC 23 Automazione industriale Moduli di conteggio veloce Vi sono alcuni modelli di PLC compatti provvisti di un ingresso per segnali digitali ad alta velocit generalmente l ingresso zero gi completo di contatore adatto per encoder controllabile dal software Nell utilizzo di queste funzionalit indispensabile confrontare la massima velocit degli impulsi forniti dall encoder con la massima frequenza sopportata dall ingresso del PLC Nei casi in cui gli ingressi del PLC non siano adatti per acquisire segnali digitali ad alta velocit cio con frequenze nell ordine del kHz necessario ricorrere a speciali moduli di ingressi digitali ad alta velocit con funzione di contaimpulsi Ing Elena Mainardi PLC 24 Automazione industriale Moduli di conteggio veloce Ing Elena Mainardi PLC 25 Automazione industriale Moduli VO Riassumendo I moduli Input sono convertitori di segnali elettrici
10. gt EN1 RES2 MUL SIN X COS Y Z ADD EN EN1 IN1 REST IN2 RES2 ENO gt Vj IN1 e IN2 sono gli identificativi degli ingressi Nel primo esempio vuol dire che la funzione div far la divisione tra cos x e sin y Ogni funzione o function block poi ha per definizione della norma due parametri di enable EN enable di ingresso e ENO enable di uscita Gli enable si usano opzionalmente e servono piu che altro nei linguaggi di programmazione grafica per una questione di ordine di esecuzione dei blocchi In questo caso essendo il linguaggio testuale l uso degli enable superfluo Infatti in questo caso vorrebbe dire quando la funzione div ha finito fa in modo che la fine della sua esecuzione ENO che va alto porti ad un valore logico vero la variabile booleana EN1 Quando EN1 true la funzione ADD abilitata a partire L uso degli enable in questo caso superfluo perch tanto in un linguaggio testuale ogni istruzione viene eseguita solo al termine della precedente quindi ovvio che la funzione ADD venga eseguita dopo che la div ha finito Ing Elena Mainardi PLC 125 Automazione industriale Invocazione di funzioni in linguaggio grafico EN ENO 4 45 MUL Z sen X cos Y sen Y cos X Ing Elena Mainardi PLC 126 Automazione industriale Rappresentazione grafica dell invocazione della funzione ADD Rappresentazione testuale dell invocazione
11. 61499 pi recente della 61131 e che ne apporta alcune modifiche Ing Elena Mainardi PLC 88 Automazione industriale Norme di tipo software non esistono solo per i PLC Anche per il linguaggio C esiste una norma l ANSI C ISO C89 definita nel 1990 da parte dell American National Standards Institute Esempi di compilatori o ambienti di sviluppo integrati standard ANSI C o ANSI C e SC SCpp e Cilk ANSI C Based Compiler e CCC386 C Compiler e LCC A Retargetable Compiler for ANSI C e Leonardo IDE e DJGPP e Intel C Compiler for Linux e ANYC C Compiler e MrC MrCpp e Visual C C Esempi di compilatori o ambienti di sviluppo integrati non strettamente ANSI C o C e Cyclone C CINT C and C Interpreter Ing Elena Mainardi PLC 89 Automazione industriale I linguaggi per PLC che seguono la norma 61131 certificati dall associazione PLCOpen Linguaggio Ditta produttrici del PLC che usa quel linguaggio CL amp RL company Country 35 Smart Software Solutions CL amp FL for ST Schneider Automation CS Triplex Mitsubishi Electric Europe KwWw Softwarg CL amp RL far ST Panasonic Electric Works infoteam Software infoteam Software Austria RL for ST Rockwell Automation USA ST RL for ST Siemens Germany Simotion Eng Sytem Scout standard ST Siemens Germany SELECONTROL CAP 1131 Selectron Switzerland Sisteam Servicer IEC 1131 3 TEAM Spain S7 GRAPH Siemens Germany Melsoft GX I
12. 9 p I VARACCESS 31 0 9 Le funzioni non possono avere variabili IN OUT n OUTPUT La norma inizialmente diceva diversamente ma dipende dall implementazione che ne fa ogni ambiente di sviluppo per PLC Ad esempio Codesys in effetti non consente ad una funzione di avere VAR IN OUT n VAR OUTPUT Occhio possibile domanda d esame quali sono le POU Saperne elencare le differenze Ing Elena Mainardi PLC 144 Automazione industriale Tasks Un Task un elemento per il controllo di esecuzione di un POU L esecuzione pu avvenire su base periodica o in corrispondenza del fronte di salita di una variabile booleana Non detto che ad un programma debba essere obbligatoriamente associato un task ma un programma senza task associato ha la piu bassa priorit Dichiarazione del Task SINGLE l esecuzione viene agganciata al fronte di salita di una variabile booleana INTERVAL l esecuzione periodica con intervallo specificato Se l intervallo specificato zero il task viene ripetuto ciclicamente senza essere agganciata ad un periodo preciso PRIORITY specifica la priorit del task 0 la priorit pi elevata Ing Elena Mainardi PLC 145 Automazione industriale Esempi e Task periodica con periodo t 30ms priorit massima TASK Fast_Interlocks INTERVAL t 30ms PRIORITY 0 e Task associata ad un evento fornte di salita di LogFlag TASK lo
13. Elena Mainardi PLC 29 Automazione industriale Come indirizzo un I O di un PLC cio come identifico un ingresso o un uscita fisica del PLC gt Con un codice alfanumerico Indirizzamento dell I O Ogni in e out dei vari moduli digitali un bit associato per esempio ad un sensore Digital input po DIES Digital output x module si n module ON OFF o ad un rel Quindi Byte 0 30 Bye 4 Bits 0 to 7 I MM BitsOto7 per identificare una singola uscita O o un singolo ingresso I basta specificare in ij Dial no TBH Digital output v y m ule sile che modulo mi trovo e a che Byte 1 220 E em numero di linea corrisponde il jagi POI UU Bis0t07 segnale di mio interesse Absolute address 1 5 Ing Elena Mainardi PLC 30 Automazione industriale Es Modulo In dig Modulo In dig Modulo Out dig 16 ingressi 32 ingressi 16 uscite 4 2 byte 4 byte 2 byte Modulo CPU Vi JUUL In fase di configurazione del sistema diro associo ai bytes del modulo d ingresso piu a sinistra i valori O e 1 infatti il primo modulo ha 2 bytes Quindi 11 3 identificher il quarto bit del secondo byte del primo modulo d ingresso associo ai bytes del secondo modulo d ingresso i valori 2 3 4 e 5 infatti ha 4 bytes Quindi 14 6 identificher il settimo bit del terzo byte del secondo modulo d ingresso associo ai bytes del modulo d uscita i valori 0 e 1 Quindi 00 0 identificher il primo bit d
14. Fb2 In questo esempio ho definito un function block PROVA e all interno di un program l ho istanziato due volte Vorr dire che nella memoria avr una zona col codice del function block e due zone per i dati delle due istanze del function block Ing Elena Mainardi PLC 136 Automazione industriale Dichiarazione grafica del FB FF SERVO di tipo SR Set Reset FF SERVO Dichiarazione testuale di un FB di nome FF SERVO di tipo SR VAR Declaration FF SERVO SR END VAR FF_SERVO S B R C Invocation FF SERVO Q Assign output Come si pu notare siccome un function block non restituisce un unico valore come invece fa la funzione per usarlo devo sempre scrivere due istruzioni una in cui lo invoco FF SERVOXY e una in cui assegno la sua uscita ad una mia variabile A FF_SERVO Q Ing Elena Mainardi PLC 137 Graphical FBD language sof ee 54 6QX3 a NE pesi out ESSEN Ing Elena Mainardi O EN BNO Automazione industriale Textual ST language VAR FF75 SR END VAR Declaration FF 5 S1 S5 IXL OX we R 22 1X2 EB PSXOdq CT Invocation 7 VAR ay 2 OUT BOOL MyTon TON END VAR MyTon EN EN NOT O NOT ai gt Di Oo Ass iEghn Outputs PLC 138 Textual declaration in ST language FUNCTION BLOCK DEBOUNCE pne External Interface 49 Automazione industriale Graphi
15. Programma o di un Function Block condivide lo stesso codice ma ha la sua area dati privata in memoria Nell ambito dello stesso Program possibile utilizzare pi istanze dello stesso Function Block Ing Elena Mainardi PLC 132 Automazione industriale La definizione di un blocco funzione FB richiede Una lista di variabili d ingresso ed interne temporanee e statiche La descrizione dell algoritmo implementato dalla funzione Tale algoritmo pu essere implementato in un qualunque linguaggio della norma anche l SFC Esempio definizione di un FB di nome COUNTER TYPE ModeType RESET COUNT HOLD END TYPE Define private algorithm IF MODE RESET THEN FUNCTION BLOCK COUNTER CountStatus 0 ELSEIF MODE COUNT THEN Ck Define external interface CountStatus CountStatus 1 VAR_INPUT END IF MODE ModeType RESET Valore di default END VAR OUT CountStatus VAR OUTPUT OUT INT 0 Valore iniziale END FUNCTION BLOCK END VAR Define private data Pou VAR functions CountStatus INT 0 function blocks END VAR programs Ing Elena Mainardi PLC 133 Automazione industriale Cos e un ISTANZA Cosa vuol dire che un FB istanziato a livello di program o di un altro FB Per prendere confidenza col concetto di istanziazione forniamo un esempio analogo nel caso della programmazione in linguaggio c Pensiamo al caso di definizione di un tipo di d
16. TIPO NOME TIPO VALORE INIZIALE gt e La norma sancisce che ogni variabile deve avere un valore iniziale Se questo non viene definito nel programma gli viene assegnato il valore di default nullo D 0001 01 01 per le date Ing Elena Mainardi PLC 109 Automazione industriale Norme IEC 1131 3 Organizzazione del software L IEC ha elaborato un modello software di tipo stratificato e gerarchico che tenga in conto tutte le interazioni tra programma e ambiente operativo Componenti del modello configuration resource program ____ Queste tre sono chiamate POU program organization units task local and global variables directly represented variabl function blocks functions access path Ing Elena Mainardi PLC 110 Automazione industriale Il modello software di un applicativo per PLC configuration resource resource I ey I M I i I I l l l I e 1 n program EN program program gt program i x Ai communication functions IEC 1131 5 Ing Elena Mainardi PLC 111 Automazione industriale Configurazione dell applicazione in pratica l insieme di tutte le risorse hardware che user nella mia applicazione Configuration Situazione pi comune un PLC con una CPU I I I I I I I I I I v v v Resource Resource Resource Configuration
17. U3 3 35 I1 2 U3 3 n gt l i Rendendo attivo l ingresso 11 1 del PLC si eccita l uscita costituita dalla bobina con ritenuta U3 3 A questo punto la bobina rimane attiva eventualmente anche in altre scansioni cicliche del programma finch non diventa attivo l ingresso 11 2 che la resetta cio la disattiva Ing Elena Mainardi PLC 176 Automazione industriale Nel ladder oltre che semplici funzioni di AND e OR tra variabili posso richiamare funzioni e function block Gli schemi diventano ovviamente pi complessi Blocco funzionale di conteggio in avanti chiamato 52 Istruzioni di conteggio CTU counter up contatore ad incremento 1 2 COUNTER C5 2 PRESET 1000 C5 2 DN U2 3 I1 4 C5 2 Ad agni impulso sull ingresso I1 z del PLO viene conteggiata un unit su ACCUM resettabile a O tramite l ingresso I1 4 Quando si raggiunge il livello impostato su PRESET nell esempio 1000 si attiva DN che aziona C5 z DIM e fa eccitare l uscita U2 3 anche in quest ultimo caso il RESET azionato sempre dall ingresso I1 4 riporta a Cil conteggio e disabilita l uscita DM Ing Elena Mainardi PLC 177 Automazione industriale Function Block di Uso Comune Timer T_ON TO IN BOOL If a rising edge is detected NO the on delay timing is started IN Q PT TIME Preset time interval for the ET delay PT Q BOOL Output ET TIME Elapsed time interval IN bil T Ing Elena Ma
18. contribuisce alla leggibilit del software miglioramento della qualit del software Ing Elena Mainardi PLC 103 Automazione industriale tipo di dato derivato possono essere definiti con la sintassi TYPE Nome Tipo Descrizione END TYPE Il nuovo tipo pu essere Un tipo standard che viene semplicemente ridefinito per comodit Un subrange di un tipo standard la descrizione del tipo TipoStandard Valorelniz ValoreFin Un elenco di valori costanti che la variabile pu assumere tipo enumerativo Un vettore di dimensione finita definito con ARRAY Intervallo di Interi OF Tipo Una struttura cio un insieme di variabili di tipo non omogeneo definita con STRUCT Var1 Tipo1 VarN TipoN END STRUCT Ing Elena Mainardi PLC 104 Automazione industriale Tipo di dato derivati x 1 Definizioni di variabili per memorizzare Esempio posso definire una il valore di pressione di pompe variabile pump 1 come a REAL VAR pump 1 pump 2 pump 3 REAL END VAR 2 Definisco un tipo di variabile per evidenzare la responsabilita della variabile nel oppure definire un tipo caso in esame la memorizzazione di un valore PRESSURE che di fatto un alias di REAL e poi definire pump 1 di tipo PRESSURE di pressione il software sara piu chiaro TYPE PRESSURE REAL END TYPE VAR purp 1 pump 2 pump 3 PRESSURE END VAR Ing Elena Mainardi PLC 105 Automazione
19. della funzione ADD A ADD B C D Rappresentazione grafica dell invocazione della funzione SHL Shift left una funzione che shifta a sinistra di n posizioni i bit di cui si compone il dato Rappresentazione testuale dell invocazione della funzione SHL A SHL IN B N Cj Ing Elena Mainardi PLC 127 Automazione industriale Elenco di funzioni standard definite dalla norma IEC 61131 3 Function per la conversione tra tipi Es INT TO REAL BCD TO INT ecc Function aritmetiche ADD SUB MUL DIV COS Function combinatorie e di scorrimento per operazioni logiche AND OR XOR NOT e manipolazione di stringhe di bit SHL SHR ROR Function di selezione e comparazione MIN MAX e GT GE EQ Function per stringhe di caratteri LEF T CONCAT INSERT Ing Elena Mainardi PLC 128 Automazione industriale POU function blocks function blocks FB sono moduli di programma riutilizzabili formati da dati variabili utilizzate all interno del FB parametri I O variabili interne algoritmo insieme di istruzioni che costituiscono il corpo del FB L algoritmo elabora un nuovo set di parametri in uscita e di variabili interne a partire dal valore corrente di ingressi e variabili interne Le variabili utilizzate dal function block sono statiche ovvero quando il FB viene richiamato esse hanno il valore che avevano alla fine dell esecuzione della precedente chiamat
20. di controllo normalmente utilizzato in questi casi il cosiddetto controllo on off con isteresi valore numerico reale fornito dal sensore viene confrontato con il valore di temperatura che si desidera mantenere Se la serpentina accesa e questi differiscono per una quantit maggiore di un certo valore la serpentina viene spenta Viceversa se la serpentina spenta e la temperatura scende oltre al di sotto del riferimento essa viene riaccesa l Controllo con isteresi Comando E Ing Elena Mainardi Eps Set Point Eps Temperatura 203 Automazione industriale FUNCTION BLOCK Isteresi In ST VAR INPUT Temperatura REAL Set Point REAL Eps REAL END VAR VAR OUTPUT Comando BOOL END_VAR Algoritmo interno del Function Block IF Comando THEN IF Temperatura gt Set Point Eps THEN Comando END IF ELSIF Temperatura Set Point Eps THEN Comando TRUE END IF END FUNCTION BLOCK Ing Elena Mainardi PLC 204 Automazione industriale Algoritmo interno del Function Block ER a E eg Volendo risolvere 7 EN pa Ea Pn lo stesso problema in Temperatura ladder i i ADD ass l Set_Point I i i Eps N B i GT greater than Tous LT lower than AT egw ae i Sono blocchi comp
21. dire Set Reset Linguaggio Ladder Diagram bobine II Altrove le si pu trovare indicate come latch unlatch Simbolo Descrizione XA P Bobina per fronti di salita Se l espressione booleana a sinistra della bobina passa da un valore falso nella precedente scansione del programma ad un valore vero in quella attuale la variabile booleana assume valore vero solo per la durata della scansione corrente Bobina per fronti di discesa Se l espressione booleana a sinistra della bobina passa da un valore vero nella precedente scansione del programma ad un valore falso in quella attuale la variabile booleana assume valore vero solo per la durata della scansione corrente Ing Elena Mainardi LU 167 Automazione industriale Programmazione in Ladder Diagram Key 1 Key 2 gt if Questo circuito elettrico a rel keyl e key2 e bobina l attuatore che fa accendere la lampadina COrrisponde a questa riga di codice grafico in Key 1 Key 2 rr ladder c IM Se key1 premuto e key2 premuto allora attiva la bobina Green light Ing Elena Mainardi PLC 168 Automazione industriale Ladder significa letteralmente scala a pioli dato che esteticamente lo schema ricorda appunto una scala nel mondo anglosassone ogni ramo orizzontale viene chiamato rung ossia piolo 10102 10101 10001 10000 L wk e rear io CNUE dericenbsi S SOL
22. in ERG save the value of BOOL2 in ERG PLC 197 Automazione industriale Linguaggio Structured Text Linguaggio di alto livello pascal like efficace per realizzare complesse elaborazioni matematiche o gestire strutture dati particolari Prevede tutti costrutti tipici dei linguaggi strutturati Assegnazione e valutazione di espressioni Selezione di alternative terazione Assegnazione Variabile Espressione Variabile e risultato dell espressione devono essere compatibili per tipo Es RES A B C ABS D A B C D RES variabili numeriche Ing Elena Mainardi PLC 198 Automazione industriale Linguaggio Structured Text Chiamate di Function Blocks si effettuano semplicemente con istruzioni tipo FB nome istanza Par1 A Par2 B parametri di uscita di un FB sono accessibili direttamente con FB nome istanza Out1 Chiamate di Functions devono essere effettuate in una espressione in modo che il risultato della funzione venga usato esplicitamente RES Fun Def Par1 A Par2 B Ing Elena Mainardi PLC 199 Automazione industriale Linguaggio Structured Text Costrutti di selezione e Selezione fra due alternative IF Expr Booleana 1 THEN Istruzioni 1 ELSIF Expr Booleana 2 THEN Istruzioni 2 ELSE Istruzioni 3 END IF Selezione multipla CASE Expr Intera OF Val Intero 1 Istruzioni 1 Val Intero 2 Istruzioni 2
23. program il program non fa niente non ha alcun effetto E il task che rende esecutivo il codice di un program Ing Elena Mainardi PLC 116 Automazione industriale Eccezioni alla norma Non tutti i PLC funzionano allo stesso modo Ad esempio l ambiente di sviluppo dei PLC B amp R non ammette task ad evento ma solo ciclici Sara cura del programmatore associare alle task pi veloci compiti piu critici In Siemens non tutti gli ingressi possono essere associati a task ad evento bisogna che siano di un modulo speciale Ing Elena Mainardi PLC 117 Automazione industriale Nel caso pi semplice di una macchina automatica che debba essere controllata da un singolo PLC con un singolo modulo CPU quindi dovendo scrivere il software avremo una configuration tutto il nostro progetto che contiene una resource la gestione del modulo CPU all interno della quale girer il nostro program che verr eseguito da un task Di cosa si compone un program DI dichiarazioni Istruzioni e ovviamente chiamate a subroutines che nel caso del PLC si chiamano function e function block gt Occhio possibili domande d esame definire i concetti di configuration resource e task Che tipi di task esistono Ing Elena Mainardi PLC 118 Automazione industriale POU functions Le functions sono moduli di programma cio insieme di variabili e codice riutilizzabili cio possono e
24. the Implementation Storing time of TOD DATE AND TIME or DT the day dependent day Date time of the and Implementation Storing the date dependent and the time of day the day Ing Elena Mainardi PLC 98 Automazione industriale Time literals Short form T 12d3h12m4s23ms 12 d ays 3 h ours 12 m inutes 4 s cconds and 23 m illi s econds Long form TIME 12d3h12m4s23ms Gli identificativi TIME e T nelle forme estesa e compatta possono essere scritti in minuscolo time e t Date literals DATEJ 2002 04 21 21th April 2002 Short form D 2002 04 21 Long form TIME_OF_DAY 05 00 00 56 0 56 seconds past 5 o clock Short form TOD 05 00 00 56 Long form DATE AND_TIME 2002 04 12 12th April 2002 0 56 05 00 00 56 seconds past 5 o clock DT 4 2002 04 12 05 00 00 56 Ing Elena Mainardi PLC 99 Automazione industriale Tipo STRING IEC Data type Description STRING Character strings Implementation Storing textual in dependent formation Tipo Bit string IEC Data type Description BOOL Bit string of 1 bit Has Store logical states two states FALSE 0 and TRUE 1 BYTE Bit string of 8 bits S Binary information WORD Bit string of 16 bits 16 DWORD Bit string of 32 bits LWORD Bit string of 64 bits Ing Elena Mainardi PLC 100 Automazione industriale Tipo di dato generico e La norma da anche la possibilit di usare un tipo di dato generico tipi di dato generico ANY sono utilizzati per de
25. EC Developer Mitsubishi Germany altri linguaggi che seguono la norma ma non sono certificati ad Es PLC di B amp R Beckhoff Ing Elena Mainardi PLC 90 Automazione industriale I linguaggi per PLC che seguono la norma 61131 certificati dall associazione PLCOpen CL amp RL company Country 35 Smart Software Solutions CL amp FL far ST Schneider amp utamatian ICS Triplex MELSEC MEDOC plus Mitsubishi Electric Europe MULTIPROG wt KW Software HAIS Control FPWIN Pro CL amp RL for ST Panasonic Electric Works openDK infoteam Software openPcs infoteam Software PUMA KEBA p nos III z E reu 57 5CL ST PL for ST Siemens Simotion Eng Sytem Scout standard ST Siemens Germany SELECONTROL CAP 1131 Sisteam Servicer IEC 1131 3 Il linguaggio base dei PLC Siemens STEP7 abbreviato S7 non segue la norma ma ci si avvicina Invece alcune sue variazioni tipo S7 SCL la seguono Ing Elena Mainardi PLC 91 Automazione industriale Norma IEC 61131 La parte terza dello Standard IEC 1131 3 definisce Elementi comuni per la configurazione delle applicazioni la dichiarazione di variabili la strutturazione dei programmi Quattro linguaggi di programmazione due di tipo grafico e due di tipo testuale Funzioni e blocchi funzionali standard per definire un set minimo di operazioni di conteggio temporizzazione elaborazioni matematiche conversioni di tipo ecc I
26. ERDITA DI TEMPO Ing Elena Mainardi PLC 5 Automazione industriale EI Lil ea Be e MESES MEE 3 si Lot N UT RU REN v i T f i DET OT I8 Udi i EIRIS A Il problema del cablaggio Ing Elena Mainardi PLC 6 Automazione industriale Cos e un rele Il rel un dispositivo che utilizza le variazioni della corrente per influenzare le condizioni di un altro circuito Se ne possono trovare elettronici elettromagnetici a induzione a semiconduttore e termici Il rele elettromagnetico il pi diffuso ed costituito da un elettromagnete che facendo passare un flusso di corrente in una bobina di filo attrae una struttura di ferro aprendo e chiudendo un contatto In sostanza il rel un interruttore che non viene azionato a mano ma da un elettromagnete Non passa corrente La bobina non esercita nessuna forza di attrazione Sono a contatto i terminali AeB Passa corrente La bobina diventa un elettromagnete e attira a s l ancorina di metallo che apre il contatto tra A e Belo chiude tra B e G Ing Elena Mainardi PLC 7 Automazione industriale Inconvenienti Debugging difficoltosi soprattutto nei sistemi di una certa complessit riuscire ad individuare un rel rotto o mal collegato all interno di un enorme circuito contenuto in un armadio di sei metri pu non essere un operazione semplice da fare Manutenzioni onerose legata all utilizzo di
27. In altre parole si erroneamente in senso logico e non formale suddiviso su pi stati una azione indivisa che sarebbe pi corretto assegnare ad uno stato ben preciso Esempio di azioni e condizioni ripetute L allarme Arrivo busta Discesa umbro Segnala allarme Fine_corsa basso allarme Risalita timbro Segnala allarme Fine corsa alto allarme Segnala allarme Ing Elena Mainardi PLC 81 Automazione industriale Le azioni ripetute Sarebbe meglio Arrivo busta allarme Pine corsa hasso Secnalawllarme Richiesta_assisenza Risalita timbro teset allarme Fine_ci msacali i Ing Elena Mainardi PLC 82 Automazione industriale Programmazione condition driven vs state driven Vantaggi dell approccio state driven Decomposizione della complessita della macchina Semplicit nella analisi funzionale del processo Facilita l operazione di verifica del software Risulta agevole valutare le possibili eccezioni di funzionamento del processo Ing Elena Mainardi PLC 83 Automazione industriale Vantaggi dell approccio state driven La programmazione state driven consente di strutturare in maniera logica e ben organizzata una sequenza di controllo isolando stati logici di funzionamento della macchina in cui solo un sottoinsieme di sensori ed attuatori sono di interesse ai fini della esecuzione della produzione Questo con
28. NTERVAL t 50ms PRIORITY TASK INT_2 SINGLE z2 PRIORITY PROGRAM P1 WITH PER_2 F x1 z2 x2 w PROGRAM P4 WITH INT_2 H HOUT1 gt QW5 FB1 WITH PER_2 END RESOURCE VAR ACCESS Variabili definite nella REOSURCE STATION 1 e STATION 2 e rese disponibili in altre CONFIGURATION gt ABLE STATION 1 XAIX1 1 BOOL READ ONLY BAKER STATION 1 P1 x2 UINT READ WRITE CHARLIE STATION 1 z1 BYTE DOG DOW UINT READ ONLY ALPHA STATION 2 P1 y1 BYTE READ ONLY BETA STATION 2 P4 HOUT1 INT READ ONLY GAMMA STATION 2 z2 BOOL READ WRITE END VAR END CONFIGURATION Ing Elena Mainardi PLC 151 Automazione industriale CONFIGURATION CFLL 1 RESCURCE STATION 1 RESOURCE STATION 2 ii PROORAM e Ji PU PROGRAMF EX PROG E lout Eye Fez fi ta A B rate B x1 E d va Be i eee fil inl 3 Ee cri i VERE peat ATI fee WpuunsDzin HE doppi i dar pud nc ee ped Ael dog i ond dci nt A 1 CHARLIE DOS SAMMA ALPHA ACCESS PATHS Communication function See IEC 1131 5 PLC Ing Elena Maina v 152 Automazione industriale Tipologia di variabili e loro visibilit Oltre ad esserci svariati tipi di dato ci sono anche modi diversi di vedere una variabile esattamente come in c Infatti una variabile pu avere differenti visibilit ed essere di tipo locale o globale o nel caso dei linguaggi per PLC una variabile di comunicazione tra piu parti del pro
29. OOL AT I0 0 Stop Macchina BOOL AT I0 1 Emergency BOOL AT M0 0 Motore Nastro BOOL AT Q0 0 END VAR Avvio Macchina Emergency Stop Macchina Motore Nastro Ing Elena Mainardi PLC 183 Automazione industriale VAR Avvio_Macchina BOOL AT I0 0 Stop_Macchina BOOL AT I0 1 Emergency BOOL AT M0 0 Motore_Nastro BOOL AT Q0 0 END_VAR Avvio_Macchina Emergency Stop_Macchina Motore_Nastro N B Si noti che l uscita Motore Nastro messa anche come ingresso Ora di fatto Motore _ Nastro un uscita ma posso utilizzare il suo stato anche come ingresso Quindi quando Motore Nastro come uscita va a 1 anche la corrispettiva Motore Nastro variabile andr a 1 Questo serve per la cosiddetta autoritenuta se Avvio Macchina un pulsante e non un interruttore non posso pretendere che un operaio stia a premere il pulsante per delle ore affinch il tutto proceda Invece cosi l operaio preme una volta il pulsante poi lo rilascia in quell istante il rung si attiva e se Emergency 0 e Stop Macchina 0 gt Motore Nastro uscita 1 Da questo punto in poi al successivo ciclo se anche Avvio_Macchina 0 l operaio ha lasciato il pulsante la variabile Motore Nastro vale 1 come la corrispettiva uscita che stata attivata quindi se Emergency e Stop Macchina sono false l uscita sempre attiva Ing Elena Mainardi PLC 184 Automazione industriale VAR Avvio Macchina BOOL AT I0 0 Stop Macchina BOOL A
30. T I0O 1 Emergency BOOL AT M0 0 Motore Nastro BOOL AT Q0 0 END VAR Avvio Macchina Emergency Stop_Macchina Motore Nastro Ricordando che la scansione del programma da parte del PLC avviene in modo ciclico e che il valore delle variabili di memoria e di uscita viene mantenuto tra due cicli di elaborazione successivi la valutazione del segmento permette l inserimento del motore del nastro quando il segnale Avvio Macchina vero anche per un solo ciclo di elaborazione mentre per tutti i cicli successivi verr mantenuto grazie al passaggio di corrente virtuale nel contatto condizionato dal valore dell uscita Motore Nastro autoritenuta Tale bobina sar eccitata fintanto che non si ha un valore vero n dall ingresso Stop Macchina n dalla condizione di allarme Emergency variabile di memoria interna del PLC modificata in altri segmenti di programma in funzione di eventuali condizioni di malfunzionamento generale della macchina Naturalmente questo semplice segmento pu essere modificato in maniera molto intuitiva per considerare altre condizioni necessarie all avviamento o sufficienti per lo spegnimento rispettivamente inserite nel ramo a monte della diramazione di autoritenuta o a valle di essa Ing Elena Mainardi PLC 185 Automazione industriale Possibili fonti di errore o di ambiguit in ladder Cosa succede se uso in un programma ladder la stessa bobina 11 1 U3 3 nel nostro caso U3 3 sia come bobina a
31. a Mainardi PLC 9 Automazione industriale a gara fu vinta agli inizi degli anni 70 dalla BEDFORD ASSOCIATES che propose una macchina chiamata MOdular Digital CONtroller MODICON 084 il progenitore dei PLC e Ny 8 8 automatizzate degli stabilimenti di produzione di automobili MODICON fu il primo plc ad essere commercializzato e prodotto in larga scala motivo principale per il quale nacque l esigenza del plc fu dunque la necessit di eliminare i costi elevati per rimpiazzare i sistemi di controllo complicatissimi basati su rele Infatti le esigenze di innovazione delle ditte erano tali da richiedere continue variazioni dello schema rel cio continue modifiche alle macchine automatiche con grossi rischi di errore ad ogni variazione e grosse spese Ing Elena Mainardi PLC 10 Automazione industriale Una delle persone che lavoro al progetto Modicon 084 fu Dick Morley che e considerato il padre dei PLC Il marchio Modicon fu venduto nel 19 alla Gould Electronics poi venne acquistato dalla tedesca AEG e infine dalla Schneider Electric l attuale proprietaria Modicon 084 1969 Ing Elena Mainardi PLC 11 Automazione industriale Cos un PLC Controllore a Logica Programmabile Programmable Logic Controller Un PLC un oggetto harware componibile che se opportunamente programmato in grado di gestire sistemi complessi ricevendo in ingres
32. a al FB Ne consegue che chiamate successive al FB passando sempre gli stessi parametri di ingresso possono dare variabili di uscita diverse Ing Elena Mainardi PLC 129 Automazione industriale Es Function block Somma VAR INPUT Programma x y real Tm VAR OUTPUT EM Somma real Add Somma m n END VAR udc VAR Add Somma m n somma_temp int END VAR somma temp somma temp x y Somma somma temp End Function Block La prima volta se passo m 3en 5 ottengo Add 8 La seconda volta se ripasso m 3 ed n 5 essendo la variabile somma temp rimasta al valore che aveva prima cio a 8 ottengo Add 8 3 5 16 Ing Elena Mainardi PLC 130 Automazione industriale Un piccolo dettaglio Poich un programmatore pu aver bisogno di variabili NON statiche anche dentro ad un function block la norma mette a disposizione un altro costrutto per la dichiarazione delle variabili di un function block che le rende non statiche VAR_TEMP a real c time END VAR Ing Elena Mainardi PLC 131 Automazione industriale Il function block anche definito come un POU che quando viene eseguita restituisce uno o pi elementi in uscita a differenza della function che ne pu restituire uno solo Un function block istanziato a livello di program o di un altro function block a differenza del program che istanziato a livello di resource Ciascuna istanza di un
33. alizzata al valore 1 Come mai Perch la norma dice che una POU deve poter essere invocata anche senza passarle tutti i parametri di ingresso Se non viene passato qualche parametro il suo valore viene inizializzato a quello che compare nella dichiarazione all interno della POU In altre parole nell esempio posso invocare la funzione in pi modi ad esempio 1 simple fun 8 4 2 nel qual caso A 8 B 4 C 2 e il risultato restituito sar 8 4 2 16 2 Simple fun 8 4 nel qual caso A 8 B 4 e C 1 in quanto non stato specificato e il risultato restituito sar 8 4 1 32 Ing Elena Mainardi PLC 123 Automazione industriale Definizione testuale della funzione PROVA CISSE FUNCTION PROVA REAL VAR INPUT i A B REAL External interface specification C REAL 1 0 END VAR r VAR COUNTP1 INT END VAR COUNTP1 ADD A 1 Function body specification PROVA A B C mum END FUNCTION I I I i i i Invocazione di funzioni in linguaggio testuale VAR X Y Z RES1 RES2 REAL EN1 V BOOL END_VAR RES1 DIV IN1 COS X IN2 SIN Y ENO gt EN1 RES2 MUL SIN X COS Y Z ADD EN ENI IN1 RESI IN2 RES2 ENO gt V Ing Elena Mainardi PLC 124 Automazione industriale Riprendiamo l esempio di prima VAR X Y Z RES1 RES2 REAL EN1 V BOOL END VAR RES1 DIV IN1 COS X IN2 SIN Y ENO
34. amento diretto In quasi tutti i PLC la memoria indirizzabile con accesso diretto tramite indirizzo La memoria del PLC considerata suddivisa in tre regioni principali I input Q output M registri di memoria interna Le variabili ad indirizzamento diretto sono quindi indicate mediante una codifica a tre simboli X bit B byte W word Indirizzo fisico D Double word L Long word Ing Elena Mainardi PLC 156 Automazione industriale Il simbolo X bit il valore di default L indirizzo fisico della variabile costituito da uno o pi campi separati da un punto La norma non specifica il significato di questi campi Esempi 100 Bit 100 di ingresso 901X100 Bit 100 di ingresso 1W122 Word 122 di ingresso IW10 1 21 Potrebbe essere rack 10 modulo 1 canale 21 QL100 Long word 100 di output MW132 Word 132 di memoria interna Ing Elena Mainardi PLC 157 Automazione industriale Variabili per il passaggio di parametri Parametri formali rappresentano l interfaccia di scambio dati tra una POU e il resto dell applicazione functl funct2 Ris functl parl func2 par2 NEM Invoco il function block pu EN F_blockI INI a IN2 b Ris2 F_block1 Q1 Ing Elena Mainardi PLC 158 Automazione industriale Variabili per il passaggio di parametri Sintassi di dichia
35. andosi per trasportare lavorare un pezzo dove ci sono molte parti meccaniche in movimento etc gt deve soddisfare a vincoli temporali assolutamente stringenti se c una situazione di pericolo e l allarme scatta ora o scatta tra 40 secondi c una bella differenza Ing Elena Mainardi PLC 47 Automazione industriale Esistono anche dei mini o micro PLC per Didattica Hobby Piccole applicazioni domestiche apertura automatica porte cancelli riscaldamento Gestione acquari m m E si x RAY TPUT SA Ing Elena Mainardi PLC 48 Automazione industriale Questi mini PLC spesso hanno una modularit limitata O addirittura assente ovvero hanno gi a bordo la CPU e un numero limitato di ingressi e uscite analogiche e o digitali PLC compatti Es Modulo logico 26 l O ST 24V Schneider Electric linea ZELIO Un altro esempio la serie LOGO della Siemens Ing Elena Mainardi PLC 49 Ing Elena Mainardi jar Automazione industriale Modulo logico 26 I O ST 24V Schneider Electric Caratteristiche Impiego nel terziario edilizia automazione dei sistemi d accesso cancelli porte barriere automatismi del sistemi di illuminazione automatismi dei compressori e dei sistemi di climatizzazione Programmazione si pu effettuare in modo diretto utilizzando i tasti funzione del modulo logico linguaggio a contatti esu PC con il software Ze
36. arativi Comando LT Comando rn EN S i Temperatura i SUB i Set_Point Eps __ Ing Elena Mainardi PLC 205 Automazione industriale Esempio ST Esecuzione di una media aritmetica in ST VAR Temperature ARRAY 1 32 OF REAL Max Min Media REAL END_VAR VAR_TEMP Somma REATI Count INT END VAR 0 O Somma O FOR Count 1 TO 32 DO Somma Temperature Count Somma IF Temperature Count gt Max THEN Max Temperature Count END IF IF Temperature Count Min THEN Min Temperature Count END IF END FOR Media Somma 32 Ing Elena PLC 206 Automazione industriale Linguaggio Function Block Diagram FBD E un linguaggio grafico in cui i controllori sono modellati come flussi di dati e di segnali attraverso elementi di processo function blocks FBD trasforma la programmazione testuale ST nella connessione di blocchi predefiniti migliorando cosi la modularit e il riutilizzo di codice Esempio le variabili di ingresso a e b sono usate per calcolare il valore SIN a Log b I risultato di questo prodotto confrontato con il valore della variabile di ingresso c Se il risultato della moltiplicazione minore di c la variabile di output d fissata a ON altrimenti a OFF Ing Elena Mainardi PLC
37. ato in un generico programma In c Es TYPEDEF struct primo campo integer secondo campo real terzo campo char mio record In questo caso ho definito un mio tipo di dato Ogni volta che nel main o nelle altre funzioni del mio codice vorr usare una variabile di tipo mio record dovr scrivere nome variabile mio record Quindi il tipo di dato mio record definito una sola volta al di fuori di tutte le funzioni e viene istanziato ogni volta che dichiaro una variabile di tipo mio record all interno di una qualche funzione Ing Elena Mainardi PLC 134 Automazione industriale Cos e un ISTANZA Cosa vuol dire che un FB istanziato a livello di program o di un altro FB Nel caso del FB per PLC invece che di variabili si parla di una POU cio di un insieme di variabili e codice L FB io lo posso definire dentro ad un program o dentro ad un altro FB ma poi ogni volta che voglio avere effettivamente la possibilit di richiamare questo FB lo devo istanziare Pensando all esempio della pagina precedente dopo aver definito il FB di tipo counter potr per esempio scrivere VAR counter1 counter END VAR A questo punto se in qualche riga di codice invoco counter1 mander in esecuzione un codice di tipo counter Ing Elena Mainardi PLC 135 Automazione industriale RESOURCE Memoria FB PROVA variabili codice PROGRAM PI VAR Fbl Fb2 prova Variabili
38. cal declaration in FBD FUNCTION BLOCK External Interface language VAR INPUT pic ee EE ET IN BOOL Default 0 DEBOUNCE DB TIME TIME t 10ms Default t 10ms BOOL IN OUT BOOL END VAR TIME DB TIME BUT ORE Sea TIMES VAR OUTPUT doce Eee OUT BOOL A Default 0 EI OFF TIME Default t 0s Function Block Body END VAR VAR DB ON DB FF DB ON TON Internal Variables DB OFF TON as 7 and FB Instances TON SR DB FF c5R s IN 4 IN QgQl S1 Q OUT END VAR PT ET R Funce lon Block Body w i 4 DB OFF DB ON IN IN PT DB TIME pesce DB OFE IN NOT IN PT DB ELME E TON DB FF S1 DB ON Q R DB OFF Q O IN Q OUT DB FF Q DB TIMES S F e ET seas ET_ OFF ET OFF DB OFF ET END FUNCTION BLOCK Ing Elena Mainardi END FUNCTION BLOCK PLC 139 Automazione industriale Esempi di FUNCTION BLOCKS standard definiti dalla norma 61131 3 operazioni di temporizzazione BOOL IN Q BOOL TIME PT ET TIME TON Timer On Dclay temporizzatorc con ritardo all inscrzionc TOF Timer Off Delay temporizzatore con ritardo alla disinserzione TP Timer Pulse temporizzatore ad impulso e Elementi bistabili cio analoghi a flip flop Set Reset BOOL S1 Q1 BOOL BOOL R R_TRIG
39. cata kkk vera Contatto normalmente chiuso La corrente scorre solamente se il valore della variabile booleana indicata xxx e falso Contatto rilevatore di fronti di salita La corrente scorre solamente se il valore della variabile booleana indicata passato da un valore falso nella scansione precedente del programma un valore vero in quella attuale LEES INI Contatto rilevatore di fronte di discesa La corrente scorre solamente se il valore della variabile booleana indicata da ee e passato da un valore vero nella scansione precedente del programma ad un valorc falso in quella attuale Ing Elena Mainardi PLC 166 Automazione industriale Linguaggio Ladder Diagram bobine I Simbolo aje Bobina La variabile booleana assume valore vero per la sola durata della scansione corrente del programma se l espressione booleana a sinistra della bobina ha valore vero NUS Bobina negata La variabile booleana assume valore falso per la sola durata della scansione corrente del programma se l espressione booleana a sinistra della bobina ha valore vero S Bobina con ritenuta La variabile booleana assume valore vero e lo mantiene fino ad un esplicito reset se l espressione booleana a sinistra della bobina ha valore vero R Bobina con ritenuta negata La variabile booleana assume valore falso se l espressione booleana a sinistra della bobina ha valore vero E come
40. che convertono i segnali provenienti dai sensori presenti sul campo in segnali aventi formato e livello tale da poter essere processati dalla CPU al contrario i moduli Output convertono segnali processati dalla CPU in segnali che possono essere compresi dagli attuatori Esempi di sensori e attuatori sono Microinterruttori Sensori di prossimit Sensori di temperatura Elettrovalvole e Rel Tutti i moduli I O sono otticamente isolati dal bus assicurando sicurezza e immunit ai disturbi Tutti i moduli I O sono configurabili da software N B Normalmente i circuiti di ingresso ad un PLC sono costitiuti da fotoaccoppiatori che dal lato campo gestiscono segnali a 24 Vcc mentre dal lato interno a 5Vcc Per le uscite generalmente il microprocessore pilota delle bobine di rel o dei transistor open collector Ing Elena Mainardi PLC 26 Automazione industriale Isolamento ottico Ingressi del PLC COMMON INPUT 0000 INPUT 0001 TO OTHER INPUTS INTERNAL CIRCUIT fotoaccopppiatore Circuiteria interna al PLC Ing Elena Mainardi PLC 27 Automazione industriale Isolamento ottico OPTOISOLATORE _ INGRESSO i ACC CIRCUITO INTERNO Ing Elena Mainardi PLC 28 Automazione industriale 4 Rack o armadio o cestello la struttura che racchiude e contiene tutti moduli che compongono il PLC assicurandone la connessione meccanica e il collegamento elettrico Ing
41. e degli ingressi possono riguardare anche gli ingressi veloci che vengono letti molto frequentemente ingressi legati alle routine di interrupt che possono intervenire in qualsiasi momento del ciclo di scansione e gli I O analogici Quando non si utilizzano le immagini di processo la lettura di un ingresso viene effettuata nel momento stesso in cui viene invocata e la modifica dello stato di una uscita si ripercuote immediatamente sul campo L organizzazione del programma piu libera e risulta possibile strutturare il ciclo con punti di attesa e feedback senza problemi con una facile e naturale traduzione sia di strutture combinatorie sia di strutture sequenziali Naturalmente a fronte di una pi elevata efficienza e flessibilit di programmazione si ha una pi difficile gestione e se non vengono adottate opportune tecniche informatiche pi probabile ottenere sistemi poco robusti rispetto a errori di programmazione Ing Elena Mainardi PLC 63 Automazione industriale Altre modalit di funzionamento Ad esempio con i PLC Saia burgess si ha la possibilit di accedere direttamente ai segnali di I O senza passare attraverso l immagine del processo con una notevole riduzione dei tempi di reazione Anche i PLC Rockwell Allen Bradley funzionano di default in modo asincrono La famiglia Logix5000 ha come caratteristica di leggere gli ingressi continuamente ed in tempo reale del processore e non del pr
42. e di orientamento generale in quasi tutti i campi inizialmente si occupava prevalentemente del settore meccanico el IEC che emette norme nel settore Elettrico ed Elettronico In Europa questa struttura si riflette sui due comitati tecnici equivalenti te x s pure PA eoa Ta i z F i y B T 5 A 4 x el al i a da 4 d Ta EA i eil CEN che lavora al pari con l ISO il CENELEC che lavora al pari con l IEC In Italia la situazione praticamente la stessa con questi due enti mi l UNI che lavora al pari con l ISO ed il CEN WU il CEI che lavora al pari con l IEC ed il CENELEC per le norme e elettriche Ing Elena Mainardi PLC 87 Automazione industriale Lo Standard IEC 1131 La International Electrotechnical Commission IEC istituisce nel 1988 diverse Task Force per elaborare uno standard per i controllori programmabili Nel 1992 viene emesso il documento IEC 1131 diviso in cinque parti Parte 1 Definizioni generali Parte 2 Hardware Parte 3 Linguaggi di programmazione Parte 4 Linee guida per l utente Parte 5 Comunicazioni Nel 1993 le prime tre parti diventano Standard Internazionali aggiungendo un 6 a 1131 Descrizione IEC Cenelec CEI Controllori Programmabili 1131 1 EN 61131 1 65 23 Informazioni Generali Controllori Programmabili 1131 3 EN 61131 3 65 40 Linguaggi di Programmazione Esiste poi un altra norma IEC la
43. eguire in ciascuna fase ma solo la sequenza logica delle operazioni gt Specifichiamo cosa deve fare la macchina e non come lo fa gt La separazione dell implementazione dalla progettazione concettuale un buon metodo per suddividere il problema a blocchi rendendone pi facile la comprensione e quindi la ricerca della soluzione Ing Elena Mainardi PLC 76 Automazione industriale Progetto del controllo state driven progetto si imposta analizzando quali sono le fasi operative della macchina Ad ogni fase operativa distinta associamo uno stato ATTESA DISCESA TIMBRO RISALITA TIMBRO Arrivo busta DISCESA TIMBRO Fine corsa basso RISALITA TIMBRO Fine corsa alto Per ogni stato quali sono gli eventi che devono essere verificati per evolvere verso un nuovo stato In questa fase viene definita quindi la topologia della rete Ing Elena Mainardi PLC 77 Automazione industriale Progetto del controllo state driven e Determiniamo le azioni che debbono essere eseguite ad ogni passo ATTESA MOTORE NASTRO Arrivo busta DISCESA TIMBRO MOTORE TIMBRO GIU Fine corsa basso RISALITA TIMBRO MOTORE TIMBRO SU Fine corsa alto Osservazioni Una volta costruito il diagramma degli stati importante verificare che Sia stato indicato lo stato iniziale quello da cui parte la macchina a stati quando il software di controllo viene resettato Non vi sia
44. el plc anche con la presenza di sovratensioni anomale nella rete di interconnessione Ing Elena Mainardi PLC 35 Automazione industriale Protocolli di comunicazione Quando si connettono delle apparecchiature in rete importante definire il protocollo di comunicazione Nelle applicazioni d ufficio dei PC esistono vari tipi di reti e di protocolli alcuni esempi sono la rete Ethernet e la RS 232 In ambito industriale un protocollo molto usato il RS485 che garantisce una buona immunit ai disturbi e pu arrivare fino a 1200 metri Tale protocollo di comunicazione permette di interconnettere fino a 32 dispositivi ad una velocit di 19200 bps bit per secondo Ogni dispositivo che nella rete costituisce un nodo viene poi identificato con un numero da 0 a 31 che deve essere assegnato in fase di configurazione Normalmente il nodo 0 riservato al dispositivo di programmazione il quale pu essere connesso in qualunque punto della rete per programmare uno qualunque dei plc collegati Altri protocolli bus di campo molto usati sono PROFIBUS CANOPEN INTERBUS CONTROLNET etc che superano i 5 10 Mbps Ing Elena Mainardi PLC 36 Automazione industriale Esempi di moduli di rete Moduli per rete Ethernet TCP IP Questi moduli rendono possibile la comunicazione tra controller e dispositivi su una rete Ethernet che usa il protocollo TCP IP Un modulo Ethernet pu essere inserito in un sistema PLC preesi
45. el primo byte del modulo d uscita N B Si ricorda che il bit 0 il primo a destra il bit 7 il primo a sinistra per lolili o ilo 1 1 k S Ing Elena Mainardi PLC 31 Automazione industriale 5 Modulo CPU il modulo che governa tutto il PLC su cui gira il programma Pu avere memoria interna e o esterna All interno della CPU ci sono varie parti tra cui unit di gestione ovvero informazioni di gestione del PLC stesso impostate dal costruttore e trasparenti all utente archivio di temporizzatori e contatori funzionali all operativit del PLC memorie immagine del processo cio le informazioni in ingresso ed i comandi in uscita del processo memoria utente in cui vengono scritti i programmi che il PLC deve eseguire interfaccia per il dispositivo di programmazione che comunica con gli strumenti di programmazione bus dati comando indirizzi per la veicolazione dei dati fra le varie parti e con l esterno della CPU Il modulo CPU permette l implementazione di funzioni logiche di temporizzazione matematiche di comunicazione etc Ing Elena Mainardi PLC 32 Automazione industriale MEMORIA DI SISTEMA Contiene il sistema operativo firmware del PLC costituito da routine di autotest iniziale dati del setup librerie MEMORIA DI PROGRAMMA Contiene la sequenza di istruzioni programma utente che verr eseguita dalla CPU Esistono diverse possibilit RAM per svi
46. ene dichiarata a livello di risorsa Concettualmente il program pu essere considerato analogo al function block Ing Elena Mainardi PLC 142 Automazione industriale Esempio definizione di un program a livello di resource PROGRAM fermenter variable declaration VAR_INPUT Program inputs Reagent_Code INT Sterilise BOOL Ferment Period TIME END VAR VAR OUTPUT Program output Yeld REAL status WORD END VAR VAR Internal variables and function blocks pH Loop Temp Loop PID Body not shown but can be ST FBD LD SFC or END_PROGRAM Esempio dichiarazione del program sopra definito N B Linel sar un program di tipo fermenter Al suo parametro di ingresso Reagent Code associo la variabile Al a Sterilise associo A2 a PROGRAM Line1l fermenter Reagent Code A1 Sterilise A2 Ferment Period FTIME La sua uscita Yeld andra nella mia variabile AJ 43 mentre Status andr alla variabile KX56 Ferment Period FTIME Yeld gt AJ 43 Status gt KX56 Ing Elena Mainardi 143 Automazione industriale Ricapitolando delle tre POU il Program quella pi generale e con meno restrizioni la Function quella pi restrittiva e pi dedicata ad una singola operazione specifica Tipo di variabile PROG VARINPUT LVAROUTPUT 1 1 0 LVARINOUT 31 1 9 VAR EX T ERNA WE VE w be X Lx LI a VAR CLOBAL 1 0
47. fico le azioni in base allo stato di funzionamento del processo struttura state driven Macchina Ingressi Uscite Controllore Ing Elena Mainardi PLC 66 Automazione industriale Approccio condition driven programma di controllo comanda determinate azioni sul processo in base al presentarsi di determinate condizioni Eventi segnalati da appositi sensori a bordo macchina Eventi interni al controllore timer contatori La struttura del programma si pu ricondurre ad una sequenza di istruzioni If lt condizione gt THEN lt azione gt Ad esempio IF FOTOCELLULA THEN AVANZAMENTO MOTORE IF TIMER Q THEN STOP MOTORE Ing Elena Mainardi PLC 67 Automazione industriale Approccio state driven programma di controllo comanda determinate azioni sul processo in base allo stato di evoluzione del processo Lo stato di evoluzione del processo dipende dalla sequenza degli ingressi che si sono presentati fino a quel momento Definizione formale di stato Uno stato una condizione di funzionamento del processo che persiste per un periodo di tempo significativo ed distinguibile da ogni altra condizione di funzionamento Una condizione di funzionamento si dice distinguibile da ogni altra se differisce Negli eventi che vengono accettati nello stato Nelle transizioni che si diramano dallo stato Nelle azioni che vengono eseguite Ing Elena Mainardi PLC 68 Automazio
48. finire variabili in FUNCTION e FUNCTION BLOCK che supportanto l overloading delle variabili L overloading assomiglia al casting che vale per il linguaggio c In sostanza per esempio io posso scrivere una funzione dichiarando che il tipo di dato su cui operer ad esempio ANY MAGNITUDE cio un numero generico senza dire se intero reale time etc e poi invocare la funzione passando per parametro una volta un intero una volta un reale etc La funzione si adattera al tipo di dato che io mando quando la invoco Ing Elena Mainardi PLC 101 Automazione industriale Tipo di dato generico Esempio Ck Definizione di una funzione FUNCTION max ANY MAGNITUDE VAR INPUT A B ANY MAGNITUDE END VAR IF A gt B THEN max ELSE max B END_IF END_FUNCTION Ing Elena Mainardi Main programme VAR t TIME speed REAL END_VAR VAR CONSTANT MAX_TIME TIME T 2s MAX_SPEED REAL 12 34 END_VAR IF max t MAX_TIME MAX_TIME THEN IF nax speed MAX SPEED MAX SPEED THEN PLC 102 Automazione industriale Tipo di dato derivati Oltre ai tipi di dato semplice come intero reale stringa time esistono anche i tipi di dato derivati esattamente come in linguaggio c la tipizzazione dei dati permette di eliminare incongruenze ed errori gi in fase di compilazione e semplifica il compito del programmatore l utilizzo di tipi di dato derivato
49. g Elena Mainardi PLC 171 Reti logiche complesse Circuito con combinazione logica AND prima di OR T T 4 Circuito con combinazione logica OR prima di AND Automazione industriale Circuito con combinazione logica AND prima di OR In AWL Siemens Se sono vere X0 e X2 oppure sono vere X1 e X3 gt allora attiva Y 1 U ED 0 U EB8 1 Circuito con combinazione logica OR prima di AND xO X2 Tl Xl X3 MM In AWL Siemens U 0D EH D Se sono vere X0 oppure X1 e sono vere X2 oppure X3 2 allora attiva Y 1 Ing Elena Mainardi PLC 172 Automazione industriale Ladder gt B 4 3 4 l T Ing Elena Mainardi PLC 173 Automazione industriale Ladder Non esiste limite al numero dei contatti da inserire nelle linee di combinazione memoria permettendo Tutti gli output possono essere utilizzati come contatti di input via software Nessun contatto pu essere disposto a destra dell output Ing Elena Mainardi PLC 174 Automazione industriale Esempi di network Ladder Diagram Automatic Emergency Drivei OK Motori On pocos a moz e ess ol pedis Manual Nastroi_Man_ Cmd 1 oe Automatic vero oppure sono veri Manual e Nastro man cmd e Emergency falso e Drive1 ok vero allora attiva la bobina Motor1 on Ing Elena Mainardi PLC Automazione industriale 175 Ladder Bobine con ritenuta I1
50. g_task SINGLE LogFlag PRIORITY 3 Ing Elena Mainardi PLC 146 Automazione industriale Assegnazione di un POU ad una TASK Siccome il task l elemento che manda in esecuzione un codice secondo determinate modalit o quando si verifica un evento o ogni tot istanti di tempo ci dovr essere un modo di dire quale POU associare a quale task e Definisco due tasks TASK SLOW_1CINTERVAL t 20ms PRIORITY 2 TASK FAST 1CINTERVAL t 10ms PRIORITY 1 gt Li gt Associo il programma P1 di tipo F alla task SLOW_1 PROGRAM P1 WITH SLOW 1 F x1 IX1 1 Li gt Associo il programma P2 di tipo G alla task FAST 1 asseenado I gs I g contestualmente variabili di ingresso ed uscita PROGRAM P2 WITH FAST 1 GCOUT1 gt w IN1 IX1 1 IN2 IX1 2 Ing Elena Mainardi PLC 147 Automazione industriale SCHEDULING Quando ci sono molti task dichiarati ad ogni task generalmente assegnato un intervallo diverso ed una priorit L istante di tempo in cui un particolare task viene seguito dipende dal tipo di scheduling dalle priorit e dagli intervalli degli altri task e da quanto tempo ognuno degli altri task sia pronto ed in attesa di essere eseguito Un PLC pu fornire due metodi di scheduling non preemptive e preemptive Non preemtive scheduling non consente l interruzione di una task da task pi prioritarie E semplice da Implementare ma non consente una e
51. gramma etc etc Ing Elena Mainardi PLC 153 Automazione industriale Che tipo di variabili esistono in base alla loro visibilit e alle loro caratteristiche Access path sono percorsi di comunicazione tra le diverse configurations ai quali possibile accedere attraverso un set di variabili dichiarate usando il costrutto VAR_ACCESS Sono una interfaccia tra la configuration in cui sono dichiarate ed eventuali configurations remote Variabili globali possono essere dichiarate a livello di Configuration Resource o Programs Le variabili globali definite all interno di Configuration Resource o Programs sono visibili in tutti i moduli che essi contengono purch definite EXTERNAL VAR GLOBAL NOME TIPO NOME TIPO VALORE INIZIALE gt END VAR Ing Elena Mainardi PLC 154 Automazione industriale Le variabili globali debbono essere di tipo EXTERNAL per poter essere utilizzate nei moduli contenuti VAR EXTERNAL NOME TIPO NOME TIPO END VAR NOTA La visibilit delle variabili controllabile dal programmatore evita errori permette dichiarazioni di variabili locali con gli stessi nomi Quindi se definisco una variabile come global in resource e poi la voglio usare in un programma istanziato nella resource nel programma la devo dichiarare come external Ing Elena Mainardi PLC 155 Automazione industriale Variabili ad indirizz
52. i si compone gt gt rack armadio cestello eventualmente altri moduli con funzioni particolari anche per gestire eventuali Ing Elena Mainardi eriferiche PLC 16 Automazione industriale 1 Modulo di alimentazione fornisce alimentazione a tutti Moduli Tipicamente i PLC vengono alimentati a 24Vdc Esistono anche PLC collegabili direttamente alla tensione di rete solitamente pi ingombranti delle versioni a 24V Ing Elena Mainardi PLC Automazione industriale 2 Moduli di ingresso consentono al PLC di leggere lo stato dei sensori ad esso collegati Schede di ingresso digitali Sono utilizzate per il controllo di grandezze digitali cio di tensioni a due valori ad esempio OV o 24V oppure OV 110V Ogni scheda pu gestire da 4 a 32 o 64 ingressi digitali differenti segnali dal campo vengono fatti arrivare con cavi elettrici fino alla morsettiera della scheda Schede di ingresso analogiche Permettono la rilevazione di grandezze elettriche il cui valore pu variare entro un intervallo Le grandezze in gioco sono in tensione o in corrente Ad esempio sono disponibili schede di ingresso analogiche in corrente con un intervallo variabile tra 4mA e 20mA Molti produttori di PLC rendono disponibili schede con ingressi analogici per sonde di temperatura sia Pt100 che termocoppie T J K ecc Queste schede sono disponibili con varie risoluzioni 8 12 14 16 bit e con 1 o piu ingressi distinti disponibi
53. i tutti gli elementi di programmazione ed costrutti necessari per l elaborazione dei segnali da parte di un PLC In pratica l insieme del codice e delle sue variabili che esegue le funzioni della mia applicazione E istanziato a livello di resource Nell ambito della stessa Configuration possibile utilizzare pi istanze dello stesso program in differenti Resource Caratteristiche di un program contiene costrutti realmente eseguibili pu essere scritto in diversi linguaggi la sua esecuzione avviene sotto il controllo di uno o pi task Il program una POU molto simile al function block per un contenitore pi ampio Nei PLC tradizionali esiste un solo programma e una sola risorsa CPU per eseguirlo ma abbiamo visto che la norma prevede anche situazioni pi complesse Ing Elena Mainardi PLC 115 Automazione industriale task l elemento che si occupa di controllare e mettere in esecuzione un program o una sua parte Pu essere periodico cio mandato in esecuzione ogni tot istanti di tempo attivato da evento viene mandato in esecuzione se succede un particolare evento N B Un program solo un insieme di righe di codice se scritto in ST oppure un insieme di oggetti grafici se scritto in un linguaggio grafico e di dichiarazioni di variabili che non interagisce con l hardware se non viene mandato in esecuzione da un task Finch un task non manda in esecuzione il
54. ime Character string variabile literal Ing Elena Mainardi PLC 95 Automazione industriale Tipo Integer IEC Data type Description SINT Short integer 128 to 4 127 INT Integer 16 32768 to 32767 DINT Double integer 32 o S OP ed LINT Long integer 5 983 to 42983 _ 1 USINT Unsigned short integer 3 0 to 255 UINT Unsigned integer 16 0 to 4 65535 UDINT Unsigned double integer a Oto 332 1 ULINT Unsigned long integer 04 0 to 2 Integer literals Decimal values base 10 123 0 23 123 Binary values base 2 2 1111_1111 255 decimal Octal values base 8 8 377 255 decimal Hexadecimal values base 16 16 FF 255 decimal Ing Elena Mainardi PLC 96 Automazione industriale Tipo Real heal number IEEE floating point for mat Long Real number valori definiti come REAL hanno una precisione di 1 parte su 223 valori definiti come LREAL hanno una precisione di 1 parte su 252 Real literals Literal constant Examples 10 123 4 12 123 21 1 6eE 10 0 327e 14 NOTA La notazione esponenziale di un numero reale si indica con la potenza di 10 con cui il numero viene moltiplicato La notazione prevede l utilizzo indifferente della lettera maiuscola E e minuscola e Ing Elena Mainardi PLC 97 Automazione industriale Tipo Date and Time Storing date IEC Data type Description Calendar Implementation calendar date dependent TIME_OF_DAY Time of
55. imo preimpostato causa un allarme che pone il plc nello stato di STOP Ing Elena Mainardi PLC 54 Automazione industriale Ciclo di esecuzione del PLC Funzionamento classico immediatamente prima della lettura dell IP vana lo stato di un ingresso La variazione del segnale d ingresso viene ancora regi strata nell IPl Sistema operativo Programma utente Nel programma utente viene elaborata la va nazione di stato del segnale d ingresso Tempo di reazione Qui viene trasferita alle uscite la reazione del programma utente alla variazione dello stato di segnale sull ingresso eo LL LL LLL Lll LLLI LL LLL lt lt lt IPI Immagine del processo in ingresso IPU Immagine del processo in uscita Ing Elena Mainardi PLC 55 Automazione industriale Attivit del sistema operativo Aggiornamento dell immagine degli ingressi Aggiornamento dell immagine delle uscite Esecuzione del programma utente Gestione dei programmi utente attivati su interruzione Interruzione generata da un evento Interruzione generata da un temporizzatore interruzione ciclica decupazione della CPI Tempo SO Sistema operativo PU Programma utente IP Immagine del proc di ingresso IPO Immagine del proc di uscita Ing Elena Mainardi PLC 56 Automazione industriale IMMAGINE DEGLI INGRESSI Il ciclo di esecuzione del PLC basato su questo schema ha il vantaggio di congela
56. inardi PLC 178 Automazione industriale Function Block di Uso Comune Timer T OFF T OFF IN BOOL If a falling edge is detected the off delay timing is started IN Qs PT TIME Preset time interval for the ET delay PT Q BOOL Output ET TIME Elapsed time interval Ing Elena Mainardi PLC 179 Automazione industriale Esempio realizzazione di un oscillatore ad onda quadra tramite timers Ton 11 1 T6 T5 ie Blocco funzionale temporizzatore T5 T5 T6 3 Blocco funzionale temporizzatore T6 Sec E Nell esempio si realizza un oscillatore caratterizzato da un uscita con livello logico alto per 3 secondi e basso per 2 secondi quindi il periodo T 3 2 5 s e il duty cycle Ton T 3 5 60 Ing Elena Mainardi PLC 180 Automazione industriale All inizio tutto a valore logico false 0 n i timers n l uscita U2 2 sono attivi Poi ad un certo punto l ingresso 11 1 si attiva gt siccome T6 spento e il suo valore sul primo rung in logica negata si attiva il timer T5 che conta per 2 secondi durante i quali la sua uscita rimane bassa AI termine dei 2 secondi l uscita di T5 va a valore logico alto quindi attiva sul secondo rung il timer T6 che conta per 3 secondi durante i quali la sua uscita rimane bassa Al termine dei 3 secondi T6 va a valore logico alto quindi disattiva sul primo a a s I I1 1L re I Dn mi DICI Ing Elena Mainardi PLC
57. industriale TYPE MACHINE_STATUS STOP RUN FAULTY STANDBY END_TYPE VAR STATUS MACHINE STATUS END VAR IF STATUS STOP THEN Esempio enumerated END IF TYPE DEVICE MODE INITIALISING RUNNING STANDBY FAULTY PUMP MODE RUNNING OFF FAULTY END TYPE Ambiguit perch ho definito VAR il valore FAULTY sia nel AX100 DEVICE MODE tipo device mode che nel XV23 PUMP MODE tipo pump mode END VAR Se esistono ambiguita occorre specificare il tipo IF AX100 DEVICE MODEXFAULTY THEN XV23 PUMP_MODE OFF Ing END IF Bre 106 Automazione industriale Esempio Subrange TYPE MOTOR VOLTS INT 6 12 END TYPE Esempio Array VAR COSTANT MAX CAM POINT INT 100 NUMBER OF MOTOR INT 10 END VAR TYPE SLAVE POS REAL CAM POINTS ARRAY 1 MAX CAM POINT OF SLAVE POS MOTION MATRIX ARRAY 1 MAX CAM POINT 1 NUMBER OF MOTOR OF SLAVE POS END TYPE NOTA il numero massimo della dimensione dei vettori dipende dalla implementazione e non definito dalla norma Ing Elena Mainardi PLC 107 Automazione industriale Esempio Structure TYPE PRESSURE SENSOR STRUCT INPUTS PRESSURE STATUS DEVICE MODE CALIBRATION DATE CALIBRATION PARAMETERS ARRAY 0 10 OF REAL HIGH LIMIT REAL 20 20 END STRUCT END TYPE Ing Elena Mainardi PLC 108 Automazione industriale Dichiarazione delle variabili Sintassi generica NOME
58. l PLC non si deve rifare tutto l impianto elettrico Ing Elena Mainardi PLC 14 Automazione industriale vantaggi del PLC rispetto alla logica cablata a rel il cablaggio di un quadro di automazione diventa elementare in quanto basta portare ciascun segnale individualmente sulla morsettiera del PLC semplice controllare eventuali anomalie o scoprire guasti possibile programmare centinaia di rel ausiliari temporizzatori e contatori senza aumentare lo spazio occupato nel quadro e possibile tramite il software di programmazione modificare il funzionamento dell automatismo anche mentre questo in funzione o con pause di pochi istanti e possibile adattare il funzionamento alle esigenze di produzione ad es per un cambio formato sostituendo il programma alta affidabilit del prodotto i casi di guasto sono rari Ing Elena Mainardi PLC 15 Automazione industriale Com fatto un PLC II PLC un oggetto hardware componibile Ha bisogno di essere alimentato gt modulo di alimentazione Ha bisogno di ricevere informazioni dai sensori moduli di ingresso Deve poter comandare attuatori moduli di uscita Deve eventualmente poter comunicare con altri PLC o PC gt moduli di comunicazione Deve eseguire il programma eseguire calcoli supervisionare tutti i moduli gt modulo CPU Deve esserci una struttura meccanica che contiene tutti i Moduli di cu
59. l tipo di variabile Questi attributi possono essere RETAIN indica che il valore delle variabili dichiarate in tale sezione deve essere ricordato anche in caso di caduta di alimentazione del PLC Memoria tamponata da batteria CONSTANT il loro valore non pu essere modificato nel programma Nella dichiarazione occorre quindi anche inizializzarle al valore desiderato AT seguito da un indirizzo fisico della memoria di sistema indica che il nome della variabile rappresenta un alias per l indirizzamento diretto N B le variabili non indirizzate direttamente se non hanno l attributo AT vengono allocate nella memoria di lavoro del PLC gt Occhio possibile domanda d esame saper spiegare visibilit e attributi delle variabili Ing Elena Mainardi PLC 162 Automazione industriale Esempi VAR RETAIN Mantiene le variabili nell avviamento a caldo Pz counter LINT END VAR VAR CONSTANT Definisce costanti inziali StartUp speed REAL 12 3 END VAR VAR Definisce l indirizzo fisico di sensori ed attuatori TEMPERATURE SENSOR AT 4IW10 WORD DIG OUTPUT AT QX120 ARRAY O 15 OF BOOL definisce gli indirizzi delle uscite digitali a partire dall indirizzo 120 x END VAR Ing Elena Mainardi PLC Automazione industriale Linguaggi di programmazione di un PLC definiti dallo Standard IEC 61131 3 linguaggi della Norma sono quattro due dei quali con sin
60. li In morsettiera o connettore Ing Elena Mainardi PLC Automazione industriale Bisogna scegliere adeguatamente le schede ingresso uscita rispetto ai dispositivi presenti nel sistema Ad esempio inutile avere un PLC con convertitore A D eccessivamente pi preciso dello strumento di misura che genera il segnale analogico Ing Elena Mainardi PLC Automazione industriale 3 Moduli di uscita consentono al PLC di comandare gli attuatori ad esso collegati Schede di uscita digitali Sono utilizzate per i comandi di attuatori digitali Ad esempio un rel e un attuatore digitale in quanto pu avere soltanto due stati stabili diseccitato o eccitato Altro esempio di attuatore una valvola digitale a due stati aperta chiusa Anche nel caso di schede di uscita digitali si possono gestire da un minimo di 4 ad un massimo di 64 uscite digitali differenti Schede di uscita analogiche Permettono di controllare degli attuatori variabili Possono essere in corrente o in tensione ed avere una determinata soluzione esprimibile in bit Ad esempio e possibile comandare un motore elettrico tramite un inverter variandone la velocit tramite la frequenza da zero alla sua massima velocit Oppure si pu variare la velocit di un ventilatore o la luminosit di una sorgente luminosa Ing Elena Mainardi PLC 20 Automazione industriale Le uscite possono essere costituite da transistor per circuiti in co
61. lio Soft Su PC la programmazione pu essere realizzata in linguaggio a contatti LADDER o in linguaggio blocchi funzione FBD Numero d l O Ingessi digitali Di cui analogici 0 10V Uscite a rele Uscite a transistor Orologio bi oo Tensione alimentazione 50 Automazione industriale Come funziona un PLC LETTURA DELLO STATO DI TUTTI GLI INGRESSI ldemearizzaziene nel registre immagine ingressi ELABORAZIONE SEQUENZIALE ISTRIUFIONI E m i i T um dT 083 hieamearizzaziene risultati nel registra immagine uscite ATTIVAZIONE SEQUENZIALE i TUTTE LE USCITE Una volta programmato il PLC esegue ciclicamente in continuazione il programma gt ELABORAZIONE CICLICA Ing Elena Mainardi PLC 51 Automazione industriale Come funziona un PLC Funzionamento classico Funzionamento classico TUTTI GLI INGRESSI 1 La prima operazione che compie la lettura di tutti gli ingressi digitali analogici on board o su bus di campo cio provenienti da schede remotate ovvero collegate al plc tramite una rete di comunicazione 2 Dopo aver letto tutti gli ingressi il loro stato viene memorizzato in una memoria definita REGISTRO IMMAGINE DEGLI INGRESSI 3 A questo punto viene elaborato il programma Le istruzioni di comando vengono elaborate in sequenza dalla cpu 4 Al termine dell elaborazione il risultato viene memorizzato nel REGISTRO IMMAGINE DELLE USCITE 5 Infine il c
62. luppo e collaudo EPROM per programma definitivo EEPROM sia per fase di sviluppo che per versione definitiva MEMORIA DATI Contiene le informazioni relative alle varie aree dati interne e di I O Poich in funzione delle elaborazioni del programma necessario effettuare sulle aree dati veloci operazioni di lettura e di scrittura possibile utilizzare soltanto memorie di tipo RAM Ing Elena Mainardi PLC 33 Automazione industriale 6 Moduli di comunicazione o moduli di rete Il PLC durante il suo funzionamento pu comunicare con computer con altri PLC oppure con altri dispositivi La comunicazione con computer e altri dispositivi avviene tramite tipi di connessione standard come RS232 RS422 RS485 TCP IP La comunicazione con altri PLC o con sensori intelligenti avviene tramite protocolli standard ad esempio Profibus DeviceNet TCP IP Modbus Modbus Plus Modbus TCP IP Controlnet Powerlink CAN BUS Ing Elena Mainardi PLC 34 Automazione industriale L interfaccia di rete Con l installazione di un modulo di rete o interfaccia di rete possibile interconnettere assieme piu plc e fare in modo che questi si scambino informazioni Il modulo di rete normalmente non occupa uno slot nel rack ma viene affiancato esternamente alla CPU Il modulo di rete spesso galvanicamente isolato optoisolatore in quanto deve garantire il perfetto funzionamento d
63. mergency Stop Macchina Marcia Nastro Sx Marcia Nastro Dx o Marcia Nastro Dx Ing Elena Mainardi PLC 187 Automazione industriale Alimentazione di un motore in due sensi di marcia orario e antiorario con interblocco Soluzione controllare l abilitazione dei comandi di rotazione oraria o anti oraria con segmenti analoghi al precedente ma nei quali sia inserito un interblocco che impedisca un attivazione contemporanea dei due segnali condizione che provocherebbe un cortocircuito sui terminali del motore Come si pu notare l interblocco rappresentato dal valore dell uscita di comando della rotazione simmetrica a quella attivata dalla bobina in esame In tal modo effettivamente impossibile abilitare contemporaneamente entrambe le uscite anche se per un errore del programma vi fosse un ciclo di esecuzione nel quale le variabili booleane Rotaz Dx e Rotaz Sx fossero contemporaneamente vere Ing Elena Mainardi PLC 188 Automazione industriale Esempio ladder controllo diagnostico e rilevazione di allarmi e Nell esempio seguente si considera il caso in cui il PLC debba monitorare i segnali provenienti da sensori che rilevano la presenza di un incendio in una zona a rischio Nella zona da controllare sono presenti tre sensori identici posizionati in punti opportuni e si desidera che nel caso in cui uno solo di questi sensori fornisca un segnale logico vero venga avviata una segnalazione di
64. n il quale un generico PLC lavora Ma nella realt non sempre cos Possiamo distinguere diversi tipi di ciclo PLC di marche differenti possono lavorare in modo differente e questo comporta che il programmatore tratti ingressi e uscite in modo diverso Ing Elena Mainardi PLC 59 Automazione industriale Funzionamento classico Ciclo sincrono in ingresso e sincrono in uscita In questo caso 1l PLC acquisisce tutti gli ingressi all inizio del ciclo e li memorizza in un area di memoria che viene denominata immagine degli ingressi Tale immagine rimane invariata per tutto il ciclo del PLC che anche se gli ingressi dovessero cambiare non li considera Allo stesso modo durante l elaborazione del programma le uscite vengono calcolate e memorizzate in un area denominata immagine delle uscite solo alla fine dell esecuzione del ciclo macchina corrente esse vengono effettivamente inviate sul campo Questo tipo di ciclo ha come vantaggio proprio il fatto di essere completamente sincrono e come tale di lasciare invariati ingressi e uscite durante un ciclo macchina Questa caratteristica risulta essere particolarmente utile in fase di ricerca guasti e collaudo in quanto essa permette in ogni istante di fornire una descrizione completa dei valori delle variabili coinvolte nel funzionamento del PLC Per contro questo tipo di ciclo proprio per le sue caratteristiche comporta ritardi nell acquisizione deeli i
65. nardi PLC 73 Automazione industriale Progetto del controllo Condition Driven IF ARRIVO_BUSTA THEN MOTORE NASTRO FALSE MOTORE_TIMBRO TRUE MOTORE_TIMBRO_DIREZIONE END_IF IF FINE_CORSA_BASSO THEN TIMBRATO TRUE MOTORE_TIMBRO_DIREZIONE END_IF IF FINE_CORSA_ALTO AND TIMBRATO THEN TIMBRATO FALSE MOTORE_TIMBRO FALSE MOTORE_NASTRO TRUE END IF Ing Elena Mainardi PLC T4 Automazione industriale Progetto del controllo state driven Analisi degli stati operativi del processo che vengono identificati in base alla descrizione del funzionamento della macchina Per definire uno stato operativo di funzionamento ci chiediamo Quali sono le azioni che la macchina compie in un determinato momento Tali azioni sono differenti da quelle che esegue in altri momenti del ciclo produttivo Esempio 1 La timbratrice in attesa dell arrivo della busta Non viene eseguita nessuna azione se non l azionamento del motore del nastro l azione eseguita quindi l attesa che arrivi la busta successiva 2 timbro scende per timbrare la busta 3 Il timbro sale per raggiungere la posizione di riposo dopo aver timbrato Ing Elena Mainardi PLC 75 Automazione industriale Progetto del controllo state driven Osservazione gt In questa fase identificazione degli stati operativi non specifichiamo l implementazione delle operazioni che il processo deve es
66. ndo Avviamento a caldo warm restart Procedura di partenza della macchina in cui vengono saltate alcune procedure di avvio in quanto lo stato raggiunto dalla macchina prima dello stop stato mantenuto PLC PLC 71 Automazione industriale Esempio di programmazione condition driven e state driven La timbratrice deve ripetitivamente salire e scendere per effettuare timbri su buste che vengono poste sul supporto inferiore da un altra macchina segnale di busta presente gt avvia motore in direzione di discesa fino a che il sensore di presenza inferiore segnala che il pistone di timbratura arrivato al fine corsa gt il motore deve invertire la sua corsa e far risalire il pistone fino a che non viene attivato il sensore di fine corsa superiore A questo punto la macchina timbratrice segnala che la busta pu essere rimossa dalla sede di lavorazione Motore D uns ad discesa Timbratrice Sensori di timbro posizione BE b Sensore di presenza busta Motore avanzamento Ing Elena Mainardi nastro 72 Automazione industriale Progetto del controllo Condition Driven e ll progetto richiede di elencare 1 possibili eventi diagnosticabili dai sensori segnali di ingresso ARRIVO BUSTA FINE CORSA BASSO FINE CORSA ALTO e Per clascun evento o combinazione di eventi s definisce un azione da impostare sulla macchina MOTORE NASTRO MOTORE TIMBRO MOTORE TIMBRO DIREZIONE Ing Elena Mai
67. ndustriale Come scrivo fisicamente un programma in ladder Tramite degli editor grafici con gi preimpostati i blocchi per le variabili di ingresso gli interruttori le bobine i function blocks etc Step Manual ccc AV ze CIk 1 0z Manual Ing Elena Mainardi PLC 192 Automazione industriale Linguaggio Instruction list IL E un linguaggio testuale di basso livello con una struttura simile all assembler IL un linguaggio adatto alla soluzione di semplici problemi e alla produzione di codice ottimizzato ma non supporta la programmazione strutturata linguaggio IL pu essere interpretato direttamente da molti PLC conformi alla norma IEC1131 3 E proprio per questo motivo che tale linguaggio talvolta considerato linguaggio PLC nel quale si possono tradurre tutti i linguaggi conformi alla norma IEC1131 3 0000 LD 0028 0001 0029 0002 0033 0003 0030 0004 0031 0005 0032 0006 OUT 0511 0028 0029 0030 0031 0032 0511 Esempio di programma scritto in I I m IL e sua corrispondenza con ladder Ing Elena Mainardi PLC 193 Automazione industriale Linguaggio Instruction list IL Definizione della funzione di nome funz IL scritta in Instruction List che ritorna un intero FUNCTION funz IL INT VAR INPUT nessuna variabile passata dal chimante END VAR VAR Var1 INT END VAR LD T corpo della funzione ADD 2 4 7 ST Var1 ST funz_IL valore di ritorno Invocazione da un prog
68. ne industriale Transizioni Una transizione una risposta ad un evento che causa un cambiamento nello stato del processo Se ingresso A Se ingresso A 2 transizione Ing Elena Mainardi PLC 69 Ing Elena Mainardi Automazione industriale Modellare sequenze di processo mediante Macchine a stati finiti sistemi automatici sono rappresentabili mediante passi sequenziali descrivibili mediante sistemi a stati finiti sistemi di controllo devono replicare queste propriet in modo che Stato di esecuzione del du Stato di esecuzione della orogramma di controllo macchine Lo stato del sistema di controllo deve sempre essere congruente con quello del processo controllato 70 Ing Elena Mainardi Automazione industriale In generale un software industriale interagisce con un sistema dinamico modellabile mediante una sequenza di stati di lavorazione Lo stato interno del software deve essere congruente con lo stato del processo controllato Esempio procedure di avviamento a caldo ed avviamento a freddo delle macchine automatiche Avviamento a freddo cold restart Procedura di partenza della macchina completa Tale procedura utilizzata quando lo stato della macchina al momento della ripresa non congruente con lo stato in cui la macchina si fermata perch per esempio mentre la macchina ferma sposto a mano alcune componenti meccaniche pulisco gli ingranaggi e via dice
69. ng Elena Mainardi PLC 92 Automazione industriale Gli elementi comuni della norma ipi di dato e Dichiarazioni delle variabili Elementi di organizzazione dell applicativo Program Organization Units POU suddivisi in Functions Function Blocks Programs Schema formale per la descrizione di operazioni sequenziali Sequential Function Chart SFC Configurazione di sistema Resource Tasks etc N B E in pratica il 5 linguaggio definito dalla norma anche se invece che essere definito nella sezione Linguaggi definito nella sezione Elementi Comuni Ing Elena Mainardi PLC 93 Automazione industriale In soldoni La norma 1131 ci dice come strutturato un software che debba controllare un PLC definendo quali sono i tipi di dato che si possono usare come dichiarare le variabili che istruzioni poter utilizzare in che modo definire e dichiarare le funzioni quali parti di un programma possono richiamarne altre come fanno le varie sottoparti di un progetto software a scambiarsi dati ad esempio usando variabili globali o variabili passate per riferimento Ing Elena Mainardi PLC 94 Automazione industriale Literal constants e Tipi di dato Una costante letterale literal constant definisce la rappresentazione di costanti per un particolare tipo di dato e tipi di dato semplice sono Integer Bit string 7 Real Int a 16 T
70. ngressi e nel comando delle uscite pi elevati di tutti eli altri che verranno analizzati Ing Elena Mainardi PLC 60 Automazione industriale Altre modalit di funzionamento Ciclo asincrono in ingresso e sincrono in uscita Ing Elena Mainardi In questo ciclo le uscite sono trattate come nel caso precedente mentre non esiste l immagine degli ingressi Pertanto quando durante l esecuzione del programma utente si fa riferimento a uno specifico ingresso questo viene letto direttamente dal campo S1 noti che questa operazione non richiede pi tempo di un accesso all immagine degli ingressi vista nel caso precedente in quanto dato che gli ingressi fisici del PLC sono mappati nella sua memoria l acquisizione di un ingresso consiste anche in questo caso in una operazione di accesso alla memoria Questo tipo di ciclo presenta a parit di numero di istruzioni del programma utente tempi di esecuzione pi bassi rispetto al caso precedente in quanto manca la parte di elaborazione dell immagine degli ingressi Quando si usa un PLC con ciclo asincrono in ingresso bisogna tenere conto che proprio per le sue caratteristiche durante un ciclo macchina una qualsiasi routine software se eseguita pi volte sempre con gli stessi ingressi pu dare uscite diverse ci ovvio poich il valore degli ingressi dipende dagli istanti di acquisizione anche nello stesso ciclo macchina Questo non un inconveniente tuttavia si tra
71. nico valore che verr immagazzinato in RES2 MUL SIN e COS sono funzioni standard gi predefinite e utilizzabili dall utente Ovviamente il programmatore pu scriversi le sue funzioni Ing Elena Mainardi PLC 121 Automazione industriale La definizione di una funzione creata dall utente richiede Una lista di variabili d ingresso ed interne temporanee La descrizione dell algoritmo implementato dalla funzione Tale algoritmo pu essere implementato in un qualunque linguaggio della norma ad esclusione dell SFC Testuale FUNCTION SIMPLE_FUN REAL VAR_INPUT A B REAL CF External interface specification C REAL 0 END_VAR SIMPLE FUN A B C Function body specification END_FUNCTION FUNCTION Grafica SIMPLE_FUN REAL A REAL EEAL B External interface specification Function body specification A B 1 Z SIMPLE FUN Ing Elena Mainardi END FUNCTION PLC 122 Automazione industriale Un piccolo dettaglio FUNCTION SIMPLE FUN REAL VAR INPUT A B REAL Ck External interface specification C REAL END VAR SIMPLE FUN A B C Function body specification END FUNCTION Le variabili specificate col costrutto VAR INPUT sono variabili che la POU prende dal chiamante e NON PUO MODIFICARE Per in questo esempio la variabile C pur essendo dichiarata come input viene inizi
72. no stati da cui non diparte alcun collegamento stati non connessi e A parte i soli stati iniziali non vi siano stati a cui non arrivi alcun collegamento stati non raggiungibili Ing Elena Mainardi PLC 78 Automazione industriale Progetto del controllo state driven costruzione incrementale del diagramma degli stati La costruzione del diagramma degli stati pu avvenire in modo incrementale 1 SI individua lo stato gli stati iniziale 2 Si individuano le transizioni a partire dallo stato iniziale 3 SI procede in modo incrementale individuando stati e transizioni ripercorrendo l evoluzione sequenziale della macchina Ing Elena Mainardi PLC 79 Automazione industriale Le azioni ripetute 1 A volte vi sono azioni che vengono ripetute in molti a volte tutti gli stati dell automa 2 Un esempio tipico costituito dagli allarmi o dalle eccezioni di funzionamento 3 In tal caso possibile Trattare le gestioni di questi eventi in un programma separato scritto con approccio event driven quando le azioni o le condizioni sono le stesse in tutti gli stati tipicamente per gli allarmi Ing Elena Mainardi PLC 80 Automazione industriale Le azioni ripetute Se in una macchina a stati finiti esistono azioni che si ripetono su pi stati significa che tali stati non sono significativi per quella azione e quindi essi debbono essere riuniti in un solo stato associato a quella azione
73. ocesso quindi durante le scansione pu avvenire che cambi lo stato degli ingressi ed uscite Gli I O vengono rinfrescati indipendentemente dalla CPU possibile inconsistenza dei dati durante il ciclo di esecuzione del programma E da notare per che ingressi asincroni rinfrescati in modo indipendente dall esecuzione del ciclo di programma possono essere resi sincroni tramite istruzione CPS Copy Synchronous Per contro alcuni PLC che gestiscono gli I O in modo sincrono possono tuttavia forzare i valori delle uscite in modo che esse siano subito attuate e non alla fine del ciclo con istruzioni tipo IMMEDIATE OUT gt Occhio possibile domanda d esame come funziona un PLC Che operazioni cicliche esegue Quali sono i possibili funzionamenti alternativi Ing Elena Mainardi PLC 64 Automazione industriale Secondo quali tecniche si programma un PLC In generale il software di una macchina automatica descrive una regola di comportamento che mette in relazione segnali dei sensori ingresso con i segnali per gli attuatori uscite ES oe temperatura termocoppia gt 40 C gt allora aziona vV motore ventilatore A ingresso uscita Ing Elena Mainardi PLC 65 Automazione industriale Posso organizzare Il mio software in due modi diversi O pianifico le azioni da eseguire uscite in base a condizioni rilevate sul processo o interne al controllore gt struttura condition driven O piani
74. ontenuto dell immagine delle uscite viene scritto sulle uscite fisiche ovvero le uscite vengono attivate registra immagi ATTIVAZIONE SEQUENZIALE DI TUTTE LE USCITE Ing Elena Mainardi PLC 52 Automazione industriale Il tempo di ciclo Eseguire il programma utente dall inizio alla fine vuol dire fare un ciclo ciclo macchina ELABORAZIONE CICLICA il tempo che il controllore impiega per una singola elaborazione del blocco di tutte le istruzioni del programma denominato tempo di ciclo esecuzione del programma utente una volta sola Il tempo di ciclo si pu calcolare sommando il tempo necessario ad ogni istruzione Eventi molto rapidi possono essere persi tra un ciclo e il successivo e tempo di ciclo di esecuzione del PLC costituisce un limite alla rapidit di risposta del PLC ad un allarme Ing Elena Mainardi PLC 53 Automazione industriale Il tempo di ciclo Il ciclo di elaborazione non ha durata costante Ad esempio in ogni programma ci sono delle istruzioni condizionali if then tali per cui se si verifica una certa condizione si esegue un certo codice altrimenti si esegue un altro codice non in tutti i cicli eseguo sempre lo stesso codice quindi lo stesso numero e tipo di istruzioni da un esecuzione all altra del ciclo di programma pu cambiare il tempo di ciclo Il tempo di ciclo costantemente controllato da un apposito sistema definito watchdog che al superamento del tempo mass
75. ram ris funz IL INT dichiarazione della variabile di ritorno ris funz_IL funz IL chiamata alla funzione Ing Elena Mainardi PLC 194 Automazione industriale Linguaggio Instruction list IL possibili istruzioni Operator Meaning LD Make current result equal to the operand ST Save current result at the position of the operand S Then put the Boolean operand exactly at TRUE if the current result is TRUE R Then put the Boolean operand exactly at FALSE if the current result is TRUE AND Bitwise AND OR Bitwise OR XOR Bitwise exclusive OR ADD Addition SUB Subtraction MUL Multiplication DIV Division GT gt GE gt EQ NE lt gt LE lt LT lt JMP Jump to the label CAL Call programor function block or RET Leave POU and return to caller Ing Elena Mainardi PLC Automazione industriale Linguaggio Instruction list IL Un esempio di programma LD MUL ADD ST 2 2 3 Erg la variabile Erg dichiarata come INT varr 7 cio 2 2 3 Ing Elena Mainardi PLC 196 Automazione industriale Linguaggio Instruction list IL Un esempio di programma LD TRUE ANDN BOOL1 JMPC mark LDN BOOL2 ST ERG label LD BOOL2 ST ERG Ing Elena Mainardi load TRUE in the accumulator execute AND with the negated value of the BOOL1 variable if the result was TRUE then jump to the label mark save the negated value of BOOL2
76. razione VAR INPUT END VAR parametri di ingresso il loro valore viene ricevuto dall esterno all atto della chiamata della POU e non pu essere modificato gt passaggio per valore VAR OUTPUT END VAR parametri di uscita il loro valore viene elaborato all interno della POU e fornito all esterno Chi chiama la POU deve copiarlo in una propria variabile VAR IN OUT END VAR parametri di ingresso uscita il loro valore viene ricevuto dall esterno della POU ma questa lo pu modificare gt passaggio per riferimento Ing Elena Mainardi PLC 159 Program Automazione industriale Variabili per il passaggio di parametri Invocazione POU Ritorno al chiamante Ing Elena Mainardi PLC 160 Automazione industriale Variabili locali Sono dichiarate a livello di POU sono accessibili solo nelle istruzioni della POU che le dichiara non a quelle che essa contiene e Sintassi VAR AVERAGE SPEED REAL Inhibit REAL END VAR Le variabili sono statiche il valore permane tra una chiamata e l altra di una POU se definite in PROGRAMS e FUNCTION BLOCKS e Le variabili sono volatili il valore non permane tra una chiamata e l altra di una POU se definite in FUNCTIONS Ing Elena Mainardi PLC 161 Automazione industriale Attributi per le variabili Gli Attributi per le variabili sono opzioni da aggiungere dopo la parola chiave che identifica i
77. re gli ingressi per tutta la durata dell elaborazione del programma utente e quindi non si corre il rischio che alcune parti di programma eseguano elaborazioni su variabili di ingresso non omogenee IPI Input i MIL Es Se all istante di congelamento degli ingressi il sensore A d un informazione numerica pari a 100 e durante il ciclo di esecuzione il valore del sensore cambia il programma per quel ciclo vedr sempre e comunque 100 e tutte le istruzioni che faranno riferimento al sensore A useranno come valore 100 fino alla fine di quel ciclo Altrimenti potrebbe succedere se il valore non fosse congelato che per esempio un istruzione usi 100 e due istruzioni dopo se viene ancora chiamato in causa il sensore A l istruzione usi il valore 101 se il sensore ha cambiato il proprio valore dati non sarebbero omogenei Ing Elena Mainardi PLC 57 Automazione industriale Variazioni sul ciclo di elaborazione del PLC Esecuzione di task in parallelo al ciclo di elaborazione normale con priorit pi elevate e ask eseguite periodicamente Jask eseguite in risposta ad un segnale esterno interruzione Ciclo di esecuzione del PLC con interrupt Task ad interruzione 7 i K at F F ptm 1 task ciclica Ing Elena Mainardi PLC 58 Automazione industriale Come funziona un PLC Il congelamento degli ingressi e delle uscite il modo pi classico co
78. ri e o dispositivi di segnalazione allarmi segnalazioni a pannello operatore Di fatto un PLC una sorta di piccolo PC ma con caratteristiche diverse Ing Elena Mainardi PLC 46 Automazione industriale Differenze PC PLC PLC 10 kByte s 10 kByte operazioni su 1 bit singolo 100 MHz 24 ore su 24 elevata da 0 a 55 C diretta praticamente in linguaggio macchina S Caratteristica PC Spostamento di dati gt 500 000 kByte sec Dimensione dei programmi gt 10 000 kByte Operazioni binarie tipiche spostamento di 32 bit Frequenza Microprocessore gt 1 GHz Funzionamento tipico 8 ore al giorno Immunit a disturbi elettrici scarsa Condizioni ambientali interno climatizzato Programmazione Compilata con linguaggi ad alto livello Criticit temporali No Spostamento dati quando si usa un PC il microprocessore al suo interno sposta centinaia di MegaByte al secondo attraverso 1 vari bus basti pensare ai motori di grafica per 1 giochi o alle applicazioni di video editing mentre nel PLC si spostano pochi Byte se non addirittura bit singoli Criticit temporali un PC normalmente usato per programmi utente web posta elettronica programmi di tipo office grafica giochi etc dove non ci sono vincoli temporali stringenti se una mail la ricevo ora o tra 40 secondi non succede nulla Invece un PLC deve governare impianti complessi dove magari pi sistemi devono cooperare sincronizz
79. ritenuta che come L 4 SJ bobina impulsiva I1 3 U3 3 La cosa non sintatticamente scorretta ma e di per s un errore logico 11 2 U3 3 Supponiamo che in un certo ciclo di programma gli ingressi siano R 11 1 true 11 3 false 11 2 false A questo punto eseguendo il primo rung la bobina U3 3 si setterebbe cio andrebbe a 1 Per al secondo rung essendo l 11 3 false la bobina U3 3 va direttamente a false pur non l essendo attiva la condizione 11 2 che legata al reset della bobina Questo un errore logico c1 U3 3 La variabile associata ad una bobina pu anche essere presa come sS variabile U3 3 U4 7 associata alla condizione di un contatto Nel caso di esempio se c1 true la variabile associata a U3 3 diventa subito vera anche se fisicamente la bobina si attiver solo l alla fine del ciclo quindi anche U4 7 diventer vera essendo la l variabile U3 3 anche la condizione di attivazione o meno di U4 7 Anche U4 7 fisicamente sara attivata solo alla fine del ciclo Ing Elena Mainardi PLC 186 Automazione industriale Esempio ladder controllo di un motore elettrico con modalit simmetrica di sicurezza interblocco VAR Rotaz Sx iBOOL AT MO 1 Rotaz_Dx BOOL AT M0 2 Marcia_Nastro_Sx BOOLAT Q0 1 Marcia Nastro Dx BOOLAT Q0 2 END_VAR Avvio Macchina Rotaz Sx Emergency Stop Macchina Marcia Nastro Dx Marcia Nastro Sx Marcia Nastro Sx Avvio Macchina Rotaz Dx E
80. rrente continua triac per circuiti in corrente alternata fino a 250V ma normalmente si usano rele elettromeccanici con portata variabile tra 1 e 2A Per correnti superiori necessario appoggiarsi a rel o contattori esterni ma per azionare grossi contattori necessario un rel intermedio oul manuale del PLC si deve verificare l esatta portata del contatto del rel che si deve confrontare con la corrente di spunto del contattore o della bobina il carico non mai collegato direttamente all uscita Ing Elena Mainardi PLC 21 Automazione industriale I moduli remoti Quando l impianto o la macchina distribuito in una vasta area pu essere conveniente l installazione di moduli remoti A seconda del costruttore esistono vari tipi di moduli analogici digitali ingressi uscite o moduli misti Normalmente questi moduli richiedono un modulo master o scanner che deve essere installato in uno slot libero del PLC Il modulo scanner serve per dialogare con i moduli remoti e solitamente ne pu gestire fino ad alcune decine Con tali moduli all atto dell installazione si risparmia spazio nel quadro del PLC la posa di un grande numero di cavi Il cablaggio di numerosi fili con relativa complessit di collegamento prova e collaudo maggior facilit nell individuare i guasti I O REMOTI Quadro principale O LLI o Q Ing Elena Mainardi PLC 22 Automazione industriale
81. secuzione veramente Real Time Preemptive scheduling consente l interruzione di una task da una pi prioritaria Consente di eseguire il controllo effettivamente in modalit Real Time Ing Elena Mainardi PLC 148 Automazione industriale Multitasking esempio J t of t 30 t 40 t 50 t 60 t 70 t 80 t 90 IO scheduler TC 1 eycle time 10 me TC 2 cycle time 50 ms TC 3 cycle time 100 ms ce B EE SE HE cycle time 10 ms L RIO IE NN Ve msec Tasks 20 msec Tasks Idle time da 22 msec Tacks Lo msec laski 149 Automazione industriale Un esempio completo CONFIGURATION CELL 1 Nome della configurazione VAR GLOBAL Variabili definite a livello globale della configurazione visibili da tutte le funzioni e blocchi funzionali definiti nelle risorse i e CPUs appartenenti alla configurazione w UINT END VAR Definizione di una Resource i e CPU x RESOURCE STATION 1 ON PROCESSOR TYPE 1 VAR GLOBAL Ck Variabili definite a livello CPU zi BYTE END VAR TASK SLOW 1 INTERVAL t 20ms PRIORITY TASK FAST 1 INTERVAL t 10ms PRIORITY PROGRAM P1 WITH SLOW 1 F x1 IX1 1 PROGRAM P2 G OUT1 gt v FB1 WITH SLOW 1 FB2 WITH FAST 1 END RESOURCE Ing Elena Mainardi PLC 150 Automazione industriale RESOURCE STATION 2 ON PROCESSOR TYPE 2 CPU x VAR GLOBAL Z2 BOOL AT QWS INT END_VAR TASK PER_2 I
82. sente di avere Decomposizione della complessit della macchina In ogni stato logico di funzionamento solo un sottoinsieme di sensori ed attuatori sono di interesse per cui possiamo semplificare notevolmente la logica di comando legandola allo stato in elaborazione al momento Semplicit nella analisi funzionale del processo La scomposizione in stati di funzionamento facilita l operazione di analizzare le fasi operative del processo e quindi agevola la stesura delle specifiche del software Facilita l operazione di verifica del software Risulta infatti agevole eseguire la verifica del software in quanto sufficiente seguire i passi del programma e parallelamente gli stati di funzionamento della macchina Risulta agevole valutare le possibili eccezioni di funzionamento del processo Concentrandosi su una condizione operativa della macchina pi facile analizzare i possibili comportamenti dell automatismo nel caso di condizioni anomale di funzionamento o addirittura nel caso di possibili guasti Ing Elena Mainardi PLC 84 Automazione industriale Vantaggi dell approccio condition driven Migliore gestione di sistemi ad eventi non sequenziali Nel caso di processi non sequenziali l approccio secondo la gestione diretta di eventi pi semplice L esempio pi importante consiste nella gestione degli allarmi sul processo che hanno una caratteristica prettamente non sequenziale ma combinatoria Gestisce intrinsecamen
83. so dati da sensori e o comandi da operatori umani elaborando dati e programmi al suo interno scambiando dati attraverso reti di comunicazione producendo uscite che vanno a comandare attuatori e o dispositivi di segnalazione allarmi segnalazioni a pannello operatore Dove viene usato un PLC Ing Elena Mainardi PLC 12 Automazione industriale II PLC nasce come elemento sostitutivo della logica cablata e dei quadri di controllo a rel In che settori industriali viene impiegato il PLC MACCHINE UTENSILI MACCHINE PER LO STAMPAGGIO MACCHINE PER IMBALLAGGIO MACCHINE PER IL CONFEZIONAMENTO ROBOT MONTAGGIO lt REGOLAZIONE PROCESSI CONTINUI MACCHINE TESSILI eSISTEMI DI MOVIMENTAZIONE TRASPORTO Ing Elena Mainardi PLC 13 Automazione industriale Attualmente i PLC vengono spesso usati anche per Impianti di illuminazione di media alta complessit impianti di supermercati stazioni cinema Impianti domotici di automazione della casa Dove si deve comandare un numero elevato di attuatori anche solo dei semplici rel per accendere la luce con L5 ossibilit di avere comandi differenziati e complessi accendi solo le luci della fila di destra solo le luci di sinistra accendi le luci quando la luminosit esterna cala accendi le luci se rilevi la presenza di qualcuno nella stanza e di poter agevolmente variare il funzionamento del sistema basta riprogrammare i
84. ssere richiamate pi e pi volte il cui valore delle variabili interne solo temporaneo gt non hanno memoria Le variabili interne alla function ogni volta che la sua esecuzione terminata vengono resettate Ne consegue che ogni volta che si richiama una function passandole gli stessi parametri di ingresso essa produrr sempre la stessa uscita La function definita anche come un POU che quando viene eseguita restituisce un unico elemento che pu essere multidimensionale es vettori strutture L invocazione della funzione pu essere utilizzata come operando in un espressione in linguaggio testuale Ing Elena Mainardi PLC 119 Automazione industriale Ogni volta che si richiama una function passandole gli stessi parametri di ingresso essa produrr sempre la stessa uscita Es Function Somma Programma VAR INPUT D END VAR S Somma Somma X y di End Function e oe passo m 3 e n 5 ottengo sempre 8 anche se chiamo la funzione 100 volte Ing Elena Mainardi PLC 120 Automazione industriale POU functions Esempio RES2 MUL SIN X COS Y In questa riga di codice sono state chiamate le funzioni MUL che esegue una moltiplicazione SIN seno e COS coseno SIN e COS sono usate come operandi della funzione MUL Entrambe SIN e COS restituiscono un unico valore Questi due valori vengono moltiplicati dalla funzione MUL che a sua volta restituisce un u
85. stente e connesso ad una rete Ethernet con fibra ottica o cavo twistato Moduli LonWorks Questi moduli rendono possibile la comunicazione tra controller e dispositivi su una rete basata sulla tecnologia Echelons LonWorks Moduli Profibus DP Questi moduli rendono possibile la comunicazione tra controller e dispositivi su una rete basata su Profibus DP Moduli ControlNet Questi moduli rendono possibile la comunicazione tra controller e dispositivi su una rete basata su ControlNet Ing Elena Mainardi PLC 37 Automazione industriale 7 Moduli speciali e Moduli di conteggio veloce e Moduli di gestione interrupt veloci Modulo controllo assi e Moduli PID e Schede espansione memoria e Moduli di backup e Web Server TCP IP Porte seriali Periferiche Permettono il colloquio tra l operatore ed il PLC e Console di programmazione o PC e Pannello operatore Sistema di supervisione o SCADA e Interfaccia stampante e Programmatore di EEPROM gt Occhio possibile domanda d esame cos un PLC Di che moduli si pu comporre Ing Elena Mainardi PLC 38 Automazione industriale UNITA CENTRALE UNITA I O dove per campo s intende lo spazio fisico in cui stanno I sensori e gli attuatori o l impianto che si deve controllare infatti si parla spesso di reti di sensori di campo o di bus di campo detti fieldbus etc Ing Elena Mainardi PLC PROGRAMMA 39 Automazione indu
86. striale Architettura di un sistema a PLC Programming Programming device device cable Transfering a program Machine to be controlled Output module m Ing Elena Mainardi PLC 40 Automazione industriale L armadio con il quadro elettrico Ing Elena Mainardi PLC ione industriale Automaz 41 YTHEEER Vie E PLC Ing Elena Mainardi ione industriale Automaz 42 PLC Ing Elena Mainardi 43 Ing Elena Mainardi Automazione industriale PLC 44 Automazione industriale Chi produce PLC Siemens Cutler Hammer Omron Modcom Rockwell Mitsubishi 1 Beckhoff ABB B amp R 1 Eckelmann Allen Bradley Cincinnati Milicron Telemecanique GE Fanuc Hitachi Honeywell CGE Mitsubishi Moeller Modicon Lovato Reliance National Square D Sprecher Schuch Texas Instruments Ing Elena Mainardi Toyoda eSunX Vipa FF Automation Horner 2 Christ Elektronik ndotech Serra Amot Festo Keba Jetter PLC 45 Automazione industriale Un PLC un oggetto harware componibile che se opportunamente programmato in grado di gestire sistemi complessi ricevendo in ingresso dati da sensori e o comandi da operatori umani elaborando dati e programmi al suo interno scambiando dati attraverso reti di comunicazione producendo uscite che vanno a comandare attuato
87. tassi testuale e due con sintassi grafica Sintassi testuale e Instruction List IL e Structured Test ST Sintassi grafica e Ladder Diagram LD e Function Block Diagram FBD Infine esiste anche SFC sequential function chart che di fatto il quinto linguaggio Ing Elena Mainardi PLC 164 Automazione industriale Linguaggio Ladder Diagram Linguaggio grafico definito secondo lo stile del metodo di programmazione di PLC maggiormente diffuso nel mondo la logica ladder o linguaggio a Contatti e Formalismo di successo per motivi storici significato istruzione ladder funzionamento quadri elettromeccanici a bobine e rel Rappresentazione grafica di flusso virtuale di corrente tra due barre di potenziale Passa corrente valore logico TRUE Non passa corrente gt valore logico FALSE Per motivi storici in quanto i PLC sono l evoluzione delle macchine a rel e bobine Il ladder sfrutta proprio un simbolismo grafico basato su come una volta venivano progettate queste macchine E stato definito in modo tale che i vecchi progettisti di macchine automatiche riuscissero a programmare i PLC basandosi su come avrebbero impostato lo schema elettrico della macchina stessa Ing Elena Mainardi PLC 165 Automazione industriale Linguaggio Ladder Diagram contatti Simbolo Descrizione Contatto normalmente aperio La corrente scorre solamente se il valore della variabile booleana indi
88. te eventuali azioni manuali Nel caso in cui l operatore possa essere chiamato ad eseguire operazioni manuali inceppamento di materiale nel processo etc pu accadere che lo stato della macchina non sia congruente con quello della macchina a stati del controllore a causa proprio di manipolazioni del processo avvenute senza informare il sistema di controllo In questo caso l approccio ad eventi pi robusto dell approccio a stati gt Occhio possibile domanda d esame differenze vantaggi e svantaggi delle programmzaioni state driven e condition driven Ing Elena Mainardi PLC 85 Automazione industriale Normative per i PLC Cos una norma Una norma un insieme di specifiche che servono a standardizzare un certo ambito Es Norma edile le case per civile abitazione devono avere muri spessi non meno di tot centimetri devono avere tot luminosit per tot metri quadri di spazio devono avere un certo isolamento termico per il risparmio energetico Perch una norma gt Anche nell ambito dell automazione industriale si sentita l esigenza di normare per avere una certa standardizzazione e quindi una certa portabilit del software cio avere la possibilit di far girare lo stesso programma su PLC di ditte diverse Ing Elena Mainardi PLC 86 Automazione industriale Chi emette le norme Le normative nel mondo sono emesse da due enti normatori l ISO che emette norm
89. tta di un comportamento che va tenuto in debita considerazione dato che esso potrebbe dare luogo a deduzioni errate sul funzionamento del PLC e quindi dell impianto PLC 61 Automazione industriale Altre modalit di funzionamento Ciclo sincrono in ingresso e asincrono in uscita In questo tipo di ciclo 1l PLC non elabora l immagine delle uscite le quali vengono inviate sul campo direttamente quando si incontrano le relative istruzioni di comando nel programma utente S1 tratta anche in questo caso di un ciclo con bassi tempi di esecuzione tuttavia necessario prestare attenzione alla programmazione del PLC in quanto si potrebbero verificare inconvenienti quando la stessa uscita viene comandata pi volte nello stesso ciclo macchina Infatti qualora 1 valori assegnati risultassero diversi e l intervallo di tempo tra un comando e il successivo fosse troppo breve potrebbero verificarsi delle oscillazioni sui dispositivi comandati Ciclo asincrono in ingresso e asincrono in uscita FE il ciclo con 1 tempi di reazione pi bassi in assoluto esso incorpora tutti 1 pregi e 1 difetti dei cicli asincroni Un esempio del funzionamento di questo ciclo dato dalla sequenza leggi Ingresso sul campo usa Il valore In una data funzione elabora valore di un uscita invia uscita sul campo Ing Elena Mainardi PLC 62 Automazione industriale Altre modalit di funzionamento e Modalit di lettura indipendenti dall immagin
90. una gran quantit di strumenti elettromeccanici i rele sensibili per loro stessa natura all usura ed all invecchiamento ingombro elevato per quanto in origine i rele fossero considerati dispositivi di ridotte dimensioni la necessit di controlli sempre pi complessi nel campo dell automazione industriale ha portato gli impianti di maggiore dimensione a misurarsi con la necessit di realizzare circuiti fisicamente molto grandi Consumo elevato l alimentazione della bobina di eccitazione di un rel comporta consumi non indifferenti Ridotta affidabilit la logica presenta un alto numero di cablaggi interni e di rele ausiliari che ne diminuiscono di fatto l affidabilit ell numero di contatti messi a disposizione da ciascun rel limitato a 2 o 3 per cui in molti casi risulta necessario installare pi rele in parallelo Nel caso siano necessarie modifiche o ampliamenti si presentano lunghi tempi di fermo impianto sia per studiare che per realizzare le modifiche Ing Elena Mainardi PLC 8 Automazione industriale Tutti questi motivi spinsero la General Motors che negli anni 60 era sicuramente uno dei pi grossi utilizzatori dautomazione industriale al mondo possedeva impianti di grandi dimensioni sparsi un po per tutti gli Stati Uniti d America ad organizzare una gara per la progettazione di un dispositivo che potesse sostituire i quadri a rel nel controllo degli impianti Ing Elen

Download Pdf Manuals

image

Related Search

Related Contents

L`ALTA DISINFEZIONE per la prevenzione e la - Area-c54  Hama 00095237 Slimline User's Manual  (スペースドライ)マニュアル  FT - 25872001 - Thé Citron 25 SF LIPTON Octobre 2012 RL  Dimplex XL6N User's Manual  Samsung GT-C5010E Bruksanvisning  Instrucciones de montaje, manejo y mantenimiento Motores    

Copyright © All rights reserved.
Failed to retrieve file