L'utilizzo delle strutture dati nella
programmazione del PLC in ambiente
IEC61131, rende la gestione di attuatori e
sensori più intuitiva ed efficace.
28/10/2014
Panasonic Electric Works IT
2
Regole per la dichiarazione delle variabili
Recchia/ 2012
Panasonic Electric Works
3
Autodichairazione variabili
Quando si dichiarano le variabili è buona norma includere nel
nome la dichiarazione del tipo di dato utilizzato.
Facilità nell’identificare inconsistenza sul tipo
Facilità nel passare i parametri alle FUN e FB
Recchia/ 2012
Panasonic Electric Works
4
Autodichairazione variabili
Identificazione non
corrispondenza
ingressi immediata
Recchia/ 2012
Panasonic Electric Works
5
Autodichairazione variabili
stringa
timer
boleano
Recchia/ 2012
Panasonic Electric Works
6
Autodichairazione variabili
Inoltre
Tramite la funzione di Auto-dichiarazione delle variabili viene
associato il tipo di dato al prefisso utilizzato
Recchia/ 2012
Panasonic Electric Works
7
Autodichairazione variabili
La struttura del nome della variabile
deve seguire la seguente regola:
• un prefisso che descrive il tipo di
dato
• la prima lettera del nome della
variabile deve essere maiuscola
I prefissi riconosciuti come default
dal tool FPWIN PRO sono indicati
nella tabella seguente:
Es. utilizzando il prefisso "b" in bVar
sarà automaticamente definito una
variabile del tipo BOOL
Recchia/ 2012
Panasonic Electric Works
8
Autodichairazione variabili
E’ comunque possibile personalizzare i prefissi in base alle
proprie esigenze, modificando le impostazioni all’interno del
menu opzioni programma dell’FPWIN PRO.
Recchia/ 2012
Panasonic Electric Works
9
I linguaggi di programmazione
I linguaggi di programmazione disponibile e loro compilato
Recchia/ 2012
Panasonic Electric Works
10
Operazioni Booleane
LD
42 steps
ST
35 steps
IL
35 steps
Raccomandato: LD !!!
Recchia/ 2012
Panasonic Electric Works
11
Chiamata di Fun / FB
LD
32 steps
ST
35 steps
IL
32 steps
Raccomandato: LD/FBD !!!
Recchia/ 2012
Panasonic Electric Works
12
Calcoli incondizionati
LD
108 steps
108 steps
ST
IL
108 steps
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
Passaggio da calcoli senza condizioni a calcoli condizionati
13
LD
Deve essere riscritto
l’intero Network !
E’ possibile in alternativa utilizzare
un salto ad un etichetta !!!
Le etichette sono risorse molto
limitate nel PLC !!!
Recchia/ 2012
Panasonic Electric Works
Passaggio da calcoli senza condizioni a calcoli condizionati
14
ST
Deve essere aggiunta solo la
parte relativa alla condizione!
L’istruzione non usa il salto ad
etichette internamente !!!
IL
Deve essere riscritto
l’intero Network !
E’ possibile in alternativa utilizzare un
salto ad un etichetta !!!
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
15
Calcoli con condizione
LD
111 steps
IL
ST
109 steps
109 steps
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
16
Calcoli con condizione del tipo if-then-else
LD
194 steps
ST
190 steps
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
17
Calcoli con condizione del tipo if-else
IL
192 steps
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
18
Calcoli ripetitivi - cicli
IL
LD/FBD
ST
Raccomandato: ST !!!
Recchia/ 2012
Panasonic Electric Works
19
Conclusioni e raccomandazioni
Conclusioni:
•
Programmi con solamente:
• calcoli semplici o booleani
• chiamate a funzioni o FB
Utilizzare gli editor LD/FBD!
•
Funzioni e FB anche con calcoli complessi:
Utilizzare l’editor ST!
Raccomandazione generale:
•
•
Scrivere i programmi con in LD
Scrivere le Funzioni e le FB in ST
Recchia/ 2012
Panasonic Electric Works
20
STRUTTURE DATI
Array
DUT
Stringhe
Durata / Data e Ora
Recchia/ 2012
Panasonic Electric Works
21
LE STRUTTURE DATI
Le strutture dati in un PLC hanno 2 scopi principali
Modellizzare degli
oggetti o l’intera
applicazione
Ridurre la programmazione
e rendere più leggibile il
programma
Recchia/ 2012
Panasonic Electric Works
22
Strutture dati - Array
L’ Array è un un insieme consecutivo numerato di elementi dello stesso
tipo elementare, ogni elemento dell’array può essere individuato
univocamente mediante un indice che permette di scorrere l’array
Vengono normalmente utilizzati:
• Tutte le volte che si devono avere elementi consecutivi senza far
riferimento all’indirizzo fisico del PLC (Tabelle, DataLogging, Ricette, etc..)
Sono possibili operazioni sia sugli array che sugli elementi degli array
Sono permessi gli array fino a tre dimensioni
L’FPWIN PRO 6 non supporta gli array of DUT
L’FPWIN PRO 6 supporta gli array of string
Recchia/ 2012
Panasonic Electric Works
23
Strutture dati - Array
L’array bidimensionale e tridimensionale deve essere impostato
dopo aver definito il tipo di array monodimensionale
L’array viene creato monodimensionale e di un
sottoinsieme di tipi elementari disponibili
Recchia/ 2012
Panasonic Electric Works
24
Strutture dati - Array
Gli elementi negli array bi/tri-dimensionali sono
disposti in modo da mantenere sequenziali gli
elementi con indice esterno consecutivo
Array of INT
Array of WORD
Array of BOOL
Recchia/ 2012
Panasonic Electric Works
Strutture dati – Array 3 dimensioni – parcheggio multipiano
25
z:= piano
y
x
x y z
Recchia/ 2012
Panasonic Electric Works
Strutture dati – Array 3 dimensioni – magazzino automatico
26
z:= piano
y
x
Recchia/ 2012
Panasonic Electric Works
27
Strutture dati – Array – Counting people
Door_3
Door_2
Door_1
x
Recchia/ 2012
Panasonic Electric Works
28
Recchia/ 2012
Panasonic Electric Works
29
Strutture dati - Array
E’ possibile scorrere l’array
tramite delle variabili intere
che fungono da indice
E’ possibile specificare una
semplice espressione per lo
scorrimento dell’array
Recchia/ 2012
Panasonic Electric Works
30
Strutture dati - DUT
DUT (Tipo di dato astratto) permette di definire un nuovo tipo di dato
all’interno del quale è possibile definire più tipi di dato elementare
anche diversi fra di loro
Per poterla utilizzare si deve definire una variabile “nomevariabile” di
tipo DUT_PRV
Ad ogni dato elementare della variabile tipo DUT si può accedere
mediante la sintassi nomevariabile.nomedatoelementare
Non sono ammessi gli array di DUT
Non sono ammessi le DUT di DUT
Recchia/ 2012
Panasonic Electric Works
31
Strutture dati - DUT
Recchia/ 2012
Panasonic Electric Works
32
Strutture dati - DUT
Viene utilizzata tutte le volte in cui è necessario
caratterizzare un oggetto o un dispositivo
Gli elementi della DUT descrivono le caratteristiche
Es: Oggetto pompa
Pressione_input
Portata_input
Pressione_output
Pump_on/off
Pump_power_consumption
Portata_output
Recchia/ 2012
Panasonic Electric Works
33
Strutture dati - DUT
Questo è un nuovo tipo di dati che descrive l’oggetto
pompa
Le nuove variabili possono essere del nuovo tipo creato
Recchia/ 2012
Panasonic Electric Works
34
Strutture dati - DUT
Es: Produzione energia da pannello solare
Informazioni sul posizionamento
Informazioni sulla
velocità del vento
Informazioni sulla
produzione di energia
Posizione del sole
Recchia/ 2012
Panasonic Electric Works
35
Strutture dati - DUT
Dal monitor di un’unica variabile di tipo DUT_EnergyProduction
è possibile vedere lo stato della produzione di energia
Recchia/ 2012
Panasonic Electric Works
36
Gestione Pannelli GT
In FP WIN Pro 6.4 sono state inserite nuove istruzioni e variabili per la gestione delle
funzionalità dei pannelli GT:
9 nuovi Data Unit Types (DUT) per supportare le funzionalità dei GT
Funzioni
Recchia/ 2012
Panasonic Electric Works
37
Strutture dati – DUT sovrapposte
Elementi consecutivi
dello stesso tipo
insistono su aree diverse
Elementi consecutivi di
tipo diverso insistono
sulle stesse aree
Conversione di tipo implicita senza la necessità
di utilizzare funzioni di conversione ad hoc
Recchia/ 2012
Panasonic Electric Works
38
Strutture dati – DUT sovrapposte
DUT
non sovrapposte
DUT sovrapposte
Recchia/ 2012
Panasonic Electric Works
39
Strutture dati – DUT sovrapposte
Esiste una libreria di DUT sovrapposte predefinite
Recchia/ 2012
End - strutture
dati Works
Panasonic
Electric
40
Strutture dati – DUT sovrapposte
Alcuni esempi: BOOL16_OVERLAPPING_DUT
Recchia/ 2012
Panasonic Electric Works
41
Strutture dati – DUT sovrapposte
DUT per lettura e
controllo analogiche
Recchia/ 2012
Panasonic Electric Works
42
Panasonic
your partner in
automation
Thank
you!
Panasonic Electric Works Italia
[email protected]
General Manager Technical Department
045-6752744
Recchia/ 2012
Panasonic Electric Works