Ingegneria e Tecnologie dei sistemi di Controllo Introduzione ad ISaGRAF Ing.. Andrea Pagani D.E.I.S. Università di Bologna L.A.R. Laboratorio di Automazione e Robotica Tel: 051 2093069 email: apagani@deis.unibo.it Ing.. Andrea Pagani D.E.I.S. Università di Bologna 1
Definizione e Funzionamento di PLC Programmable Logic Controller o PLC Controllore con architettura General-Purpose dedicato al controllo logico sequenziale; Software Task: calcolare il valore corretto in uscita fornito da una immagine di valori in ingresso Il PLC: Utilizza moduli di input connessi a sensori per leggere lo stato del sistema controllato; Carica il software del processo analizzato e decide l azione da prendere; Utilizza moduli di output per pilotare drivers ed attuatori; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 2
Interfaccia di I/O Sensors SYSTEM Actuators Digital inputs Analog inputs Digital outputs Analog outputs RS 232 commands SUPERVISOR controls Possono anche essere utilizzate interfacce complicate come moduli ASCII/BASIC, moduli diagnostici o interfacce RS232; I segnali scambiati non sono diretti esclusivamente al controllo del plant, parte di essi sono necessari per implementare la MMI (Machine Man Interface) Ing.. Andrea Pagani D.E.I.S. Università di Bologna 3
Simulazioni di controlli basati su PLC ISaGRAF è un ambiente di programmazione, in linguaggio SFC, nel quale svolgere progetti per PLC; Con il termine progetto si intende una intera applicazione che si desidera far svolgere dal PLC; Un progetto è composto da più programmi, scritti in diversi linguaggi, che risulteranno più semplici da scrivere rispetto all intero progetto. Ing.. Andrea Pagani D.E.I.S. Università di Bologna 4
Linguaggi in ISaGRAF SFC (Sequential Functional Chart) Stati (ST), Transizioni (ST o LD); ST (Structured Text) Linguaggio simile al Pascal o C LD (Ladder) Permette di inserire solo logica a relè e quindi è possibile lavorare con sole variabili booleane; IL (Instruction List) Linguaggio di basso livello simile all Assembler FBD/LD (Functional Block Diagram) Diagramma realizzato con blocchi funzionali e schemi a contatto di tipo ladder: è possibile lavorare sia con variabili digitali che analogiche; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 5
Blocchi costitutivi programma PLC in ISaGRAF Lettura I/O Scrittura I/O Begin Eseguita all inizio di ogni ciclo; Preelaborazione dei segnali di ingresso; Qualsiasi linguaggio tranne SFC; Sequential Programma principale con esecuzione sequenziale (time dependent); Solo in SFC; End Eseguita alla fine di ogni ciclo; Manipolazione variabili di uscita; Quasiasi linguaggio tranne SFC; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 6
Funzioni Function Funzioni che richiedono parametri di ingresso e forniscono parametri di uscita; Qualsiasi linguaggio tranne SFC; Possono essere utilizzate per transizioni SFC (parametro di uscita booleano); Funtion Block Analoghe alle precedenti ma non vengono persi i dati tra una invocazione e la successiva; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 7
Strutture Gerarchiche E possibile creare una gerarchia attivando un processo figlio; Operazioni possibili: Attivazione; Uccisione; Sospensione; Riattivazione; Monitoring; Si utilizza struttura padre-figlio quando: Si vuole realizzare supervisione; Si hanno due processi con dinamica molto diversa; Gestione allarmi ed emergenze nel sistema; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 8
Variabili del programma Visibilità Globali: tutti i programmi del progetto corrente; Locali: Solo all interno del particolare programma; Comuni: Tutti i programmi di tutti i progetti; Collegamento I/O Ingresso: Prelevata dall esterno (vado a leggere da I/O); Uscita: Fornita al sistema (scrivo in I/O); Interne: Usata solo all interno del programma (non ha relazioni I/O); Tipo Booleano: Variabili di tipo logico, TRUE o FALSE; Intere/Reali: Variabili di tipo intero o reale (per segnali analogici); Messaggi: Variabili di stringhe contenente caratteri fra apici; Timers: Variabili di temporizzazione; Possibilità di effettuare Cross-Reference Ing.. Andrea Pagani D.E.I.S. Università di Bologna 9
SFC: Steps and Transitions Per monitorare l attività di uno stato si possono utilizzare i seguenti campi: GSnnn.x : valore booleano che rappresenta l attività di uno step; ha valore 1 quando lo stato è attivo; GSnnn.t.t: tempo passato dall ultima attivazione dello step; nnn è il numero associato allo step dell SFC. Ing.. Andrea Pagani D.E.I.S. Università di Bologna 10
BOOLEAN ACTIONS GS1.X ACTIONS WITHIN STEPS EV1(N) EV1 /EV1 EV1(S) EV1(R) Ing.. Andrea Pagani D.E.I.S. Università di Bologna 11
ACTIONS WITHIN STEPS PULSE ACTIONS ACTION(P) END_ACTION ACTION(N) END_ACTION ACTION(P) viene attivata la prima volta che entro nello stato ACTION(N) viene eseguita tutte le volte finchè non esco dallo step Ing.. Andrea Pagani D.E.I.S. Università di Bologna 12
ACTIONS WITHIN STEPS SFC ACTIONS GSTART Eseguito all interno del padre attiva il figlio; GKILL Il processo figlio può essere ucciso solo dal padre; GFREEZE Blocca l esecuzione del figlio; GRST Riattiva il processo figlio; GSTATUS Acquisisce lo stato del figlio (attivo, sospeso, inatt.) Vanno inserite all interno di azioni impulsive: ACTION(P) ACTION(P) GSTART(SON) SON(S) GKILL(SON) SON(R) END_ACTION END_ACTION Ing.. Andrea Pagani D.E.I.S. Università di Bologna 13
TRANSITIONS ST Attivazione/disattiv. di variabili booleane e/o di condizioni verificate con operatore relazionale; Utilizzo di funzioni scritte con uno qualsiasi dei linguaggi a disposizione; LD Diagramma a Relè con condizione booleane; Ing.. Andrea Pagani D.E.I.S. Università di Bologna 14
Simulazione di Progetto CONTROLLO DI UN ASCENSORE SINGOLO Ing.. Andrea Pagani D.E.I.S. Università di Bologna 15
Fasi di Progetto DEFINIZIONE DELLE VARIABILI COLLEGAMENTO I/O ELABORAZIONE PROBLEMA SIMULAZIONE DEL PROCESSO Ing.. Andrea Pagani D.E.I.S. Università di Bologna 16
Definizione delle variabili INPUT UTENTE NUOVO [A] (0..7) PIANO0,PIANO1,, PIANO7 [D] x 7 EMERGENZA [D] PORTE PRES [D] CHIUSA [D] APERTA [D] ASCENSORE FINE_SU [D] FINE_GIU [D] SENS [D] (OR fra 8 sensori) RAMPA [D] (OR fra 14 sensori) Ing.. Andrea Pagani D.E.I.S. Università di Bologna 17
Definizione delle variabili OUTPUT UTENTE CORR [A] (0..7) PORTE APRI [D] CHIUDI [D] ASCENSORE MOTORE [D] SU [D] VEL [D] Ing.. Andrea Pagani D.E.I.S. Università di Bologna 18
Definizione delle variabili UTENTE DEST [A] (0..7) PORTE PORTA [A] (0..50) ASCENSORE ALTEZZA [A] (-10..150) SPOSTAM [A] (0..2) INTERNE Per gestire graficamente la simulazione tutte le variabili di input devono essere tutte ridefinite di tipo interno. L aggiornamento delle variabili interne è gestito via SW. Ing.. Andrea Pagani D.E.I.S. Università di Bologna 19
Simulazione Grafica GESTIONE AUTOMATICA DI SENSORI E ATTUATORI Possono essere generati in maniera automatica gestendo via software delle variabili che vengono incrementate e/o decrementate in base alle condizioni verificate; L aggiornamento delle variabili viene effettuato all interno di programmi nella parte BEGIN o END; Tutte le variabili che si vuole gestire in maniera automatica devono essere definite interne. Variabili di comando devono essere definite come command variable Ing.. Andrea Pagani D.E.I.S. Università di Bologna 20
Interfaccia Grafica Sfondo deve essere in formato bitmap (realizzabile prima con power point) e deve trovarsi all interno della directory di lavoro; Variabili Booleane ICONE E possibile usare immagini memorizzate in formato.ico Ad ogni variabili devono corrispondere due icone, una per lo stato ON e una per lo stato OFF Per realizzare icone può essere utilizzato il programma ICONTOY2 per la conversione da.bmp a.ico Ing.. Andrea Pagani D.E.I.S. Università di Bologna 21
Interfaccia Grafica Variabili Analogiche BARGRAPH Selezionare la dimensione dell area grafica Selezionare il range in cui varia la variabile Definire la direzione di crescita del riempimento grafico. DISPLAY Visualizza la variabile analogica in formato numerico Ing.. Andrea Pagani D.E.I.S. Università di Bologna 22
Ingegneria e Tecnologie dei sistemi di Controllo Introduzione ad ISaGRAF FINE Ing.. Andrea Pagani email: apagani@deis.unibo.it Ing.. Andrea Pagani D.E.I.S. Università di Bologna 23