Ingengneria e tecnologia dei sistemi di controllo L-A · Per Project si intende un’intera...

Post on 15-Feb-2019

217 views 0 download

transcript

Ingengneria e tecnologia dei sistemi dicontrollo L-A

INTRODUZIONE A ISAGRAF

Ing. Andrea Tilli

Ing. Matteo Sartini

DEIS - Università di Bologna

Tel. 051-2093872

E-mail: {atilli, msartini}@deis.unibo.it

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Sommario

Introduzione all’ambiente ISaGRAF

Descrizione dell’ambiente ISaGRAF

Funzionalità e concetti di base

Come definire e simulare un progetto in ISaGRAF

Esercizio

Presentazione progetto d’esame

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Introduzione

Modello di esecuzione del Software

Architettura general-purpose dedicata al controllo logicosequenziale

Implementazione di macchine degli stati per il controllodel funzionamento di un impianto

Lettura INPUT

Software Task

Attuazione OUTPUT

•Mappatura in memoria delleletture (immagine di input)

•Esecuzione dei task sulleimmagini in memoria

•Attuazione delle uscite sugliattuatori (immagine di output)

•Esecuzione ciclica

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

L’ambiente ISaGRAF

ISaGRAF 3.2Ambiente di programmazione mediante il quale si

sviluppano progetti per il controllo logico sequenziale(es. per PLC)

Permette di scrivere il programma secondo lo standardIEC 61131-3

6 moduli:Projects progetto e simulazione del controllo logico

Libraries librerie di I/O, funzioni e blocchi funzionaliArchive archivio dei progetti e librerie

Book help in lineaRead me leggimiReport bug report

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Progetto in ISaGRAF

Per Project si intende un’intera applicazione da eseguiresul PLC

E’ composto da una serie di programmi, scrittiutilizzando i diversi linguaggi dello Standard IEC1131-3

Es. sequenza di controllo in SFC, azioni di controllo in ST,funzioni in ST o IL/LD.

Strutturazione del programma in sottoprogrammiMaggiore semplicità di scrittura dei singoli programmi

Modularità del codice

Possibilità di scelta dei linguaggi opportuni

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Linguaggi in ISaGRAF

Linguaggi in ISaGRAF (Standard IEC 61131-3)SFC (Sequential Flow Chart)

Stati (ST), Transizioni (ST o LD)

ST (Structured Text)Simile al Pascal, linguaggio di alto livello

LD (Ladder Diagram)Logica a relais (per variabili booleane)

IL (Instruction List, o AWL)Simile all’Assembler, linguaggio di basso livello

FBD/LD (Functional Block Diagram)Blocchi funzionali e schemi a contatto, simili a ladder (variabilibooleane e analogiche). Utilizzato per definire funzioni

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Sequential Flow Chart (SFC)

SFC

Formalismo gerarchicamente superiore agli altrilinguaggi

Serve per progettare il controllo sequenzialeProgettazione del ciclo operativo mediante macchina degli stati

Gli altri linguaggi servono per implementare le azioni dicontrollo (definite all’interno degli stati) e per definire le

transizioni tra gli stati

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Sviluppo del progetto

Descrizione del processo da automatizzareDescrizione del funzionamento

Definizione delle specifiche

Progettazione del programma di controlloDefinizione delle variabili in gioco

Variabili di ingresso (sensori)

Variabili di uscita (attuatori)

Variabili interne

Connessione con schede I/O (per le variabili I/O)

Progettazione della struttura e dei singoli moduli del SW

Scrittura del codice

Simulazione (o prova sull’impianto)

Documentazione

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

ISaGRAF – Project ManagementGestione dei progetti

Complicata!Per “caricare” un progetto (da un file .pia) utilizzare la funzione Archive

