Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

Es.2: Programmazione di un elemento

di memoria (flip-flop SR)

SET RESET I2:2

I3:9

U1:1

U1:1 = NOT(I3:9) AND (I2:2 OR U1:1)

Tecnologie dei Sistemi di Automazione - Prof. 29

Raffaele Iervolino

Es.3: Riconoscimento di fronte di salita

I1:1

W1:2

W1:1

W1:1 = NOT(W1:2) AND I1:1

W1:2 = I1:1

Tecnologie dei Sistemi di Automazione - Prof. 30

Raffaele Iervolino

Esercizio

• Tradurre in LD la seguente istruzione in ST

IF ((I5 : 1 AND I3 : 1 AND W2 : 5

) OR(W2 : 6))AND(W2 : 7 OR T2)

SET U1 : 7 1

ENDIF

Tecnologie dei Sistemi di Automazione - Prof. 31

Raffaele Iervolino

Soluzione

Tecnologie dei Sistemi di Automazione - Prof. 32

Raffaele Iervolino

Istruzioni di temporizzazione e conteggio

• Permettono di controllare delle operazioni basandosi sul

trascorrere del tempo o sul conteggio di eventi

• Temporizzatore: se il rung dove si trova il temporizzatore

presenta una continuità logica, il temporizzatore è abilitato

a contare il trascorrere del tempo. Il suo indirizzo può

essere usato come indicatore dello stato del conteggio e

sarà falso durante il conteggio e vero alla fine. Si resetterà

solo quando la condizione del rung diventa falsa

• Temporizzatore a ritenuta: è analogo a prima, ma il valore

raggiunto dal conteggio viene conservato se le condizioni

di alimentazione diventano false

• Contatore: se il rung dove si trova il contatore subisce una

transizione falso/vero il contatore incrementa il suo valore

di una unità

Tecnologie dei Sistemi di Automazione - Prof. 33

Raffaele Iervolino

Istruzioni per il controllo del

programma

• L’istruzione di salto permette, se alimentata, di saltare

a un rung dove è presente l’istruzione di etichetta

corrispondente.

• Si ottiene ponendo in un rung il costrutto --->>xyz

dove xyz è una stringa che indica dove saltare.

• Con tali istruzioni è facile implementare le strutture

del tipo IF-THEN-ELSE,WHILE, REPEAT, FOR.

• L’istruzione --<RETURN>-- è usata per la

terminazione di funzioni e blocchi funzionali

Tecnologie dei Sistemi di Automazione - Prof. 34

Raffaele Iervolino

Es. Utilizzo del salto per una procedura di

inizializzazione W1:1 >> xyz

(procedura di inizializzazione)

W1:1 W1:1

xyz : (programma)

Tecnologie dei Sistemi di Automazione - Prof. 35

Raffaele Iervolino

Istuzioni di connessione

• La coppia di istruzioni di connessione -->zyx> e

>zyx>-- viene utilizzata per spezzare un rung troppo

lungo: I1:1 W1:2 > zyx >

U2:1

I2:1

> zyx >

Tecnologie dei Sistemi di Automazione - Prof. 36

Raffaele Iervolino

IL DIAGRAMMA A BLOCCHI

FUNZIONALI

Tecnologie dei Sistemi di Automazione - Prof. 37

Raffaele Iervolino

Il Diagramma a Blocchi Funzionali

• Il FBD è un linguaggio grafico in cui la

programmazione avviene mediante assemblaggio

di funzioni e/o blocchi funzionali (componenti)

analogamente ad un circuito elettronico

• Il flusso del segnale procede sempre da sinistra

verso destra

• Viene usato per implementare soprattutto funzioni

logiche booleane e operazioni aritmetiche

Tecnologie dei Sistemi di Automazione - Prof. 38

Raffaele Iervolino

Una rete in FBD

• E’ una rete di funzioni e/o blocchi funzionali

collegati tra loro

• L’ingresso di una funzione o di un blocco

funzionale può anche essere direttamente il valore

di una variabile o una costante

• Le uscite possono anche essere valori di variabili

• La negazione di una variabile booleana si può

realizzare o mediante una funzione NOT o con un

cerchietto posto prima dell’ingresso nel blocco

grafico

Tecnologie dei Sistemi di Automazione - Prof. 39

