Note sull utilizzo di ISAGRAF V. 3.31

Documenti analoghi
Sequential Functional Chart

Reti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1

Sequential Functional Chart (SFC) - Parte 1

Introduzione ad ISaGRAF

Traduzione degli SFC in Ladder Logic

Corso di Automazione industriale

Corso di Automazione industriale

Tecnica basata su Relazioni I/O Circuito di Clock

La ripetizione. Cicli ed iterazioni. Flusso di esecuzione ciclico. La ripetizione. Flusso di esecuzione ciclico. Errore frequente

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

Problemi, algoritmi, calcolatore

PLC Sistemi a Logica Programmabile Il linguaggio AWL istruzioni di base

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Progetto 3: Termometro con convertitore A/D

CORSO DI PROGRAMMAZIONE

Sequential Function Chart (SFC)

Programmazione web lato client con JavaScript. Marco Camurri 1

STRUTTURE DI CONTROLLO DEL C++

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Introduzione alla programmazione

Programmazione in Java (I modulo)

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Il concetto di calcolatore e di algoritmo

ESEMPIO QUATTRO: TRAPANO COMPLESSO

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Espressioni con effetti collaterali

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Excel & VBA. Excel e Visual Basic for Application

A. Introduzione a Matlab

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Concetti base programmazione. Antonio Gallo

COME ATTIVARE E CONFIGURARE LA FUNZIONE PROTOCOLLO DEI DOCUMENTI

Sequential Function Chart

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

Algoritmi e soluzione di problemi

2. Algoritmi e Programmi

PREMESSA In questa lezione analizziamo le diverse modalità di programmazione del PLC, soffermandoci in particolare sulle programmazioni KOP e AWL.

Strutture di controllo iterative

Strutture di controllo iterative

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Programmazione dei PLC in linguaggio Ladder

Esercitazione n 2. Obiettivi

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

TT 73 TEMPORIZZATORE ELETTRONICO DIGITALE A MICROPROCESSORE

Function Block Diagram

Strutture di controllo decisionali

Cosa si intende con stato

Lezione 6 Introduzione al C++ Mauro Piccolo

Algoritmi e Strutture Dati

PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Introduzione agli Algoritmi

Esercizio 1. Progettare la PO a partire dal microprogramma eseguibile e successivamente:

Corso di Automazione industriale

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Corso di Informatica Modulo T1 1-Il concetto di algoritmo

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Funzioni costruttore e istanza di un'oggetto

CORSO di Elettronica e Automazione

Reti logiche (2) Circuiti sequenziali

Comprende due comandi : OPEN ( Ouvrir ) = carica un programma in formato esadecimale (.hex) per poterlo simulare.

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Modulo 2: Strutture fondamentali della programmazione Java

PL Ladder V 3.10 T-2. KITE automation srl - Via Morandi Melegnano (MI) - Tel/Fax /

Corso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Rappresentazione con i diagrammi di flusso (Flow - chart)

Impianto per il comando automatico di un garage

Programmazione Procedurale in Linguaggio C++

Mini-Corso di Informatica

L ELABORATORE ELETTRONICO

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Le strutture di controllo in C++

CORSO di AUTOMAZIONE INDUSTRIALE

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza

CIRCUIT MAKER. Il laboratorio Virtuale di Elettronica. Utilità: Progettazione di circuiti. Esecuzione di simulazioni

14Ex-Cap11.qxd :20 Pagina Le macro

Corso di Fondamenti di Informatica

Automazione e territorio

Lezione 5: Controllo del flusso e costrutti avanzati

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Liste. Università degli Studi di Milano

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

Scrivere un programma per PLC STEP 5 che rispecchi il funzionamento dei seguenti schemi elettrici. Proporre anche il relativo KOP dei tre circuiti.

Calcolo origini rototraslate per macchine con tavola girevole

Sviluppo di programmi

ESEMPIO DI AUTOMATIZZAZIONE DI PROCESSO BIOTECNOLOGICO. (E-Wine)

INFORMATICA 1 Corso di Laurea in Fisica a.a. 2007/08

AUTOMAZIONE INDUSTRIALE. 16 dicembre Cognome Nome Matricola Corso integrato

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al

Scopo del laboratorio

Linguaggi Regolari e Linguaggi Liberi

Sequential Functional Chart (SFC) - Parte 2

SIMULATORE DI SEMAFORO INTELLIGENTE DL 2121RM. Laboratorio di Automazione

Reti Logiche T. Esercizi reti sequenziali sincrone

Transcript:

Appendice B Note sull utilizzo di ISAGRAF V. 3.31 B.1 Lettura del fronte di salita di una variabile Nel linguaggio Ladder è sufficiente settare il contatore come in figura B.1(A) per leggere il fronte di salita della variabile di ingresso I; il contatto in figura B.1(B) legge invece il fronte di discesa della variabile I. In linguaggio SFC la lettura risulta più complessa. Data la variabile da acquisire ACK (definita naturalmente come booleana nel dizionario) va definita anche la relativa variabile di servizio nelle istanze BF del dizionario (per esempio RT RIG ACK).

