Introduzione a ISaGRAF Sommario L`ambiente ISaGRAF
Transcript
Introduzione a ISaGRAF Sommario L`ambiente ISaGRAF
Sommario Introduzione all’ambiente ISaGRAF Descrizione dell’ambiente ISaGRAF Funzionalità e concetti di base Come definire e simulare un progetto in ISaGRAF Esercizi Presentazione dei progetti per l’esame Introduzione a ISaGRAF Alessandro Cavini, Marcello Montanari D.E.I.S. – Università di Bologna 1 Alessandro Cavini, Marcello Montanari - ISaGRAF L’ambiente ISaGRAF Progetto in ISaGRAF Ambiente di programmazione mediante il quale si sviluppano progetti per il controllo logico sequenziale (es. per PLC) Permette di scrivere il programma secondo lo standard IEC 61131-3 Per Project si intende un’intera applicazione da eseguire sul PLC E’ composto da una serie di programmi, scritti utilizzando i diversi linguaggi dello Standard IEC61131-3 5 moduli: Projects progetto e simulazione del controllo logico Libraries Archive Book Demo librerie di I/O, funzioni e blocchi funzionali archivio dei progetti e librerie help in linea Alessandro Cavini, Marcello Montanari - ISaGRAF 2 3 Es. sequenza di controllo in SFC, azioni di controllo in ST, funzioni in ST o IL/LD. Strutturazione del programma in sottoprogrammi Maggiore semplicità di scrittura dei programmi, con una scelta opportuna del linguaggio Alessandro Cavini, Marcello Montanari - ISaGRAF 4 Linguaggi in ISaGRAF (Standard IEC 61131-3) ISaGRAF – Project Management SFC (Sequential Flow Chart) Si esegue da Windows cliccando sull’icona Project E’ una finestra in cui sono elencati i progetti realizzati in ISaGRAF. E’ possibile: Stati (ST), Transizioni (ST o LD) ST (Structured Text) Simile al Pascal, linguaggio di alto livello LD (Ladder Diagram) Logica a relè (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 (variabili booleane e analogiche). Utilizzato per definire funzioni Alessandro Cavini, Marcello Montanari - ISaGRAF Alessandro Cavini, Marcello Montanari - ISaGRAF Serve per salvare o caricare da floppy (o da una cartella specifica) il backup di un progetto (in formato .pia) Inserimento del nome del progetto Cliccando sul nuovo progetto (“edit”) si attiva la finestra “Programs” Si inseriscono tutti i “programmi” del progetto. Per programma si intende una funzionalità utile per l’esecuzione del progetto, cioè: Si sceglie dove eseguire il backup (Disk Drive) Per caricare un progetto archiviato (.pia): Definizione della struttura del progetto: 6 Moduli accessori di ISaGRAF – Archive Utility File Æ New Project nella finestra Project Management Lista dei progetti Descrizione 5 Creazione di un nuovo progetto Creare un nuovo progetto Cancellare un vecchio progetto Commentare un progetto (Project Descriptor) Modificare progetti esistenti (Edit) Controllo sequenziale in SFC Archive Æ Restore. Seleziono l’archivio, che viene messo nella directory dei progetti di ISaGRAF Con il modulo Project lo posso aprire, ecc. Operazioni di pre-elaborazione e post-elaborazione delle variabili di I/O Funzioni definite dall’utente, ecc. Alessandro Cavini, Marcello Montanari - ISaGRAF 7 Alessandro Cavini, Marcello Montanari - ISaGRAF 8 Sviluppo del progetto 1. Descrizione del processo da automatizzare Esercitazione 1 L’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 tramite l’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 opportune reazioni 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ò essere riattivato 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 digitale Livello cisterna Liv_serb analogico Livello bottiglia Liv_bot analogico Posizione bottiglia POS_BOOK digitale Gli attuatori del sistema sono: Elettrovalvola 1: elettrovalvola immissione liquido 1 EV1 digitale Elettrovalvola 2: elettrovalvola immissione liquido 2 EV2 digitale Elettrovalvola 3: elettrovalvola espulsione miscela EV3 digitale Motore del nastro trasportatore MOT_NAST digitale L’esercitazione può essere realizzata tramite cinque progetti intermedi: 1. Realizzazione del controllo del processo con i sensori e gli attuatori collegate agli slot del PLC. In questo caso si devono settare manualmente le variabili di ingresso in funzione dei comandi dati sulle uscite per simulare “manualmente” il processo. 2. Realizzazione del controllo del processo utilizzando un interfaccia grafica di simulazione per un aggiornamento automatico degli ingressi in funzione delle uscite. 3. Al progetto precedente si introduce 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. 4. Si aggiunge al progetto il controllo di temperatura del serbatoio. Esso viene realizzato con un processo figlio (Con_tem). Il processo figlio viene invocato come se fosse una variabile booleana. La variabile di ingresso che definisce la temperatura e’ Temperat, mentre la variabile di uscita che comanda l’attivazione della resistenza di potenza e’ Res_on. 5. Si realizza il controllo di temperatura come al punto d invocando il processo figlio tramite le primitive GSTART e GKILL. Descrizione del funzionamento 2. Definizione delle variabili Variabili di ingresso (sensori) Variabili di uscita (attuatori) 3. Connessione con schede I/O (per le variabili I/O) 4. Progettazione del programma di controllo Scrittura del codice 5. Grafici e tavole di conversione 6. Simulazione (o prova sull’impianto) 7. Documentazione Alessandro Cavini, Marcello Montanari - ISaGRAF 9 Esercitazione 1a - Sommario Alessandro Cavini, Marcello Montanari - ISaGRAF 10 1. Descrizione del funzionamento del processo Progetto con I/O reale Esempio di progetto Operazioni di base in ISaGRAF v. anche A.1.3. in User’s Guide ISaGRAF Definizione dei programmi, delle variabili, delle schede di I/O Scrittura del programma in SFC, delle transizioni, ecc. Simulazione Alessandro Cavini, Marcello Montanari - ISaGRAF 11 Alessandro Cavini, Marcello Montanari - ISaGRAF 12 Funzionamento del processo 2. Definizione delle variabili Input: Attivazione del processo Livello cisterna Livello bottiglia Posizione bottiglia Start_Proc Liv_serb Liv_bot POS_BOOK digitale analogico analogico digitale EV1 EV2 EV3 MOT_NAST digitale digitale digitale digitale Output: Alessandro Cavini, Marcello Montanari - ISaGRAF 13 Inserimento delle variabili /1 Elettrovalvola 1: Elettrovalvola 2: Elettrovalvola 3: Motore del nastro trasportatore Alessandro Cavini, Marcello Montanari - ISaGRAF 14 Inserimento delle variabili /2 In “Dictionary” si definiscono le variabili Per ogni variabile viene definito: il nome la visibilità (global) il tipo (digitale/analogica) gli attributi (I/O, internal, ecc.) Si inseriscono commenti con (*…*) Inserimento nel progetto delle variabili e delle loro caratteristiche Alessandro Cavini, Marcello Montanari - ISaGRAF 15 Alessandro Cavini, Marcello Montanari - ISaGRAF 16 Inserimento delle variabili /3 Proprietà delle variabili /1 Visibilità Tipo Dalla finestra “Dictionary”, nella barra si seleziona la visibilità e il tipo desiderati Internal (variabili interna del PLC) Input (letta dall’esterno) Output (scritta su un dispositivo di output) Constant (costante) Alessandro Cavini, Marcello Montanari - ISaGRAF il numero dello stato). E’ vera se lo stato N è attivo. Reali IEEE 32bit (1 bit di segno, 23 bit per la mantissa, 8 per l’esponente) Se la variabile reale è collegata a un I/O, viene rappresentato il suo valore intero 17 18 Esistono le costanti booleane TRUE (1) e FALSE (0) Le costanti intere sono constanti a 32 bit con segno Le costanti reali vanno specificate con il punto decimale (es. 1.0) Le costanti temporali seguono il seguente formalismo: Timer Ad ogni stato viene associata una variabile timer gsN.t (con N il numero dello stato). Il suo valore può essere usato per definire le transizioni, ecc. Una variabile timer può essere attivata o arrestata con TSTART e TSTOP nel linguaggio ST Messages Stringhe Alessandro Cavini, Marcello Montanari - ISaGRAF Costanti Tipo: Analog: (Integer/real) Intere con segno a 32 bit Proprietà delle variabili /2 Boolean Ad ogni stato viene associata una variabile booleana gsN.x (con N Nella finestra vengono visualizzate le variabili con quella visibilità e con quel tipo Si possono modificare (Edit) e inserire (New) nuove variabili. Nella finestra di inserimento, si specifica l’attributo: 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) FB instances, Defined Word 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’) Alessandro Cavini, Marcello Montanari - ISaGRAF 19 Alessandro Cavini, Marcello Montanari - ISaGRAF 20 Cross references Conversion Table Lista delle variabili, delle funzioni e dei programmi utilizzati nel progetto Servono per i dispositivi di interfaccia nonlineari E’ possibile definire una caratteristica di I/O nonlineare di tipo statico, inserita per punti Per ogni oggetto, vengono riportate informazioni (es. programmi in cui una variabile viene invocata) si inserisce il valore elettrico letto in ingresso (o scritto in uscita) e il valore fisico associato (che verrà usato nella simulazione, all’interno del PLC) Nella finestra delle variabili, si associa a una variabile una tabella di conversione mediante la voce “Conversion” Alessandro Cavini, Marcello Montanari - ISaGRAF 21 3. Interazione con il programma (I/O) Dalla finestra “Programs” Æ Inserimento negli slot del PLC di schede di I/O, con led, interruttori, variabili analogiche di I/O Serve per associare una variabile di I/O a un elemento esterno di una scheda Sono presenti 256 slot del PLC. Ad ogni slot si possono associare diverse schede (predefinite, v. NOTE): Boards: canali dello stesso tipo 2. Grafici 22 I/O connection Esistono 2 modi, in fase di simulazione, per interagire con il programma: 1. I/O connection Alessandro Cavini, Marcello Montanari - ISaGRAF Equipments: insieme di boards (es. scheda con ingressi e uscite Ambiente grafico interattivo che mostra la macchina da simulare e il suo funzionamento, mediante il quale è possibile modificare il valore delle variabili di ingresso e visualizzare in forma numerica o grafica quelle di uscita analogici o binari) Dopo aver scelto la scheda, si associano ai canali le variabili di I/O desiderate Associazione delle variabili ai dispositivi di I/O Alessandro Cavini, Marcello Montanari - ISaGRAF 23 Alessandro Cavini, Marcello Montanari - ISaGRAF 24 Connessione con schede di I/O Connessione con schede di I/O Si collegano le variabili di ingresso e di uscita ai canali di schede di I/O con il comando “I/O Connection” Variabili digitali di ingresso, analogiche di ingresso e digitali di uscita Si utilizzano 3 schede differenti, collegate ai primi 3 slot del PLC. Nella lista delle schede predefinite, sono presenti schede da utilizzarsi per la simulazione Per ogni scheda, si collegano i canali alle variabili di I/O opportune (4 canali di output digitale, 2 di input digitale, 2 di input analogico) Alessandro Cavini, Marcello Montanari - ISaGRAF 25 4. Funzionamento del processo In fase di simulazione (v. avanti) l’interfaccia con il mondo esterno è rappresentata dal pannello di controllo Modificando a mano gli ingressi del sistema, si simula il funzionamento del processo Alessandro Cavini, Marcello Montanari - ISaGRAF 26 Inserimento di un programma Nella 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) Cambiare!!!!!! Alessandro Cavini, Marcello Montanari - ISaGRAF 27 Alessandro Cavini, Marcello Montanari - ISaGRAF 28 Modello di esecuzione del Software Struttura del progetto - tipologia dei programmi Architettura general-purpose dedicata al controllo logico sequenziale Implementazione di macchine degli stati per il controllo del funzionamento di un impianto Lettura INPUT •Mappatura in memoria delle letture (immagine di input) Software Task •Esecuzione dei task sulle immagini in memoria Attuazione OUTPUT Lettura Input Begin of Cycle Sequential End of Cycle •Attuazione delle uscite sugli attuatori (immagine di output) Scrittura Output Alessandro Cavini, Marcello Montanari - ISaGRAF •Esecuzione ciclica 29 Tipologie di programmi /1 Viene eseguito all’inizio di ogni ciclo di esecuzione Serve per la preelaborazione dei segnali di ingresso (es. filtraggio, diagnosi) NO in SFC 30 Funzioni con parametri di ingresso, che restituiscono valori in uscita Sono funzioni algebriche, in generale non lineari NO in SFC Function Block Sequenziale (Grafcet), programma time-dependent SOLO in SFC Analoghe alle precedenti, ma non vengono persi i valori delle variabili interne tra una chiamata e l’altra Servono per implementare funzioni dinamiche Child of… Viene eseguito alla fine di ogni ciclo di esecuzione Manipolazione delle variabili di output NO in SFC Alessandro Cavini, Marcello Montanari - ISaGRAF Alessandro Cavini, Marcello Montanari - ISaGRAF End of cycle •Function •Function block •… Function Sequential Child 2 Tipologie di programmi /2 Beginning of cycle Child 1 31 Serve per implementare una gerarchia fra programmi Alessandro Cavini, Marcello Montanari - ISaGRAF 32 Inserimento dei programmi Scrittura del programma in SFC I vari programmi, scritti nei diversi linguaggi, vengono inseriti mediante editor opportuni Si definisce un ciclo sequenziale MAIN, in cui si scrive il programma 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’interno degli stati (in IL o ST) (Level 2) Alessandro Cavini, Marcello Montanari - ISaGRAF 33 Linguaggio SFC Alessandro Cavini, Marcello Montanari - ISaGRAF Step: (stato) Step (all’interno del quale vengono definite azioni usando ST). Transizioni (condizioni booleane) è identificato da un numero (e un commento) Step iniziale Step attivo 2 variabili associate a STEP (Nnn è il numero associato allo step): Uno step non può essere seguito da un altro step Una transizione non può essere seguita da un’altra transizione GSnnn.x: valore booleano che rappresenta l’attività di uno step. Ha valore 1 quando lo stato è attivo GSnnn.t: tempo trascorso dall’ultima attivazione dello step Transizione: Alessandro Cavini, Marcello Montanari - ISaGRAF 34 SFC – Step e transizioni Linguaggio grafico per rappresentare operazioni sequenziali E’ costituito da: Si definiscono gli stati e le transizioni. Per ogni stato si definiscono le azioni associate. Per ogni transizione si definiscono le condizioni associate (eventi) 35 Alessandro Cavini, Marcello Montanari - ISaGRAF E’ identificata da un numero (e un commento) E’ possibile definire transizioni mediante salti a step (frecce) 36 SFC - Divergenze e convergenze SFC - Macro step Rappresenta un insieme di stati e transizioni Il numero di riferimento del macrostato è il numero di riferimento dello stato iniziale della macro Nello stesso grafico SFC, viene definito il contenuto del macrostato, utilizzando gli stati Beginnig step e Ending step Singola Le condizioni non sono implicitamente esclusive. La mutua esclusione va esplicitamente definita nelle transizioni (definendone la priorità) in modo che venga attivato un solo ramo alla volta Doppia Serve per definire azioni da eseguire simultaneamente (in parallelo) Alessandro Cavini, Marcello Montanari - ISaGRAF 37 SFC - Azioni associate a uno stato Pulsed action (Action P o Action P1): Lista di istruzioni ST o IL eseguite una volta all’attivazione dello step Non stored actions (normali): eseguite a ogni ciclo in cui lo step è attivo <boolean_var>(N); oppure <bool>; /<boolean_var>; <boolean_var>(S); < boolean_var>(R); Alessandro Cavini, Marcello Montanari - ISaGRAF 38 SFC – azioni “pulse” e “non-stored” Modificano il valore di una variabile booleana in funzione dell’attività di uno stato Alessandro Cavini, Marcello Montanari - ISaGRAF 39 Action P0: eseguita quando lo step diventa inattivo Alessandro Cavini, Marcello Montanari - ISaGRAF 40 SFC - Transizioni Code Generator – compilazione e simulazione Nel menu “Make”: La condizione associata a una transizione viene definita in ST o LD/IL Nell’editor si può scegliere il linguaggio da utilizzare “Verify”: per controllare la presenza di errori “Make application code” In “Compiler options” si sceglie il target della compilazione (fra simulazione, PLC Motorola, Intel, codice C) Simulazione del progetto Simulate Alessandro Cavini, Marcello Montanari - ISaGRAF 41 Debugger Alessandro Cavini, Marcello Montanari - ISaGRAF 6. Simulazione Simulazione: Possibilità di: 42 eseguire la simulazione in tempo reale (Real time mode) o step by step (con i comandi Cycle to cycle mode e Execute one cycle) Fissare i breakpoint Fissare il tempo di cycle (durata in ms di un ciclo) Visualizzare le variabili N.b.: ricordarsi di compilare con make Visualizzazione degli stati attivi Uso del pannello di controllo Visualizzazione (Spy) e Trace delle variabili Mediante “Spy List” (lista delle variabili e del loro valore istantaneo) Mediante “Trace Variables” (andamento temporale delle variabili) Archiviazione Alessandro Cavini, Marcello Montanari - ISaGRAF 43 Alessandro Cavini, Marcello Montanari - ISaGRAF 44 Pannello di controllo e grafico Esercizio 1b –progetto con I/O simulato Pannello di controllo: Definizione in ISaGRAF Modifica e visualizzazione delle variabili binarie e analogiche mediante interruttori, led, display E’ possibile modificare e visualizzare le variabili di I/O precedentemente associate ai canali delle schede negli slot Del controllo sequenziale (in SFC) del modello (tempo discreto) del sistema, per l’aggiornamento automatico delle uscite del modello in funzione degli ingressi Utilizzo dell’interfaccia grafica Grafici: La finestra del grafico si apre dall’icona corrispondente in “debug program” Interfaccia grafica Alessandro Cavini, Marcello Montanari - ISaGRAF 45 Esercizio 1b Il controllo sequenziale non subisce modifiche Le variabili di input vanno convertite in variabili interne Viene aggiunta la variabile POS_NAST per modellare il movimento del nastro Ora le variabili di input non possono più essere modificate mediante pannello di controllo. Le variabili che devono essere modificate attraverso l’interfaccia grafica vanno definite come “command-variable” nell’interfaccia grafica (es. start_proc) Lista di statement, separati da ; (* commento *) Operatori booleani per definire le condizioni (NOT, AND, OR, ecc.) Tipi Statement in ST Il modello del processo viene scritto in ST in un programma “Begin of cycle” Alessandro Cavini, Marcello Montanari - ISaGRAF 46 Linguaggio ST Modifiche: Alessandro Cavini, Marcello Montanari - ISaGRAF 47 Assegnamento variabile :=espressione; Chiamata a funzione variabile:=nome_fun(param1, param2, …); Alessandro Cavini, Marcello Montanari - ISaGRAF 48 Linguaggio ST – tipi di statement Linguaggio ST … Selezione (IF, CASE) IF bool THEN int1=int2+int3; END_IF; Iterazione (WHILE REPEAT, FOR) FOR index := 1 TO length BY 1 DO <statement>; END_FOR; Controllo (RETURN, EXIT) Altre: Operatori: Redge, fedge: rilevatori di fronti in salita e discesa TSTART(<timer>), TSTOP(<timer>) GSTART, GKILL, GFREEZE, etc. per la gestione di processi figli TSTART(timer_nn), TSTOP(timer_nn) per la gestione dei timer GSTART, etc. per i programmi figli: es. GSTART(child) Variabili GSnnn.t, GSnnn.x V. Help di ISaGRAF Alessandro Cavini, Marcello Montanari - ISaGRAF 49 Linguaggio ST Alessandro Cavini, Marcello Montanari - ISaGRAF 50 I/O Connection vs Grafici Slot di input e output Alessandro Cavini, Marcello Montanari - ISaGRAF 51 Alessandro Cavini, Marcello Montanari - ISaGRAF 52 Grafici Command Variable Anziché collegare una variabile di input a un canale di input di uno slot nel pannello, è possibile impostare il suo valore attraverso l’interfaccia grafica Si possono selezionare: Lo sfondo (background picture, .BMP) Gli elementi per la visualizzazione e l’interazione sono: Boolean Icon Si possono associare 2 icone ai valori vero e falso (v. programma ICONTOY2) Grafici a barre Per la visualizzazione di variabili analogiche Display Visualizzazione numerica di variabili analogiche Alessandro Cavini, Marcello Montanari - ISaGRAF 53 Esercizio 1c – uso di ACTION(P) Alessandro Cavini, Marcello Montanari - ISaGRAF 54 Azioni in SFC Si vuole contare il numero di bottiglie durante un certo intervallo di tempo La variabile deve essere definita INTERNAL (nel Dictionary) Bisogna attivare l’opzione “Command Variable” nella finestra dell’oggetto grafico. In questo modo ISaGRAF considera la variabile modificabile dall’utente durante la simulazione Durante la simulazione, si può impostare il valore della variabile cliccando sull’icona, il grafico a barre o il display corrispondente In ISaGRAF si possono implementare azioni N (non stored) e azioni P (pulsed) Altri tipi di azioni Si definisce la variabile intera num_bott, visualizzata nel pannello di controllo Si aggiorna la variabile contatore utilizzando una pulse action in Riempimento bottiglia time Limited, time Delayed, Stored and time Delayed, Delayed and Stored, Stored and time Limited si realizzano come funzioni N e P e utilizzando opportunamente i timer Alessandro Cavini, Marcello Montanari - ISaGRAF 55 Alessandro Cavini, Marcello Montanari - ISaGRAF 56 Esercizio 1d: programma figlio Azioni SFC Controllo della temperatura del serbatoio Definizione di processi figlio: Permettono l’attivazione di sequenze SFC figlie, in funzione dello stato di attività dello stato 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) Con i comandi GSTART(<child>) e GKILL(<child>) definiti come ACTION(P) Alessandro Cavini, Marcello Montanari - ISaGRAF 57 Azioni SFC 58 Variabili Res_on e Temperat Dinamica della temperatura in “Update” Il flusso di esecuzione del programma figlio è influenzato dal padre con i comandi: IF Res_on THEN Temperat:=Temperat+1; ELSE Temperat:=Temperat-1; END_IF; IF Temperat<=25 THEN Temperat:=25; END_IF; GSTART GKILL GFREEZE mette in esecuzione il figlio specificato termina l’esecuzione del figlio sospende l’esecuzione del figlio (si mantiene in memoria lo stato del programma) GRST riattiva l’esecuzione dopo GFREEZE GSTATUS monitoring dello stato (attivo, sospeso, inattivo) Vanno eseguite all’interno di azioni impulsive ACTION(P) GSTART(SON) SON(S) END_ACTION Alessandro Cavini, Marcello Montanari - ISaGRAF Alessandro Cavini, Marcello Montanari - ISaGRAF Modifiche al progetto L’uso di (S) e (R) è equivalente a usare GSTART e GKILL all’interno di una pulsed action ST . <child_prog> (N): inizia la sequenza figlio quando lo stato diventa attivo e la uccide quando lo stato diventa inattivo <child_prog> : come con N <child_prog> (S): inizia la sequenza figlio quando lo stato diventa attivo (l’esecuzione termina con un reset). <child_prog> (R): termina la sequenza figlio quando lo stato diventa attivo. Processo figlio Con_temp, attivato nello stato “Miscelazione liquidi” con GSTART(Con_temp) (azione pulsed), disattivato nello stato iniziale 59 Alessandro Cavini, Marcello Montanari - ISaGRAF 60 Controllo della temperatura Esercizio 1e Si realizza il controllo di temperatura utilizzando le istruzioni Set e Reset di processi figli Con_temp(R) in “Stato iniziale” Con_temp(S) in “Miscelazione” Alessandro Cavini, Marcello Montanari - ISaGRAF 61 Alessandro Cavini, Marcello Montanari - ISaGRAF 62
Documenti analoghi
la tecnologia isagraf
applicazioni che vengono generate dall' ambiente di lavoro. È portatile indipendentemente dal sistema operativo o dal microprocessore utilizzati. Perciò, è possibile collegare nello stesso ambiente...
Dettagli