Raffaele Iervolino

Esempio di una rete in FBD

F1

I1 x1 y1

x2

I2 F2

x1 y1 U1

x2

I3 y2

x3 F3

x1 y1 U2

x2 y2

I4

Tecnologie dei Sistemi di Automazione - Prof. 40

Raffaele Iervolino

LA LISTA DI ISTRUZIONI

Tecnologie dei Sistemi di Automazione - Prof. 41

Raffaele Iervolino

La Lista di Istruzioni

• E’ un linguaggio di basso livello, di tipo

assemblativo, composto da sequenze di istruzioni

su righi diversi

• Ogni istruzione è composta da un operatore (e da

un modificatore) e da un operando

• Un’istruzione può essere preceduta da una

etichetta del tipo x:

• Ogni operatore fa riferimento ad un accumulatore

e all’operando

Tecnologie dei Sistemi di Automazione - Prof. 42

Raffaele Iervolino

Operatori Predefiniti

Gli operatori predefiniti sono:

– LD per assegnare all’acc il valore dell’operando

– ST per porre il valore dell’acc nella variabile indicata

dall’operando

– S per porre una variabile booleana a 1 se il valore nell’acc è 1

– R per porre una variabile booleana a 0 se il valore nell’acc è 1

– AND, OR, XOR per operazioni logiche

– ADD, SUB, MUL, DIV per operazioni aritmetiche

– GT, GE, EQ, NE, LE, LT per comparazioni

– JMP per saltare all’etichetta indicata nel campo operando

– CAL per realizzare la chiamata di un blocco funzionale

– RET per realizzare il ritorno da una funzione o da un blocco

funzionale

Tecnologie dei Sistemi di Automazione - Prof. 43

Raffaele Iervolino

I Modificatori

Gli operatori possono essere seguiti da modificatori:

– N indica una negazione dell’operando

– ( indica che l’operatore viene valutato solo se si

trova la corrispondente )

– C , usato solo per gli operatori JMP, CAL e RET,

serve per indicare che l’operatore è eseguito solo

quando il valore corrente dell’acc è 1

Tecnologie dei Sistemi di Automazione - Prof. 44

Raffaele Iervolino

Es. Istruzioni per la XOR

LD a (* metti il valore di a nell’acc *)

ANDN b (* AND dell’acc con il NOT di b

*)

OR( b (* OR dell’acc con l’espressione *)

ANDN a

)

ST c (* conserva l’acc in c *)

Tecnologie dei Sistemi di Automazione - Prof. 45

Raffaele Iervolino

PROGRAM ORGANIZATION UNITS

(POU)

Tecnologie dei Sistemi di Automazione - Prof. 46

Raffaele Iervolino

Unità di organizzazione della

programmazione

Esistono elementi comuni ai 5 linguaggi:

• Variabili: strumento per rappresentare dati

• Funzioni: quando l’uscita dipende solo

dall’ingresso attuale

• Blocchi Funzionali: quando l’uscita dipende dagli

ingressi attuali e passati e dalle condizioni iniziali

del blocco

• Programmi: insieme di elementi e costrutti di

programmazione che garantisce il corretto

trattamento dei dati di input

Tecnologie dei Sistemi di Automazione - Prof. 47

Raffaele Iervolino

Le POU

• L’insieme delle variabili, funzioni, blocchi

funzionali, programmi rappresentano le unità di

organizzazione della programmazione (POU)

• Una POU è sempre composta da 3 elementi:

– definizione del tipo di POU e del suo nome

– la parte dichiarativa delle variabili e dei loro

attributi

– Il corpo con le istruzioni nei linguaggi dello

standard

Tecnologie dei Sistemi di Automazione - Prof. 48

Raffaele Iervolino

I task, le risorse e la configurazione

• I task regolano l’esecuzione di un

programma/blocchi funzionali su base periodica,

ciclica o al verificarsi di certi eventi particolari

• Le risorse sono entità in grado di eseguire i

programmi

• La configurazione è l’elemento del linguaggio

corrispondente a un dispositivo che corrisponde a

una o più risorse

Tecnologie dei Sistemi di Automazione - Prof. 49

Raffaele Iervolino

Le Funzioni

• Sono POU riusabili che da certi valori di

ingresso calcolano un solo valore in uscita