B.2 Blocco del PC in simulazione 115 A questo punto il formalismo prevede un passo per inizializzare le variabili ed una transizione con il test sul fronte di salita. Per il fronte di salita la variabile di servizio va definita come tipo R TRIG. Se si volesse leggere il fronte di discesa bisognerebbe definirla come F TRIG. B.2 Blocco del PC in simulazione Accade che alcuni PC si blocchino in uscita quando si apre anche l editor per monitorare l evoluzione del programma. In tal caso bisogna chiudere per primo l editor, poi la finestra della simulazione. B.3 Variabili timer Ogni volta che si vuole usare una variabile per un tempo da impostare, bisogna definire tale variabile come timer nel dizionario. In tal modo tale variabile si può usare in ingresso ai temporizzatori Ladder, oppure nelle transizioni temporizzate dell SFC.

B.4 Azioni booleane 116 B.4 Azioni booleane le azioni booleane assegnano ad una variabile booleana lo stato di attività del passo. La variabile booleana può essere interna o un output. Viene valorizzata ogni volta che viene avviata o fermata l attività del passo. Questa è la sintassi delle azioni booleane di base: - <variabile booleana> (N); assegna alla variabile lo stato di attività del passo; - <variabile booleana>; stesso effetto (l attributo N è facoltativo); - /<variabile booleana>; assegna alla variabile l inverso dello stato di attività del passo. Esistono altre possibilità di modificare il valore della variabile booleana all attivazione del passo. Questa è la sintassi delle azioni booleane di tipo set e reset: - <variabile booleana> (S); impostalavariabilebooleanaatrue quando lo stato di attività del passo diventa TRUE; - <variabile booleana> (R); imposta la variabile booleana a FALSE quando lo stato di attività del passo diventa TRUE. La variabile booleana deve avere attributo di variabile di USCITA o IN- TERNA. In figura si presenta il risultato della programmazione SFC:

B.4 Azioni booleane 117 Esempio di azioni booleane: (*Programma SFC che usa azioni booleane*) Funzionamento: All attivazione del passo 1, le variabili led1 e group12 si resettano e la variabile led4 si setta. Viene poi eseguito il passo 2, che pone a 1 la variabile led1, la quale permane a livello logico alto solamente se il passo 2 è in esecuzione. L attivazione del passo 2 setta inoltre la variabile group12 (che era stata resettata al passo precedente). Prima che il sistema passi poi allo stato 3 viene atteso un tempo di 1s dettato dalla variabile temporale associata alla transizione 2. Trascorso 1s si attiva il passo 3 che assegna il proprio stato di attività allavariabile led2. Prima che il sistema passi poi allo stato 4 viene atteso un tempo di 2s dettato dalla variabile temporale associata alla transizione 3. Trascorsi 2s si attiva il passo 4 che assegna il proprio stato alla variabile led3 e resetta la variabile group12 (che era stata settata al passo 2). Il programma attende 1s prima di superare la transizione 4, poi riprende il ciclo di esecuzione dal passo 2.

B.5 Azioni di tipo non-memorizzato 118 B.5 Azioni di tipo non-memorizzato Un azione di tipo non-memorizzato (normale) è costituita da un elenco di istruzioni ST o IL, che vengono eseguite ad ogni ciclo durante l intero periodo di attivazione del passo. Le istruzioni rispettano la seguente sintassi SFC: ACTION (N): (* istruzioni ST *) END ACTION; Nota: non confondere ACTION(N) con un azione booleana Normale: questo significa che gli assegnamenti di variabili booleane con ACTION(N) sono equivalenti alle Azioni Booleane, ma con le Azioni Booleane non posso assegnare per esempio valori a variabili numeriche o timer! Di seguito vengono illustrati i risultati di un azione di tipo non-memorizzata e l esempio di un azione di tipo non-memorizzato:

B.6 Azioni di tipo impulsivo 119 B.6 Azioni di tipo impulsivo Un azione di tipo impulsivo è costituita da un elenco di istruzioni ST o IL,che vengono eseguite solamente una volta al momento dell attivazione del passo. Le istruzioni rispettano la seguente sintassi SFC: ACTION (P): (* istruzioni ST *) END ACTION; Di seguito vengono illustrati i risultati di un azione di tipo impulsivo e l esempio di un azione di tipo impulsivo:

B.6 Azioni di tipo impulsivo 120 Differenza tra ACTION (N) e ACTION (P) Per tutta la durata di attivazione dei passi indicati, conta incrementa di 1, contb incrementa a velocità di ciclo macchina.

B.7 Azioni SFC 121 B.7 Azioni SFC Un azione SFC è costituita da una sequenza figlia SFC, avviata o terminata in seguito al mutare dello stato di attività del passo. Un azione SFC può venire qualificata come N (Non-memorizzata), S (Set) o R (Reset). Questa è la sintassi delle azioni SFC di base: - <propr figlio> (N); avvia la sequenza figlia al momento dell attivazione del passo e termina la sequenza figlia quando il passo diventa inattivo; - <propr figlio>; stesso effetto (l attributo N è facoltativo); - <propr figlio> (S); avvia la sequenza figlia al momento dell attivazione del passo. Nessuna azione viene intrapresa quando il passo torna inattivo. - <propr figlio> (R); termina la sequenza figlia quando il passo diventa inattivo. La sequenza SFC specificata come azione deve essere un programma SFC figlio del programma attualmente in fase di modifica. l uso dei qualificatori S (Set) o R (Reset) in un azione SFC, produce lo stesso effetto delle istruzioni programmate in un azione ST di tipo impulsivo. Segue sotto un esempio di azione SFC. Il programma principale SFC viene chiamato padre: ha due figli SFC, chiamati SeqMix e SeqPump. La programmazione SFC per il programma SFC è la seguente: (* Programma SFC che usa un azione SFC *)