IL Linguaggio per la programmazione del PLC

Slides:



Advertisements
Presentazioni simili
L’autoalimentazione non serve più !.
Advertisements

Capitolo 4 Logica sequenziale
P. L. C. (Programmable Logic Controller)
La programmazione in linguaggio Listato
La programmazione in LADDER
La struttura fisica e logica di un elaboratore
Definizione e tipi di implementazione
Controllore a Logica Programmabile
IL MICROCONTROLLORE ST6
Automazione a logica programmabile
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
Il Linguaggio Macchina
Tipologie di Controlli in Ambito Industriale
Caratteristiche Principali PLC Siemens CPU 314C-2 DP
Sequential Function Chart (SFC)
PLC PCD1 della SAIA-Burgess
Impianto di Avvio Ritardato
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Flip-flop e Registri.
Introduzione ai PLC.
Criticità sul controllo
Convertitore A/D e circuito S/H
1 Generazione codice Daniela Briola Lorena Bellino.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
Architettura dell’elaboratore
P. L. C. (Programmable Logic Controller)
Il Calcolatore Elettronico
I vettore interruzioni
Architettura del calcolatore
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Introduzione al linguaggio assembly del microprocessore a parte
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
La programmazione in LADDER
Architettura di una CPU
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Impianto di Avvio Ritardato
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
SPIM Esercizi. Esercizio 1 – il comando ‘li’ Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Il calcolatore Stefano Cagnoni e Monica Mordonini
CONTROLLORI A LOGICA PROGRAMMABILE
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
ELETTRONICA DIGITALE – circuiti sequenziali
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
PLC Il PLC (programmable logic controller) è un controllore specializzato nella gestione di processi e macchine industriali; il PLC esegue un programma.
IL PLC AUTOMAZIONE INDUSTRIALE
Relè.
Transcript della presentazione:

IL Linguaggio per la programmazione del PLC Ing. Marco Giannini IL Linguaggio per la programmazione del PLC Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009

Ladder Diagram (Linguaggio a contatti)

Linguaggio a contatti La forma del programma deriva dalla logica a relè, con le due linee verticali laterali (i montanti della scala) rappresentati l’alimentazione e con le linee orizzontali (i pioli o rung) che alimentano una bobina se una certa combinazione di contatti abilita il flusso di energia. I contatti sono associati agli ingressi digitali oppure a condizioni interne al dispositivo (rappresentati entrambi da bit di memoria). Una bobina è associata a un bit della memoria e, col suo tramite, comandare una uscita digitale o segnalare una condizione interna.

Linguaggio a contatti Regola fondamentale: il flusso di energia ha come unico verso quello che va dal montante sinistro al montante destro; la bobina U1 può essere accesa se sono chiusi i contatti I1, I2, I3, I4 e non quando sono chiusi i contatti I7, I5, I2, I3, I4.

Tipi di istruzioni del linguaggio a contatti Istruzioni di base: contatti e uscite di tipo relè Istruzioni di temporizzazione e conteggio Istruzioni per il controllo del programma Istruzioni per la gestione dei dati Istruzioni per funzioni speciali (regolatori PID)

Descrizione della memoria RAM di un PLC virtuale Area degli ingressi: 32 word da 16 bit con indirizzi I1-I32; Ix:y indica il bit y della word x; ad ogni ingresso digitale corrisponde un bit; ad ogni ingresso analogico corrisponde una word di 16 bit. Area delle uscite: 32 word da 16 bit con indirizzi U1-U32; si utilizzano le stesse convenzioni dell’area degli ingressi.

Descrizione della memoria RAM di un PLC virtuale Area utente: 512 word da 16 bit indirizzabili con W1-W512; è utilizzata per memorizzare dati, tabelle, risultati parziali dell’elaborazione del programma utente. Area PID: sono previste 4 strutture di tipo regolatore PID indirizzabili con P1-P4. sono previste 16 strutture di temporizzazione con indirizzi T1-T16. Area dei Temporizzatori :

Modalità di esecuzione di un programma scritto in linguaggio a contatti Lettura degli ingressi e scrittura del loro stato in memoria. Esecuzione del programma un rung dopo l’altro, procedendo dall’alto verso il basso, da sinistra verso destra. Scrittura delle uscite, prelevando il loro stato dalla memoria.

Istruzioni di base Contatto normalmente aperto: se il bit ad esso associato è ad 1 (ON) il processore chiude il contatto; se il bit è a 0 (OFF) il contatto rimane aperto. Il bit ad esso associato può appartenere all’area di memoria degli ingressi (Ix:y), delle uscite (Ux:y) e all’area utente (Wx:y). Contatto normalmente chiuso: se il bit ad esso associato è ad 1 (ON) il processore apre il contatto; se il bit è a 0 (OFF) il contatto rimane chiuso. Valgono le stesse considerazioni dell’istruzione precedente.

Istruzioni di base Bobina: è utilizzata per settare il bit ad essa associato che può essere un bit dell’area delle uscite (Ux:y) o un bit dell’area utente (Wx:y). Questa istruzione deve essere sempre inserita all’estrema destra del rung; se le istruzioni che la precedono realizzano la continuità elettrica e logica, il bit ad essa associato assume valore “1”, altrimenti assume valore “0”. Latch bobina: mantiene lo stato ON del bit associato anche quando le condizioni che lo hanno attivato sono diventate false; l’unico modo di portarlo nello stato OFF è utilizzare l’istruzione UNLATCH BOBINA.