Definire la directory di lavoro (ATTENZIONE al limite di 8 caratteri per ledirectory (esempio C:\temp)Posizionare il file .pia nella directory di lavoro scelta (C:\temp)Utilizzare Archieve/options/disk drive per selezionare la directory sceltaArchieve/file/projects

Restore di un archivio .pia per “caricarlo” nel workbenchBackup per “salvarlo” dal workbench al file

Attenzione!Una volta caricato, le modifiche al progetto sono definitive: salvataggioautomatico del programma nel workbench!Il file .pia non viene invece toccato: aggiornato solo quando si esegue il backupdal workbench al file tramite la funzione ArchieveIl file .pia è in realtà un file compresso contenente tutta la cartellaC:\ISAWIN\APL\Nome_Progetto

Tutti i file da utilizzare (ad esempio per modificare l’interfaccia grafica)devono essere salvati sotto tale cartella affinchè siano compresi nel file .piadi backup

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

ISaGRAF – Project ManagementUna volta caricato nel workbench ilprogetto può essere modificato tramitel’applicazione Projects

Si esegue da Windows cliccandosull’icona Project

E’ una finestra in cui sono elencati iprogetti caricati nel workbench di

ISaGRAF.E’ possibile:

Creare un nuovo progettoCancellare un vecchio progettoCommentare un progetto (ProjectDescriptor) Modificare progetti esistenti (Edit)

Descrizione

Lista dei progetti

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Creazione di un nuovo progetto

Cliccando sul progetto (“edit”) si attiva la finestra“Programs”

Definizione della struttura del progetto:Si inseriscono tutti i “programmi” del progetto. Per programma siintende una funzionalità utile per l’esecuzione del progetto, cioè:

Controllo sequenziale in SFC

Operazioni di pre-elaborazione e post-elaborazione delle variabili diI/O

Funzioni definite dall’utente, ecc.

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Esercitazione

Impianto di imbottigliamentoL’impianto da controllare consiste in una cisterna principale in cui devono essere inseriti due liquidi differenti.Il primo liquido viene immesso nella cisterna tramite l’elettrovalvola EV1 mentre il secondo liquido viene immesso tramitel’elettrovalvola EV2.Il rapporto in volume tra liquido 1 e liquido 2 deve essere di 4:1.Il livello del liquido all’interno della cisterna e’ acquisito tramite un sensore analogico.Una volta raggiunto il livello di 200 all'interno del serbatoio si deve permettere ai due liquidi di miscelarsi e di realizzare le opportunereazioni chimiche lasciandoli dentro la cisterna per 10 secondi.A questo punto, terminata la formazione del composto liquido finale, si procede alla sua immissione nelle bottiglie.Le bottiglie sono presenti su un nastro trasportatore attivato dal segnale MOT_NAST.Quando il sensore (POS_BOOK) che segnala che la bottiglia si trova sotto l’elettrovalvola di espulsione del composto e’ attivo, si puòprocedere al riempimento della bottiglia (con l’attivazione dell’elettrovalvola EV3).Il riempimento della bottiglia termina quando il suo livello raggiunge il valore di 100. A questo punto il nastro trasportatore può essereriattivato per il riempimento di una nuova bottiglia.Il processo viene avviato dal segnale Start_Proc attivo e può essere interrotto solo quando il serbatoio e’ completamente vuoto.I sensori del sistema sono:

Attivazione del processo Start_Proc digitaleLivello cisterna Liv_serb analogicoLivello bottiglia Liv_bot analogicoPosizione bottiglia POS_BOOK digitaleGli attuatori del sistema sono:

Elettrovalvola 1: elettrovalvola immissione liquido 1EV1 digitaleElettrovalvola 2: elettrovalvola immissione liquido 2EV2 digitaleElettrovalvola 3: elettrovalvola espulsione miscela EV3 digitaleMotore del nastro trasportatore MOT_NAST digitale

Si introduca la possibilità di contare il numero di bottiglie che sono state riempite durante un determinato intervallo temporale.La variabile analogica che conta il numero di bottiglie e’ Num_bott.Si aggiunga al progetto il controllo di temperatura del serbatoio. Esso viene realizzato con un processo figlio (Con_tem). Ilprocesso figlio viene invocato come se fosse una variabile booleana. La variabile analogica di ingresso che definisce latemperatura e’ Temperat, mentre la variabile digitale di uscita che comanda l’attivazione della resistenza di potenza e’ Res_on.Si realizzi il controllo di temperatura invocando il processo figlio tramite le primitive GSTART e GKILL.

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Descrizione del funzionamento del processo

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Funzionamento del processo

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

Funzionamento nominaleInput:

Attivazione del processo Start_Proc digitale

Livello cisterna Liv_serb analogico

Livello bottiglia Liv_bot analogico

Posizione bottiglia POS_BOOK digitale

Output:

Elettrovalvola 1: EV1 digitale

Elettrovalvola 2: EV2 digitale

Elettrovalvola 3: EV3 digitale

Motore del nastro trasportatore MOT_NAST digitale

Gestione temperaturaInput:

Temperatura Temperat analogico

Output:

Resistenza per riscaldamento Res_on digitale

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

Inserimento nel progetto delle variabili e delle lorocaratteristiche

Inserimento delle variabiliPulsante Dictionary per inserire e gestire le variabili

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

In “Dictionary” si definiscono le variabiliPer ogni variabile viene definito:

il nome

la visibilità (global)

il tipo (digitale/analogica)

gli attributi (I/O, internal, ecc.)

Si inseriscono commenti con (*…*)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

Dalla finestra “Dictionary”, nella barra si seleziona lavisibilità e il tipo desiderati

Nella finestra vengono visualizzate le variabili con quellavisibilità e con quel tipoSi possono modificare (Edit) e inserire (New) nuove variabili.Nella finestra di inserimento, si specifica l’attributo:

Internal (variabili interna del PLC usata dai programmi utente)Input (letta dall’esterno)Output (scritta su un dispositivo di output)Constant (costante)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

VisibilitàGlobale (visibili in tutti i programmi del progetto)

Locale (visibile solo all’interno di un programma)

Common (visibile in tutti i programmi di tutti i progetti)

TipoBoolean

Ad ogni stato viene associata una variabile booleana gsN.x (con N ilnumero dello stato). E’ vera se lo stato N è attivo.

Analog: (Integer/real)Intere con segno a 32 bit

Reali IEEE 32bit (1 bit di segno, 23 bit per la mantissa, 8 perl’esponente)

Se la variabile reale è collegata a un I/O, viene rappresentato il suovalore intero

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili

Tipo:Timer

Ad ogni stato viene associata una variabile timer gsN.t (con N ilnumero dello stato). Il suo valore può essere usato per definire letransizioni, ecc.

Una variabile timer può essere attivata o arrestata con TSTART eTSTOP nel linguaggio ST

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Costanti

Esistono le costanti booleane TRUE (1) e FALSE (0)

Le costanti intere sono constanti a 32 bit con segno

Le constanti reali vanno specificate con il punto decimale(es. 1.0)

Le costanti temporali seguono il seguente formalismo:Iniziano per t#

L’unità di misura viene specificata dal suffisso h, m, s, ms

Esempio:

t#1h450ms

t#1h3m

Le stringhe si rappresentano fra apici (‘MESSAGE’)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Cross references

Cross References

Lista delle variabili, delle funzioni e dei programmiutilizzati nel progetto

Per ogni oggetto, vengono riportate informazioni (es.programmi in cui una variabile viene invocata)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

Gestione I/OEsistono 2 modi, in fase di simulazione, per interagire con ilprogramma:

I/O connectionInserimento negli slot del PLC di schede di I/O, con led,interruttori, variabili analogiche di I/O

Ambiente graficoAmbiente grafico interattivo che mostra la macchina dasimulare e il suo funzionamento, mediante il quale èpossibile modificare il valore delle variabili di ingresso evisualizzare in forma numerica o grafica quelle di uscita

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

I/O connectionIn fase di simulazione l’interfaccia con il mondo esterno èrappresentata dal pannello di controllo

Modificando a mano gli ingressi del sistema, si simula ilfunzionamento del processo

Possono essere visualizzate in questo modo solo variabili ditipo input e output (non internal)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

I/O connectionDalla finestra “Programs” pulsante I/O connections

Associazione delle variabili ai dispositivi di I/OLe variabili di ingresso e di uscita vanno associate a canali di schedeI/O del PLC, mediante il comando “I/O Connection”

Sono presenti 256 slot del PLC. Ad ogni slot si possono associarediverse schede

Boards: canali dello stesso tipo (es. booleano, analogico, stringa)

Equipments: insieme di boards (es. scheda con ingressi e usciteanalogici o binari)

Per le simulazioni utilizzare le schede specifiche

Dopo aver scelto la scheda, si associano ai canali le variabili diI/O desiderate

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

I/O connectionSi collegano le variabili di ingresso e di uscita ai canali di schede di I/O conil comando “I/O Connection”Variabili digitali di ingresso, analogiche di ingresso e digitali di uscitaEsempio: collegare variabili digitali in ingresso, analogiche in ingresso edigitali in uscita (vedi esempio imbottigliatore)

Si utilizzano 3 schede differenti, collegate ai primi 3 slot del PLC. Nella lista delleschede predefinite, sono presenti schede da utilizzarsi per la simulazionePer ogni scheda, si collegano i canali alle variabili di I/O opportune (4 canali dioutput digitale, 2 di input digitale, 2 di input analogico)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

Ambiente graficoAnziché collegare una variabile di input a un canale di input diuno slot nel pannello, è possibile durante la simulazioneimpostare il suo valore attraverso una interfaccia grafica

La variabile deve essere definita INTERNAL (nel Dictionary)

E’ possibile creare una interfaccia grafica tramite il comando“graphics”

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

Ambiente graficoSi può inserire una immagine (.bmp) di sfondo

Si possono inserire pulsanti/icone (immagini .ico), grafici abarre o display

Attenzione tali elementi devono essere nella cartellaC:\ISAWIN\APL\Nome_Progetto affinchè siano presenti anche nel file.pia di backup

Ad ogni elemento grafico si deve associare una variabilePer variabili di input si deve selezionare l’opzione “Command Variable”nella finestra dell’oggetto grafico. In questo modo ISaGRAF considera lavariabile modificabile dall’utente durante la simulazione.

Durante la simulazione, si può impostare il valore dellavariabile cliccando sull’icona, il grafico a barre o il displaycorrispondente

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Interazione con il programma (I/O)

Modalitá GraficaNei progettini le connessioni i/o sono già attive e funzionanti

Viene fornita una interfaccia grafica già funzionante perinteragire con il processo

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Inserimento di un programma

Inserimento di un programma nel progettoNella finestra Programs, si clicca su “Create new program”

Si definisce:il nome del programma

il linguaggio utilizzato

la tipologia di programma (controllo logico, funzione, ecc)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi

Tipologie di programmi

Beginning of cycleViene eseguito all’inizio di ogni ciclo di esecuzione

Serve per la preelaborazione dei segnali di ingresso (es. filtraggio, diagnosi)

Es. Utilizzato per simulare il funzionamento del sistemaNO in SFC; solitamente ST.

SequentialSequenziale, possibilita’di invocare figli (child) e funzioni (Functions)

SFC

End of cycleViene eseguito alla fine di ogni ciclo di esecuzione

Manipolazione delle variabili di output

Es. Utilizzato per simulare il funzionamento del sistemaNO in SFC; solitamente ST.

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi

FunctionFunzioni con parametri di ingresso, che restituiscono valori inuscita

Sono funzioni algebriche

NO in SFC; utilizzare ST

Function BlockAnaloghe alle precedenti, ma non vengono persi i valori dellevariabili interne tra una chiamata e l’altra

Servono per implementare funzioni dinamiche

Child of…Serve per implementare una gerarchia fra programmi

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi

I vari programmi, scritti nei diversi linguaggi, vengono inseritimediante editor opportuni

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Programma principale

Si definisce un ciclo sequenziale MAIN, in cui si scrive ilprogramma in SFC mediante l’editor grafico

Esistono vari livelli di visualizzazione nell’editor:Visualizzazione compatta in SFC (Level 1 – blocco dello step +commento)

Visualizzazione dettagliata in SFC e delle azioni da eseguire all’internodegli stati (in IL o ST) (Level 2)

Si definiscono gli stati e le transizioni. Per ogni stato sidefiniscono le azioni associate.

Per ogni transizione si definiscono le condizioni associate

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Step: (stato)è identificato da un numero (e un commento)

Numerazione automatica degli stati: utlizzareanche il comando edit/renumber per problemidi omonimia

Step iniziale

2 variabili associate a STEP (Nnn è ilnumero associato allo step):

GSnnn.x: valore booleano che rappresental’attività di uno step.

Ha valore 1 quando lo stato è attivo

GSnnn.t: tempo trascorso dall’ultimaattivazione dello step

Transizione:E’ identificata da un numero (e un commento)E’ possibile definire transizioni mediante saltia step (frecce)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Divergenzee

Convergenze

Parallelismoe

Sincronizzazione

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Azioni associate a uno stato

Modificano il valore di una variabile booleanaboolean_var(N); (oppure semplicemente boolean_var;)

/boolean_var; (negazione di boolean_var)

boolean_var(S);

boolean_var(R);

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Azioni “pulse” (P) e “non-stored” (N)Pulsed action (Action P): Lista di istruzioni ST o IL eseguite una volta

all’attivazione dello step

Non stored actions (normali Action N): eseguite a ogni ciclo in cui lo step èattivo

Altri tipi di azioni possibilirelative alla gestione di SFC figli (v. avanti)

Chiamate di funzioni con variabili di ingresso e uscita (v. help)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Tipologie di programmi - SFC

Transizioni

La condizione associata a una transizione viene definitain ST o LD/IL (AWL)

Nell’editor si può scegliere il linguaggio da utilizzare

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Code Generator – compilazione e simulazione

Compilazione e simulazioneNel menu “Make”:

“Make application”: compila e segnala eventuali errori

Simulazione e debugging:Make -> Make application

Debug -> Simulate

Ricordarsi di compilare tramite “make”

Visualizzazione degli stati attivinel grafo SFC

Uso del pannello di controllo

simulazione in tempo reale (Real time mode) o step by step (con i comandiCycle to cycle mode e Execute one cycle)

È possibile fissare i breakpoint e fissare il tempo di cycle (durata in ms di unciclo)

Visualizzazione delle variabili

Mediante “Spy List” (lista delle variabili e del loro valore istantaneo)

Mediante “Trace Variables” (andamento temporale delle variabili)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Pannello di controllo e grafico

Pannello di controllo:Modifica e visualizzazione delle variabilibinarie e analogiche mediante interruttori,led, display

E’ possibile modificare e visualizzare levariabili di I/O precedentemente associateai canali delle schede negli slot

Interfaccia Grafica:La finestra del grafico si apre dall’iconacorrispondente in “debug program”

Interfaccia grafica

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Linguaggio ST

Structured TextLista di statement (istruzioni), separata da ;

(* commento *)

Operatori booleani per definire le condizioni (NOT, AND, OR,ecc.)

Esempi di Statement in STAssegnamentovariabile1 := variabile2 or variabile3;variabile4 := false;

Chiamata a funzionevariabile:=nome_fun(param1, param2, …);

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Linguaggio STSelezione (IF, CASE)IF bool

THEN int1:=int2+int3;ELSE int1:=0;

END_IF;Iterazione (WHILE REPEAT, FOR) (ATTENZIONE!!!!)FOR index := 1 TO length BY 1 DO

<statement>;END_FOR;Controllo (RETURN, EXIT)Altre:

TSTART(timer_nn), TSTOP(timer_nn) per la gestione dei timerGSTART, etc. per i programmi figli: es. GSTART(child)Variabili GSnnn.t, GSnnn.xRedge e Fedge rilevatori di fronti di discesa e salita

V. Help di ISaGRAF

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Esempio

Esempio – uso di ACTION(P)

Si vuole contare il numero di bottiglie durante un certointervallo di tempo

Si definisce la variabile intera num_bott, visualizzata nelpannello di controllo

Si aggiorna la variabile contatore utilizzando una pulse actionin Riempimento bottiglia

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Esempio

Esempio: programma figlio

Controllo della temperatura del serbatoio

Definizione di processi figlio:Dispositivi di supervisione

Processi con dinamica molto differente

Allarmi nel sistema (gestiti a un livello gerarchico superiore)

2 metodologie equivalenti:Con i comandi <child> (S) e <child> (R)

Preferibilmente con i comandi GSTART(<child>) eGKILL(<child>) definiti come ACTION(P)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Esempio

L’uso di (S) e (R) è equivalente a usare GSTART e GKILLall’interno di una pulsed action ST .

Il flusso di esecuzione del programma figlio è influenzato dalpadre con i comandi:

GSTART mette in esecuzione il figlio specificatoGKILL termina l’esecuzione del figlioGFREEZE sospende l’esecuzione del figlio (si mantiene in memorialo stato del programma)GRST riattiva l’esecuzione dopo GFREEZEGSTATUS monitoring dello stato (attivo, sospeso, inattivo)

Vanno eseguite all’interno di azioni impulsive

ACTION(P):GSTART(SON);END_ACTION;

SON(S)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Ascensore singolo

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili INPUTUtente:

Nuovo [A,-1..7] piano premuto all’interno della cabinapiano0,… piano7 [D] tasto chiamata dal pianoEmergenza [D] tasto di emergenza

Porte:Pres [D] presenza di una persona sulle porte (fotocellula)Chiusa [D] porta chiusa (finecorsa)Aperta [D] porta aperta (finecorsa)

Ascensore:Fine_su [D] finecorsa sup. ascensoreFine_giu [D] finecorsa inf. Ascensore (non dovrebbe essere utilizzatonel funzionamento normale)Sens [D] sensore presenza ascensore al piano (uno per piano, lavariabile è OR di tutti i sensori)Rampa [D] due per piano, una prima e una dopo il piano, perrallentamento ascensore

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili OUTPUT

Utente:Corr [A, 0..7] piano corrente (p.e. utilizzato peraccendere i LED)

Porte:Apri [D]

Chiudi [D] comandi apertura/chiusura porte

Ascensore:Motore [D] comando movimento ascensore

Su [D] direzione movimento (salita/discesa)

Vel [D] velocità movimento (veloce/lento – perrallentare in prossimità del piano)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Variabili INTERNE

Aggiornate nel modello dell’impianto e nel controllo

Utente:Dest [A, 1..7] piano destinazione selezionato dall’utente – usatain premuto() per la gestione della richiesta piano esterna edella rchiesta all’interno dell’ascensore

Porte:Porta [A, 0..50] posizione porta, per simulazione

Ascensore:Altezza [A, -10…150] posizione ascensore

Spostam [-2,2] spostamento ascensore (dipende da vel)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Gestione – programma ST in “Beginning of cycle”

Modello simulato dell’impiantoAggiornamento dello stato del sistema e delle variabili diINPUT (sensori) in funzione delle variabili di OUTPUT (attuatori)

Selezione casuale del piano iniziale (variabile INIZIO)

“sens” vale 1 se altezza è 0, 20, 40, 60, … 140 (incorrispondenza del piano)

“rampa“ vale 1 se l’ascensore dista +/-4 dal pianoif mod(altezza,20)=0 then sens:=true;

else sens:=false;

end_if;

if mod(altezza,20)=4 or mod(altezza,20)=16 then rampa:=true;

else rampa:=false;

end_if;0, S

-4, R

+4, R

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

SFC - figlio

Fase di inizializzazioneEseguita solo una volta, all’accensione dell’ascensore (es. percalo di tensione, ecc.)

Chiusura porte (controllo presenza passeggero)

Discesa LENTA fino al piano terra - l’ascensore raggiunge ilfinecorsa inferiore, poi risale fino al primo “sens” (piano 0)

Apertura porte

Stato di attesa (stato 5)corr:=0;

dest:=0;

nuovo:=-1;

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Funzioni:

Premuto:In funzione degli input “piano0”, …”piano7” (pulsanti alpiano), di “nuovo“ (richiesta interna all’ascensore) e “corr”(piano corrente), indica se è stato richiesto l’ascensore a unpianoN.b. piano destinazione deve essere diverso da quellocorrenteNON è implementata la gestione della richiesta di più piani …

Cosa succede se ci sono più richieste contemporanee?

“dest” contiene il piano di destinazione (v. premuto() )

Direz:Direzione in cui l’ascensore si deve muovere per raggiungerela destinazione

Spegni:Reset chiamate e aggiornamento della variabile “corr”

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Movimento ascensore

Attesa di 2 secondiChiusura porte (gestione presenza passeggero)Movimento lento fino al segnale di fine rampa del pianoiniziale, nella direzione selezionata in base a “corr” e“dest”Movimento veloce

Aggiornamento del piano corrente in base ai segnali “sens”In prossimità del piano di destinazione (v. segnale rampa)movimento lentoArresto al piano e attesa di 2sAggiornamento piano corrente e reset pulsanti al piano opulsante interno (con la funzione spegni() )Apertura porte(Attesa di 5s.)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

Emergenza

Il funzionamento dell’ascensore deve essere sempreinterrompibile in presenza del segnale di emergenza

Possibili emergenze:Tasto di allarme interno all’ascensore

Sovratemperatura azionamento

Sovracorrente fase motore

Struttura padre-figlioIn questo modo si risolve il problema di dover gestire le emergenze inOGNI stato

Processo Figlio: funzionamento normaleIl processo figlio viene attivato all’inizio

Se si verifica un’emergenza, si sospende l’esecuzione del figlio (conFREEZE), si salva lo stato degli attuatori e si gestisce l’emergenza

Si riattiva i processo figlio con GRST

Processo Padre: gestione emergenza

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

LAVATRICE (washcomp)

Progetto 1 – LavatriceTemperatura di lavaggio (30°, 60°, 90°)

Programma di lavaggio (prelavaggio, lavaggio, completo)

Gestione eventi anomali (otturazione del tubo di carico o discarico acqua, rottura resistenza di riscaldamento)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

VariabiliSet_temp [I, A] temperatura desiderata

Set_program [I, A] programma desiderato

Run [I/O, D] attivazione ciclo lavaggio

Prewash [O, D] prelavaggio attivo

Wash [O, D] lavaggio attivo

Rince [O, D] risciacquo attivo

Bulls_eye_op [I, D] apetura sportello per inserire il bucato

Bulls_eye_lk [O, D] bloccaggio spoprtello

Fillsoap [I/O, D] riempimento sapone nel cassetto

Emptysoap [O, D] svuotamento sapone nel cassetto

Soaplevel [I, D] livello sapone

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

VariabiliEmptywater [O, D] svuotamento acqua

Fillwater [O, D] riempimento acqua

Hot [O, D] attivazione ciclo lavaggio

Waterlevel [O, D] attivazione resistenza riscaldamento

Temperature [O, D] temperatura acqua

Motor_on [O, D] attivazione motore lavatrice

Spin [O, D] rotazione cestello (grafica)

Ingegneria e tecnologia dei sistemi di controllo L-A ISaGRAF 3.2

VariabiliHeat_fail [Guasto, D] rottura resistenza riscaldamento acqua

Wrt_in_fail [Guasto, D] rottura elettrovalvola immissione acqua

Wrt_out_fail [Guasto, D] rottura elettrovalvola immissione acqua

Heat_alrm [O, D] allarme: rilevata rottura resistenza riscaldamento

Wrt_in_alrm [O, D] allarme: mancata immissione acqua

Wrt_out_alrm [O, D] allarme: mancato svuotamento acqua

Bulls_eye_alrm[O, D] allarme: sportello aperto

Soapalarm [O, D] allarme: mancanza sapone cassetto

Prog_error [O, D] allarme: programma settato non corretto

Temp_error [O, D] allarme: temepratura settata non corretta