(anche vettoriale)

• L’uscita ha lo stesso nome della funzione e

può essere usato all’interno di espressioni

• Possono essere definite in maniera sia

testuale che grafica

Tecnologie dei Sistemi di Automazione - Prof. 50

Raffaele Iervolino

Es. Definizione testuale di una

funzione

FUNCTION nome_fun : tipo (* tipo della *)

(* funzione *)

VAR_INPUT

. . . . ; (* definizione delle *)

(* variabili di ingresso *)

END_VAR

. . . . (* altre definizioni di *)

(* variabili *)

. . . . (* corpo della funzione *)

(* con assegnazione di *)

(* un valore a nome_fun *)

END_FUNCTION

Tecnologie dei Sistemi di Automazione - Prof. 51

Raffaele Iervolino

Caratteristiche di una funzione

• Il corpo della funzione può essere scritto in

uno dei 5 linguaggi dello standard, eccetto

l’SFC

• Non possono essere definite variabili di

uscita, di ingresso/uscita, direttamente

rappresentate, esterne, globali, accessibili, a

ritenuta

Tecnologie dei Sistemi di Automazione - Prof. 52

Raffaele Iervolino

Definizione grafica di una

funzione

• La definizione della funzione è sempre racchiusa

tra le parole chiavi FUNCTION ed

END_FUNCTION

• Tuttavia l’interfaccia esterna è definita mediante

un blocco rettangolare che ha a sinistra i parametri

di input e a destra quelli di output per i quali

occorre specificare i nomi e i tipi delle variabili

• Occorre infine scrivere il corpo della funzione in

uno dei linguaggi possibili

Tecnologie dei Sistemi di Automazione - Prof. 53

Raffaele Iervolino

Es. Definizione grafica della funzione saturazione

FUNCTION soglia_sat

dato

REAL lim_soglia

REAL REAL

lim_sat

REAL

IF ABS(dato) < lim_soglia THEN

soglia_sat := 0.0;

ELSE

soglia_sat := MIN(MAX(dato,-lim_sat),lim_sat);

END_IF

END_FUNCTION

Tecnologie dei Sistemi di Automazione - Prof. 54

Raffaele Iervolino

Es. Definizione testuale della funzione saturazione

FUNCTION soglia_sat : REAL

VAR_INPUT

dato, lim_soglia, lim_sat : REAL;

END_VAR

IF ABS(dato) < lim_soglia THEN

soglia_sat := 0.0;

ELSE

soglia_sat := MIN(MAX(dato,-lim_sat),lim_sat);

END_IF

END_FUNCTION

Tecnologie dei Sistemi di Automazione - Prof. 55

Raffaele Iervolino

Funzioni predefinite (1/II)

• Funzioni di conversione di tipo e di troncamento:

ad es. INT_TO_REAL( ), TRUNC( )

• Funzioni numeriche: ABS, SQRT, LN, LOG,

EXP, SIN, ASIN, COS, ACOS, TAN, ATAN

• Funzioni aritmetiche: ADD o +, MUL o *, SUB o

-, DIV o /, MOD, MOVE o :=, EXPT o **

• Funzioni applicabili a stringhe di bit: SHL o SHR

per spostare N bit a sx o dx con riempimento di

zeri, ROL o ROR per rotazioni circolari di N bit a

sx o dx, AND o &, OR o >=1 nei linguaggi

grafici, XOR o =2K+1 nei linguaggi grafici, NOT

Tecnologie dei Sistemi di Automazione - Prof. 56

Raffaele Iervolino

Funzioni predefinite (2/II)

• Funzioni di selezione: SEL, MUX, MAX, MIN,

LIM

• Funzioni di comparazione: GT o >, GE o >=, LT o

<, LE o <=, EQ o =, NE o < >

• Funzioni sulle stringhe di caratteri: LEN, LEFT,

RIGHT, MID per l’estrazione di N caratteri a sx,

dx, in mezzo, INSERT, DELETE, REPLACE,

FIND

• Funzioni relative a operazioni su variabili di tipo

temporale

Tecnologie dei Sistemi di Automazione - Prof. 57

Raffaele Iervolino

Overload e estensione delle

funzioni

• Alcune funzioni possono essere sovraccaricate nel

senso che possono usare variabili di ingresso di

