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

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

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

Page 1: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

PLC PCD1 della SAIA-Burgess

Programmazione in Ambiente SAIA-Burgess

Page 2: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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 5s WORD 10s

Caratteristiche Hardware PLC SAIA PCD1

Page 3: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 4: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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.

Page 5: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

Organizzazione della Memoria PLC SAIA PCD1 Costanti:

K (0..16383) Possono assumere i seguenti valori:

Tipo Costante Valore Minimo Valore Massimo

Decimale -2.147.483.648 +2.147.483.648

Esadecimale 0 H FFFFFFFF H

Binario 0 Q 1111111111111 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

Page 6: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 7: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 8: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 9: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 10: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 11: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 12: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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

Page 13: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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)

Page 14: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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)

Page 15: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

Inizializzazione Variabili Instruction List (IL)

Blocco ad Organizzazione Esclusiva (XOB)

XOB 16 ACC H SET F 0EXOB  

XOB 16 ACC H RES F 0EXOB  

Page 16: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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)

Page 17: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

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)

Page 18: PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess.

COB 00 ;oppure t

LD C 0 100

NEXT: DEC C 0 STH C 0 JR H NEXT STH I 32 OUT O 48ECOB

COB 1 0 STH I 39 OUT O 55ECOB

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.