Istruzioni di base Unlatch bobina: è l’istruzione duale della LATCH BOBINA e quindi mantiene lo stato OFF del bit associato anche quando le istruzioni precedenti realizzano la continuità elettrica e logica. Per portare allo stato ON il bit associato, si deve utilizzare necessariamente l’istruzione LATCH BOBINA .

Esempi di programmi con istruzioni di base Si vuole memorizzare nel bit U1:1 il risultato della OR tra i bit I1:1 e I1:2.

Annotazione importante L’ordine in cui vengono scritti i rung è molto importante. Nel programma a sinistra tutte le uscite vengono aggiornate in un solo ciclo di esecuzione, mentre nel programma a destra le tre uscite vengono aggiornate in tre cicli successivi una dopo l’altra.

Riconoscimento del fronte di salita Primo ciclo di esecuzione: il primo rung viene abilitato quando I 1:1 = 1, per cui W 1:1 viene portato a 1. Successivamente viene eseguito il secondo rung e quindi anche W 1:2 = 1. Secondo ciclo di esecuzione: W 1:2 era stato portato a 1 per cui W 1:1 va a 0.

Istruzioni di temporizzazione e conteggio Il temporizzatore deve essere sempre posizionato all’estrema destra del rung; Tx è il suo indirizzo con x = 1 - 16; la durata massima è di 360000 centesimi di secondo (un’ora). Se viene stabilita la continuità logica del rung, il temporizzatore inizia il conteggio e la sua locazione di memoria contiene 0; quando termina il conteggio, Tx = 1 fin quando il temporizzatore non viene resettato; se durante il conteggio si interrompe l’alimentazione, si resetta. Temporizzatore a ritenuta: il suo funzionamento è molto simile al temporizzatore semplice; se viene interrotta l’alimentazione, viene conservato il valore raggiunto nel conteggio. Per resettare questo temporizzatore si utilizza l’istruzione -(RES)-. Il valore corrente del conteggio è nell’indirizzo Tx.acc.

Istruzioni di temporizzazione e conteggio Contatore ad incremento: Cx indica l’indirizzo (x = 1- 16), e il massimo numero di eventi contati è 1000. Deve essere sempre posizionato a destra del rung e, se il rung in cui si trova subisce una transizione falso/vero (0- 1), incrementa di uno il suo valore. Quando il contatore raggiunge il n. di eventi impostato, il bit ad esso associato assume 1 e viene resettato automaticamente il conteggio. Per resettare a zero il conteggio da programma, si utilizza l’istruzione -(RES)-; il valore corrente del conteggio è disponibile all’indirizzo Cx.acc.

Istruzioni per il controllo del programma Se alimentata, permette di saltare ad un rung dove è presente l’istruzione di etichetta corrispondente indicata mediante un numero; deve essere posizionata all’estrema destra del rung. Indica la destinazione del salto e deve essere posizionata a sinistra del rung. Permette di controllare, attraverso un solo insieme di condizioni, l’esecuzione di un’intera parte di programma racchiuse tra due istruzioni MCR (Master Control Relay); se la prima viene alimentata, viene eseguita quella parte, altrimenti tutte le bobine di quella parte sono messe a zero. Le due istruzioni sono posizionate alla destra dei rung.

Istruzioni per il controllo del programma Il funzionamento del ZCL (Zone Control Last state) è identico a quello dell’istruzione precedente; l’unica differenza è che, se la prima delle due istruzioni non viene alimentata, le uscite presenti nella parte di programma controllata rimangono nel loro stato. Salto a sottoprogramma: il sottoprogramma è racchiuso tra due istruzioni, una di inizio –I SBR I-, corredata dal numero di sottoprogramma, e l’altra di fine –( RET )-.

Istruzioni per la movimentazione di dati Trasferisce il contenuto di una word di memoria (OP 1) oppure un valore assoluto in OP 2. E’ un’istruzione di uscita e quindi va posizionata a destra del rung. Esegue operazioni aritmetico/logiche tra due operandi; il risultato dell’operazione è memorizzato in RES. Le operazioni sono: ADD, MUL, SUB, DIV, AND, OR. Si posiziona a destra del rung.

Istruzioni per la attivazione dei rung Esegue operazioni di comparazione tra due operandi; il risultato dell’operazione è memorizzato in RES. Le operazioni sono: EQU, NEQ, GEQ, LEQ, GRT, LES. Si posiziona a sinistra del rung.

Istruzioni PID Kp: guadagno proporzionale Kd : guadagno derivativo Ki: guadagno integrale rif: word del riferimento var: variabile da controllare com: valore del controllo

Istruzioni di connessione La coppia di istruzioni di connessione -->zyx> e >zyx>-- viene utilizzata per spezzare un rung troppo lungo:

Esempi

Programmazione di una XOR U3:15 = (I1:4 AND NOT(I1:7)) OR (NOT(I1:4) AND I1:7)

Riconoscimento del Fronte di Salita

Riconoscimento del Fronte di Discesa

Flip Flop di tipo D

Ritardo di spegnimento

Esercizi

Tradurre in LD la seguente istruzione in ST Esercizio Tradurre in LD la seguente istruzione in ST

Soluzione I