tipo diverso (es. l’addizione si può usare sia

qualsiasi tipo numerico)

• Alcune funzioni possono essere estendibili, nel

senso che il numero dei loro ingressi può essere

variabile (es. l’addizione si può estendere ad un

numero generico di addendi)

Tecnologie dei Sistemi di Automazione - Prof. 58

Raffaele Iervolino

Controllo di esecuzione

• Per le funzioni definite con linguaggi grafici (LD

o FBD) è possibile controllare l’esecuzione della

funzione mediante un ingresso implicito booleano

EN

• Allo stesso modo esiste un’uscita implicita

booleana ENO che diventa vera quando la

funzione è eseguita senza errori

• Così, in una catena di funzioni, per essere sicuri

che una funzione sia eseguita prima di un’altra

basta connettere l’uscita ENO della prima con

l’ingresso EN della seconda

Tecnologie dei Sistemi di Automazione - Prof. 59

Raffaele Iervolino

Es. Sottrazione di un offset da una misura (testuale)

FUNCTION corr_sens : WORD (*codifica BCD*)

VAR_INPUT

corr : BOOL;

in : WORD; (*codifica BCD*)

offset: INT;

END_VAR

IF corr THEN

corr_sens := INT_TO_BCD(BCD_TO_INT(in)-offset);

END_IF

END_FUNCTION

Tecnologie dei Sistemi di Automazione - Prof. 60

Raffaele Iervolino

Es. Sottrazione di un offset da una misura (grafico)

FUNCTION corr_sens

corr

BOOL in

WORD WORD

offset

INT

corr SUB

BCD_TO_INT INT_TO_BCD

ENO EN ENO

EN EN corr_sens

in offset

END_FUNCTION

Tecnologie dei Sistemi di Automazione - Prof. 61

Raffaele Iervolino

I blocchi funzionali

• Sono delle POU dove i valori delle uscite non

dipendono solo dagli ingressi ma anche dalle

variabili interne

• Ciò significa che i valori delle variabili interne e

di uscita si devono conservare tra due esecuzioni

successive del blocco funzionale

• Il corpo del blocco funzionale può essere scritto in

uno dei 5 linguaggi dello standard, compreso

l’SFC

Tecnologie dei Sistemi di Automazione - Prof. 62

Raffaele Iervolino

Es. Definizione testuale di un

blocco funzionale

FUNCTION_BLOCK esempio

VAR_INPUT

. . . . ; (* definizione delle *)

(* variabili di ingresso *)

END_VAR

VAR_OUTPUT

. . . . ; (* definizione delle *)

(* variabili di uscita *)

END_VAR

. . . . (* altre definizioni di variabili *)

. . . . (* corpo del blocco funzionale *)

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 63

Raffaele Iervolino

Definizione grafica di un blocco

funzionale

• La definizione grafica di un blocco funzionale è

sempre racchiusa tra le parole chiavi

FUNCTION_BLOCK e

END_FUNCTION_BLOCK

• Tuttavia l’interfaccia esterna è definita mediante

un blocco rettangolare che ha a sinistra i parametri

di input e a destra quelli di output. Per le variabili

interne bisogna specificare i nomi e i tipi

• Occorre infine scrivere il corpo della funzione in

uno dei linguaggi possibili

Tecnologie dei Sistemi di Automazione - Prof. 64

Raffaele Iervolino

Blocchi funzionali predefiniti

Lo standard prevede che vi siano blocchi

funzionali predefiniti:

– due flip-flop, per memorizzare una condizione

logica (priorità del set e del reset)

– due rilevatori di fronte (salita e discesa)

– contatori a incremento, a decremento e

bidirezionali

– temporizzatori o timer a impulso, on-delay, off-

delay

Tecnologie dei Sistemi di Automazione - Prof. 65

Raffaele Iervolino

Es. Blocco flip-flop SR

FUNCTION_BLOCK SR Q1

S1

VAR_INPUT

S1,R : BOOL ;

END_VAR Q1 R

VAR_OUTPUT

Q1 : BOOL;

END_VAR

Q1 := S1 OR (Q1 AND NOT R)

END_FUNCTION_BLOCK SR Q1

BOOL S1 BOOL

BOOL R

Tecnologie dei Sistemi di Automazione - Prof. 66

Raffaele Iervolino

