PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess

Click here to load reader

download PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess

of 18

  • date post

    01-May-2015
  • Category

    Documents

  • view

    233
  • download

    9

Embed Size (px)

Transcript of PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess

  • Slide 1
  • PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess
  • Slide 2
  • Massimo 4 Moduli di I/O. Quelli presenti: 1 byte digitale ingressi (0-24V) 1 byte digitale uscite (0-24V) 10 ingressi 4-20mA 10 ingressi 0-10 V 1 CPU: microcontrollore 68340 Tempi di elaborazione: AND 5 s WORD 10 s Caratteristiche Hardware PLC SAIA PCD1
  • Slide 3
  • Memoria 17 Kbytes RAM 64 Kbytes RAM/EEPROM Base dei Tempi: programmabile da 10 msec a 10 secondi default: 100 msec Caratteristiche Hardware PLC SAIA PCD1
  • Slide 4
  • Organizzazione della Memoria PLC SAIA PCD1 Ingressi (1 bit): I (0..8191). Esempio I 0 Uscite (1 bit): O (0..8191). Esempio O 0 Flag (1 bit): F (0..8191). Esempio F 0. Possono essere letti e/o modificati. Registro (32 bit): R (0..4095). Valori positivi, negativi o nulli. Valori in Virgola Mobile, Decimali, Esadecimali, Binari.
  • Slide 5
  • Organizzazione della Memoria PLC SAIA PCD1 Costanti: K (0..16383) Possono assumere i seguenti valori: Tipo CostanteValore MinimoValore Massimo Decimale-2.147.483.648+2.147.483.648 Esadecimale0 HFFFFFFFF H Binario0 Q1111111111111 Q (13 bits) ASCII'a', 'b',..., 'z', 'A', etc. Virgola Mobile-9.22337177 E+18+9.22337177 E+18 -2.71050535 E-20+5.42101070 E-20
  • Slide 6
  • Organizzazione della Memoria PLC SAIA PCD1 Temporizzatore (31 bit): T (default: 0..31) Viene decrementato in funzione della base dei tempi il cui valore di default di 1/10 sec (100 msec). Pu assumere solo valori positivi o nulli: 0..2.147.483.647 Contatore (31 bit): C (default: 32..1599) Viene decrementato in funzione di eventi scelti dall'utente. Pu assumere solo valori positivi o nulli: 0..2.147.483.647
  • Slide 7
  • Registro Risultato o ACCU: (1 bit) Accumulatore. Il suo stato (H/L) dipende dal risultato di determinate istruzioni (tipicamente quelle che operano sui bit) P (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato H (alto) se il risultato di una istruzione aritmetica positivo ( > 0 ) N (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato H (alto) se il risultato di una istruzione aritmetica negativo ( < 0 ) Z (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato H (alto) se il risultato di una istruzione aritmetica zero E (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato H (alto) se l'istruzione aritmetica non pu essere eseguita (superamento capacit dei registri, divisione per zero, radice quadrata di un numero negativo, etc.) Flag di Sistema
  • Slide 8
  • Definizione Configuration e Resource: La Configuration coincide con il Progetto La Resource (Specifica del Supporto Hardware) definita nel Progetto (Tools PCD Configuration File Editor) Definizione di Programma e Function Block All'interno di un Progetto possono essere definiti pi Programmi e Function Blocks scritti in uno dei 5 linguaggi IEC 1131-3 Definizione dei Tasks La Gestione dei Processi e Function Block avviene tramite Blocchi ad Organizzazione Ciclica (COB) Definizione di Tipi di Dato Non disponibile Differenze con lo Standard IEC 1131-3
  • Slide 9
  • Definizione di Variabili Locali e Globali La definizione di Variabile Locale o Globale viene realizzata specificando lo Scope della variabile, quando essa viene dichiarata in un file (ad esempio in un programma) Local:La Risorsa (I, O, F, R, T, C, K) locale al File Public: La Risorsa dichiarata Public al fine di essere usata in un altro File Extern: La Risorsa utilizzata nel File corrente, ma stata dichiarata Public in un altro File Inizializzazione Variabili Viene fatto in Instruction List (IL) (vedasi lucidi successivi) Differenze con lo Standard IEC 1131-3
  • Slide 10
  • Variabili e Valori Temporali Non esistono in modo esplicito I valori temporali vengono espressi con Registri (R) o con Costanti (K) I valori temporali sono espressi come multipli di 100 msec Attributi Variabili: Attributo AT Non esiste L'associazione delle variabili agli indirizzi di memoria viene fatta all'atto della dichiarazione delle variabili specificando se: l'allocazione deve essere dinamica (non si fissa alcun indirizzo di memoria) si vuole assegnare un indirizzo ben preciso Differenze con lo Standard IEC 1131-3
  • Slide 11
  • Attributi Variabili: Attributo RETAIN Non esiste E' possibile definire qualcosa di simile solo per i Flags. E' possibile scegliere tra due valori: Volatile (Reset con il Cold Start) Non-Volatile (Default) E' possibile configurare l'intervallo di indirizzi di Flags che sono di tipo Volatile e Non-Volatile Attributi Variabili: Attributo CONSTANT Non esiste Vengono utilizzate le Costanti K Differenze con lo Standard IEC 1131-3
  • Slide 12
  • Il programma diviso in blocchi di istruzioni: Blocco di Organizzazione Esclusiva (XOB) Blocco di Organizzazione Ciclica (COB) Blocco di Programma (PB) Blocchi di Funzione (FB). Ci deve essere almeno un COB Ogni COB pu richiamare PB e FB I PB e i FB possono richiamare qualsiasi altro PB o FB fino a 7 livelli di nidificazione POUs e Tasks nel PLC SAIA-Burgess
  • Slide 13
  • Viene eseguito solo quando si verifica un determinato evento al quale il XOB associato Se un determinato evento accade e ad esso non viene associato alcun XOB, non viene intrapresa alcuna azione e si accende la lampada ERROR Al termine del programma XOB, il programma ritorna alla locazione dalla quale era stata richiamata la routine esclusiva. Gli eventi sono caratterizzati da una priorit, che determina l'esecuzione degli associati XOB, nel caso di concomitanza di eventi Esempio: XOB 16, Accensione PLC o Start Cold Blocco ad Organizzazione Esclusiva (XOB)
  • Slide 14
  • Sintassi della dichiarazione di un XOB XOB numero corpo del programma EXOB numero: 0-25 (ad esempio 16) All'inizio dell'XOB l'ACCU e' messo alto (H) Blocco ad Organizzazione Esclusiva (XOB)
  • Slide 15
  • Inizializzazione Variabili Instruction List (IL) Blocco ad Organizzazione Esclusiva (XOB) XOB 16 ACC H SET F 0 EXOB XOB 16 ACC H RES F 0 EXOB
  • Slide 16
  • Ad ogni COB deve essere associato un numero La sequenza di esecuzione dei COB (quando ve ne pi di uno) dipende dal numero associato Ad ogni COB pu essere associato un tempo di supervisione espresso in unit di 1/10 sec. In ogni caso deve essere associato il valore 0 Se il tempo di supervisione 0, alla conclusione del COB viene eseguito il COB successivo (con numero superiore). Se il COB l'unico, viene eseguito lo stesso COB Se il tempo di supervisione maggiore di 0, viene attivato un timer all'inizio dell'esecuzione del COB. Se il tempo di supervisione scade prima che il COB termina, viene eseguito il COB successivo. Blocco ad Organizzazione Ciclica (COB)
  • Slide 17
  • Sintassi della definizione di un COB COB numero tempo corpo del programma ECOB numero: 0-15 (16 COB al massimo) tempo: tempo di supervisione in incrementi di 10 ms (0-100.000) All'inizio del COB l'ACCU messo alto (H) Blocco ad Organizzazione Ciclica (COB)
  • Slide 18
  • COB0 0;oppure t LD C 0 100 NEXT: DEC C 0 STH C 0 JRH NEXT STH I 32 OUT O 48 ECOB COB1 0 STH I 39 OUT O 55 ECOB Esempio di Gestione della Preemption se il COB 0 ha tempo 0 allora i tempi di risposta di O 55 sono pari a quelli del decremento del contatore se il COB 0 ha tempo t allora i tempi di risposta di O 55 sono di t*10 msec.