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