Es. Blocco flip-flop RS

FUNCTION_BLOCK RS

VAR_INPUT Q1

S R1

S,R1 : BOOL ;

END_VAR Q1

VAR_OUTPUT

Q1 : BOOL;

END_VAR

Q1 := NOT R1 AND (Q1 OR S)

END_FUNCTION_BLOCK RS Q1

BOOL S BOOL

BOOL R1

Tecnologie dei Sistemi di Automazione - Prof. 67

Raffaele Iervolino

Es. Rilevatore di fronte di salita

FUNCTION_BLOCK R_TRIG

VAR_INPUT

CLK : BOOL ; R_TRIG

END_VAR

VAR_OUTPUT BOOL Q

CLK BOOL

Q : BOOL;

END_VAR

VAR RETAIN

AUX : BOOL:=0;

END_VAR

LD CLK (* corpo in IL *)

ANDN AUX

ST Q

LD CLK

ST AUX

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 68

Raffaele Iervolino

Es. Rilevatore di fronte di discesa

FUNCTION_BLOCK F_TRIG

VAR_INPUT

CLK : BOOL ; F_TRIG

END_VAR

VAR_OUTPUT

Q : BOOL; BOOL Q

CLK BOOL

END_VAR

VAR RETAIN

AUX : BOOL:=1;

END_VAR (* corpo in LD *)

AUX

CLK Q

AUX

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 69

Raffaele Iervolino

Osservazioni sui rilevatori di fronte

• I riconoscitori di fronte possono essere

anche utilizzati implicitamente sulle

variabili di input di altri blocchi funzionali

• Tali variabili vanno però definite con il tipo

BOOL esteso con i qualificatori R_EDGE o

F_EDGE

• In caso di definizione grafica sulle linee di

ingresso si pongono i simboli > o <

Tecnologie dei Sistemi di Automazione - Prof. 70

Raffaele Iervolino

Es. Contatore a incremento

FUNCTION_BLOCK CTU

VAR_INPUT CTU

CU : BOOL R_TRIG;

R : BOOL; BOOL >CU

PV : INT; Q BOOL

END_VAR BOOL R

VAR_OUTPUT

Q : BOOL; CV INT

CV : INT; INT PV

END_VAR

IF R THEN

CV := 0;

ELSIF CU AND (CV<PV) THEN

CV := CV+1;

ENDIF

Q := (CV=PV);

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 71

Raffaele Iervolino

Es. Contatore a decremento e

contatore bidirezionale CTUD

BOOL >CU

CTD QU BOOL

BOOL >CD BOOL >CD

Q BOOL

BOOL LD BOOL R QD BOOL

CV INT

INT PV BOOL LD INT

CV

PV

INT

Tecnologie dei Sistemi di Automazione - Prof. 72

Raffaele Iervolino

Legenda variabili contatori

• CU = ingresso sui cui fronti di salita il contatore è incrementato

• CD = ingresso sui cui fronti di salita il contatore è decrementato

• R = reset (porta a zero il conteggio)

• PV = valore del conteggio di ingresso

• LD = carica il contatore con il valore PV

• Q = segnala che il contatore ha finito il conteggio (ha raggiunto

il valore del conteggio per il CTU oppure zero per il CTD)

• QD = segnala che il contatore CTUD ha raggiunto lo zero

• QU = segnala che il contatore CTUD ha raggiunto il valore PV

• CV = valore raggiunto dal contatore

Tecnologie dei Sistemi di Automazione - Prof. 73

Raffaele Iervolino

Osservazioni sui contatori

• Occorre sempre prevedere un limite

massimo al valore del conteggio PV

assegnabile ad un contatore

• Questo limite può essere superato ponendo i

contatori in cascata

Tecnologie dei Sistemi di Automazione - Prof. 74

Raffaele Iervolino

Timer a impulso, on-delay e off-delay

• TP o timer a impulso genera in uscita una finestra

rettangolare di durata prestabilita quando

l’ingresso diventa vero

• TON o timer on-delay alza la sua uscita dopo che

è trascorso il tempo impostato da quando

l’ingresso è alto, che deve restare tale, altrimenti il

timer si resetta (ritardo di accensione)

• TOF o timer off-delay ha un’uscita alta quando

l’ingresso è vero e si abbassa dopo il tempo

impostato quando l’ingresso diventa falso (ritardo

di spegnimento)

Tecnologie dei Sistemi di Automazione - Prof. 75

Raffaele Iervolino

Es. Definizione grafica del TP

IN

TP Q

BOOL IN BOOL t

Q PT PT PT

TIME PT ET TIME t

dove:

• IN = ingresso che fa partire la temporizzazione

• PT = tempo da contare

• Q = uscita booleana su cui il temporizzatore agisce

• ET = tempo trascorso

Tecnologie dei Sistemi di Automazione - Prof. 76

Raffaele Iervolino

Es. Definizione grafica del TON

IN

TON Q

BOOL IN BOOL t

Q PT PT

TIME PT ET TIME t

dove:

• IN = ingresso che fa partire la temporizzazione

• PT = tempo da contare

• Q = uscita booleana su cui il temporizzatore agisce

• ET = tempo trascorso

Tecnologie dei Sistemi di Automazione - Prof. 77

Raffaele Iervolino

Es. Definizione grafica del TOF

IN

TOF Q

BOOL IN BOOL t

Q PT PT

TIME PT ET TIME t

dove:

• IN = ingresso che fa partire la temporizzazione

• PT = tempo da contare

• Q = uscita booleana su cui il temporizzatore agisce

• ET = tempo trascorso

Tecnologie dei Sistemi di Automazione - Prof. 78

Raffaele Iervolino

Osservazioni sui temporizzatori

• Anche per i temporizzatori è previsto un tetto

massimo al PT

• Tale valore può essere superato mettendo in

cascata vari timer, realizzando così un conteggio

di tempo pari alla somma dei singoli valori

• E’ possibile anche mettere in cascata ad un timer

un contatore, e in tal caso il valore del conteggio è

dato dal prodotto dei valori PT e PV

Tecnologie dei Sistemi di Automazione - Prof. 79

Raffaele Iervolino

Note sui blocchi funzionali

• Un blocco funzionale può contenere la chiamata

ad altri blocchi funzionali o funzioni

• All’atto della definizione di un blocco è creata una

loro istanza con nome e struttura dati univoci

• Un’istanza di un blocco funzionale si definisce

come una variabile, con la sua stessa visibilità

• Oltre ai blocchi funzionali predefiniti, è possibile

creare blocchi funzionali definiti dall’utente

Tecnologie dei Sistemi di Automazione - Prof. 80

Raffaele Iervolino

Es. Gestione di una risorsa comune (testuale)

FUNCTION_BLOCK semaforo

VAR_INPUT

richiesta, rilascio : BOOL;

END_VAR

VAR_OUTPUT

impegnata : BOOL;

END_VAR

VAR

aux : BOOL :=0;

END_VAR

impegnata := aux;

IF richiesta THEN

aux := 1;

ELSIF rilascio THEN

impegnata := 0;

aux := 0;

ENDIF

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 81

Raffaele Iervolino

Es. Gestione di una risorsa comune (grafica)

FUNCTION_BLOCK

semaforo

richiesta

BOOL impegnata BOOL

rilascio

BOOL

VAR

aux : BOOL:=0;

END_VAR

...

(* corpo in uno dei linguaggi *)

...

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 82

Raffaele Iervolino

Es. Realizzazione di un’onda quadra su

una variabile booleana (testuale - ST)

FUNCTION_BLOCK ondaquadra

VAR_INPUT

abilita : BOOL;

durata_ON, durata_OFF : TIME;

END_VAR

VAR_OUTPUT

uscita : BOOL;

END_VAR

VAR

timer1, timer2 : TON; (*due istanze di timer TON*)

END_VAR

timer1(IN:=NOT(timer2.Q) AND abilita, PT:=durata_OFF);

timer2(IN:=timer1.Q, PT:=durata_ON);

uscita:=timer1.Q;

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 83

Raffaele Iervolino

Es. Realizzazione di un’onda quadra su una

variabile booleana (grafica)

abilita timer2.Q N.B. il solo corpo della

timer1

IN Q funzione ondaquadra è in

linguaggio a contatti

durata_OFF PT ET

timer1.Q timer2

IN Q

durata_ON PT ET

uscita

Tecnologie dei Sistemi di Automazione - Prof. 84

Raffaele Iervolino

Es. Realizzazione di un’onda quadra su una

variabile booleana (grafica)

timer1

AND

abilita uscita

IN Q

durata_OFF PT ET timer2

IN Q

durata_ON PT ET

N.B. il solo corpo della funzione ondaquadra è in FBD

Tecnologie dei Sistemi di Automazione - Prof. 85

Raffaele Iervolino

Es. Realizzazione di un’onda quadra su una

variabile booleana (testuale - IL)

LDN timer2.Q

AND abilita

ST timer1.IN

LD durata_OFF

ST timer1.PT

CAL timer1

CAL timer2(IN:=timer1.Q, PT:=durata_OFF)

LD timer1.Q

ST uscita

N.B. il solo corpo della funzione ondaquadra è in IL

Tecnologie dei Sistemi di Automazione - Prof. 86

Raffaele Iervolino

Es. Chiamata del blocco funzionale

ondaquadra

ondaquadra(abilita:=ing, durata_ON:=t#2s,

durata_OFF:=t#3s, uscita:=led);

ondaquadra

ing abilita

uscita led

t#2s durata_ON

t#3s durata_OFF

Tecnologie dei Sistemi di Automazione - Prof. 87

Raffaele Iervolino

Es. Blocco funzionale antirimbalzo

(grafica-FBD)

FUNCTION_BLOCK

antirimbalzo

in

BOOL out BOOL

durata

TIME N.B. Serve per valutare

un valore booleano solo

VAR

T1, T2 : TON; se è rimasto costante per

FLIPFLOP : SR;

END_VAR un certo tempo

T1

in Q

IN

PT ET FLIPFLOP

S1 out

Q1

T2 R

Q

IN

PT

durata ET

END_FUNCTION_BLOCK

Tecnologie dei Sistemi di Automazione - Prof. 88

Raffaele Iervolino

I Programmi

• Sono insiemi di elementi e costrutti dei 5 linguaggi di

programmazione dello standard per il controllo di una

macchina o di un processo

• Si possono considerare come dei macro-blocchi funzionali

con le seguenti caratteristiche:

– definizione di variabili direttamente rappresentate in memoria

– sono le uniche POU che possono accedere alle variabili

rappresentative degli input e output fisici del PLC

– definizione di variabili globali e variabili di accesso che altri

programmi remoti possono indirizzare (VAR_ACCESS)

– non possono istanziare se stessi

– istanze di programmi possono solo essere dichiarate a livello di

risorsa

Tecnologie dei Sistemi di Automazione - Prof. 89

Raffaele Iervolino

Es. Definizione testuale di un

programma

PROGRAM nome

VAR_INPUT

. . . . ; (* definizione delle *)

(* variabili di ingresso *)

END_VAR

VAR_OUTPUT

. . . . ; (* definizione delle *)

(* variabili di uscita *)

END_VAR

. . . .(* altre definizioni di variabili *)

. . . .(* corpo del programma *)

END_PROGRAM

Tecnologie dei Sistemi di Automazione - Prof. 90

Raffaele Iervolino

I Compiti/Task

• Il compito/task serve per far eseguire un programma o

un blocco funzionale in maniera periodica o al

verificarsi di certi eventi

• Per definire un compito si possono usare:

– il parametro SINGLE di tipo BOOL, che indica la variabile

booleana il cui fronte di salita è l’evento che causa un’unica

esecuzione di un programma/blocco funzionale

– il parametro INTERVAL di tipo TIME che indica la durata

del ciclo per un compito di tipo periodico

– in mancanza dei due parametri sopra descritti si definisce un

compito ciclico continuo

– il parametro PRIORITY di tipo UINT che indica la priorità

del compito (0 è la massima) ed è usato dallo schedulatore

del dispositivo per gestire i vari compiti

Tecnologie dei Sistemi di Automazione - Prof. 91

Raffaele Iervolino


PAGINE

142

PESO

417.30 KB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Tecnologie Sistemi Automazione e Controllo e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Iervolino Raffaele.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Tecnologie sistemi automazione e controllo

Sensori e Trasduttori
Appunto
Tecnologie Sistemi Automazione e Controllo – PLC
Dispensa
Sistemi di controllo industriale
Appunto
Tecnologie Sistemi Automazione e Controllo
Dispensa