Ufficio Tecnico Panasonic Electric Works Italia srl FPWIN PRO Corso Base Ufficio Tecnico Panasonic Electric Works Italia srl
Documentazione Disponibile Gamma PLC supportata Sommario Documentazione Disponibile Gamma PLC supportata Tipi di Memoria disponibile Indirizzamento Standard IEC1131
Documentazione disponibile Manuale Hardware PLC Tutte le informazioni su: Caratteristiche e Specifiche Tecniche della CPU e delle espansioni Installazione e Cablaggi Eventuale Documentazione su schede speciali Manuale Software Tutte le informazioni su: Aree di memoria del PLC Istruzioni di Basso Livello Istruzioni di Alto Livello Informazioni su funzioni speciali: HSC, Interrupt, Porta Aggiuntiva Tabelle dei Registri di Sistema, Relè Speciali, Word Speciali …. SW Linguaggio di programmazione Help Online
PLC Panasonic Serie FP Novità 2009 Applicazioni di alto livello Compatto di fascia alta Motion Onboard FP0R 0.6us Soluzione compatta level-entry Novità 2009 Soluzione fronte quadro
Memoria nei PLC Panasonic La memoria nei PLC Panasonic è composta da: - memoria programma - memoria dati - memoria commenti La quantità di memoria programma, dati e commenti è fissa e dipende dal tipo di PLC scelto Anche la memoria dati è suddivisa tra aree indirizzabili a BIT (che vengono chiamate principalmente WORD Relè - WR) e aree indirizzabili solamente a WORD (che vengono chiamate principalmente WORD Dati – DT)
Memoria disponibile nel PLC Panasonic FPX – Type C30 / C60 Area Programma 32Ksteps = 64 KByte Programma Memoria Commenti = 328 Kbyte Commenti 32765 DT = 64 KByte Aree DATI standard 256 WR = 512 byte 110 WX = 220 byte Word di IN /OUT Aree DATI 110 WY = 220 byte Aree DATI per reti proprietarie 128 WL = 256 byte 256 LD = 512 byte ~ 457.5 KByte
Memoria disponibile nel PLC Panasonic FPX – Type C30 / C60 FPX_UsersManual_2009_02_ARCT1F409E7.pdf 15.1.2 Performance Specification Indirizzabile a bit Indirizzabile a Word Nota 1) Il numero di punti X e Y che si possono utilizzare dipende dalla configurazione HW che si realizza
Memoria disponibile nel PLC Panasonic FP0R – Type C32 / T32 / F32 Area Programma 32Ksteps = 64 KByte Programma Memoria Commenti = 328 Kbyte Commenti 32765 DT = 64 KByte Aree DATI standard 256 WR = 512 byte 110 WX = 220 byte Word di IN /OUT Aree DATI 110 WY = 220 byte Aree DATI per reti proprietarie 128 WL = 256 byte 256 LD = 512 byte ~ 457.5 KByte
Memoria disponibile nel PLC Panasonic FP0R – Type C32 / T32 / F32 FP0R_Users_Manual_2009_06_ARCT1F475E-1.pdf 13.1.2 Control Specification Indirizzabile a bit Indirizzabile a Word
Indirizzo Fisico - Ingressi e Uscite Sono usati per ricevere segnali esterni da sensori, interruttori, finecorsa, etc … Una volta ricevuti, potranno essere utilizzati nel programma all’interno del PLC. Normalmente sono composti da logica sia npn o pnp a scelta. Nella notazione Panasonic sono indicati con: X Uscite Sono usate per inviare segnali di comando all’esterno. Il loro stato può essere definito dal programma all’interno del PLC. Sono disponibili uscite a transistor (npn, pnp) o a relè. Nella notazione Panasonic sono indicate con: Y Nei PLC compatti FP0R/FPe, FPX, FPSigma l’allocazione degli ingressi e delle uscite è fissa ed dipende dalla posizione dove è montata la scheda
Esempio allocazione Ingressi/Uscite PLC FP0 e FP0R CPU WX0-WX1 WY0-WY1 Iª Esp WX2-WX3 WY2-WY3 IIª Esp WX4-WX5 WY4-WY5 IIIª Esp WX6-WX7 WY6-WY7 L’allocazione degli ingressi e delle uscite è indipendente dal tipo di scheda montata
Indirizzo Fisico - Relè di appoggio Sono relè simulati che servono per generare un segnale binario (ON/OFF) interno. Ci sono anche dei relè speciali che implementano alcune funzioni particolari (R9010, R9013, ..) o eseguono operazioni di diagnostica. Nella notazione Panasonic sono indicate con: R All’interno dei manuali Hardware e Software dei PLC è possibile trovare l’elenco dei Relè speciali disponibili
Indirizzo Fisico – Esempio di Relè speciali o di sistema Selezione variabili di sistema all’interno dell’ambiente di programmazione
Indirizzo Fisico - Aree di memoria a 16bit Aree Immagazzinamento Dati Sono aree di memoria che servono per immagazzinare i dati. Possono essere usate per eseguire calcoli o modificare i dati stessi. Esistono delle aree di immagazzinamento dati speciali in cui sono presenti i dati relativi a funzioni speciali o i dati relativi ad operazioni di diagnostica. Nella notazione Panasonic sono indicate con: DT All’interno dei manuali Hardware e Software dei PLC è possibile trovare l’elenco dei Registri Dati speciali disponibili
Indirizzo Fisico - Accesso unità dati Nei PLC Panasonic è possibile accedere ai singoli bit o alle word , non è prevista la gestione del Byte bit Byte meno significativo Byte più significativo word
Numero di word (decimale) Indirizzamenti Tipo word WX Tipo di word Numero di word (decimale) Tutte le Word che partono con la W possono essere indirizzate a bit. WX, WY, WR etc..
X Tipo relè Indirizzamenti Indirizzamento delle aree di memoria nei PLC della serie FP Tipo relè Tipo di relè X Numero di bit all’interno della word (esadecimale) Numero di word (decimale) Unica eccezione la word 0 in cui viene riportato solo il numero di bit.
Indirizzamenti WX0 XF XB X1 X0 WX1 X10 X11 X1F X17 WX2 X20 X21 X2F X2D
Indirizzamenti WR0 RF R1 R0 WR12 R12F R121 R120 DT0 ?
Standard universalmente accettato Perchè IEC 61131-3? IEC 61131-3 Standard universalmente accettato Regole unificate a livello mondiale eliminano fraintendimenti e riducono i tempi di apprendimento (training) La possibilità di riutilizzare tramite Funzioni (Fun) e Blocchi Funzioni (FB) permette di risparmiare tempo in fase di programmazione e di debug Migliore visualizzazione del flusso programma attraverso opportune strutture di programmazione Riduzione degli errori grazie al controllo sul tipo di dato introdotto dal compilatore Riduzione degli investimenti grazie all‘utilizzo di SW standard
FPWIN Pro PLC Programming Software Ver.5 PLCopen Certificates - Conformity Level and Reusability Level
IEC 61131-3 Formato indirizzo Questa tabella permette la definizione del corrispettivo indirizzo IEC per le aree di memoria del PLC . IEC address Explanation % IEC address identifier I Input location Q Output location M Memory location X Data type BOOL (1 bit) W Data type WORD (16 bits) D Data type DOUBLE WORD (32 bits) No_1 a.) For I and Q: No_1 = word number b.) For M: No_1 = reference for the internal memory Relay, special internal relay R/WR/DWR Þ Timer T 1 Counter C 2 Set value counter/timer SV/DSV 3 Elapsed value counter/timer EV/DEV 4 Data register, special data register DT/DDT 5 Index register IX,IY 6 Link relay L/W L/DWL 7 Link data register Ld/DLd 8 File register FL/DFL 9 Alarm relay E 10 Impulse relay P 11 . Separator No_2 bit position in the word When No_1 = 0..9, or 11 = word number (D) When No_1 = 10 No_2 = relay number No_3 Used when No_1 = 0, 7 or 11 (R, L, P) No_3 = bit position in word Esempio: X0 %IX 0.0 X2F %IX 2.15 Y0 %QX 0.0 Y30 %QX 3.0 R0 %MX 0.0.0 R5 %MX 0.0.5 R200 %MX 0.20.0 DT0 %MW 5.0 DT200 %MW 5.200 T1 %MX 1.1
Indirizzamento fisico e indirizzamento IEC1131 - Differenze Indirizzamenti Indirizzamento fisico e indirizzamento IEC1131 - Differenze Panasonic software style Solo indirizzamento fisico secondo lo standard propritario Panasonic : X0, X1...Y0,Y1....DT0,DT1..... IEC 61131-3 software style - Indirizzamento fisico secondo standard IEC 1131 (%IX0.....%QX0.....%MW5.0) - Indirizzamento simbolico * Ogni variabile ha un nome * Ogni variabile ha un tipo di dato * Le variabili possono essere di tipo locale e globale FPWIN Pro può utilizzare entrambi gli stili Gli stili possono essere utilizzati contemporaneamente L‘FPWIN PRO associa in automatico l‘indirizzo IEC partendo dall‘indirizzo fisico Panasonic
10 motivi per scegliere un SW IEC1131 Utilizzare funzioni il cui nome descrive il loro impiego o di significato comune ai più noti sistemi di programmazione es. : MOVE, MID, ADD, etc.. E non funzioni proprietarie come F0_MV, F0_DMV, F20_+, F6_DGT … Permettere l’impiego di variabili simboliche e degli indirizzi fisici e non solo gli indirizzi fisici del PLC. Start_Pompa_1 vs X0 Permette l’utilizzo di strutture di dati complesse (stringhe, array, DUT) supportate da funzioni dedicate (MID, STRING_TO_INT, etc.) che aumentano la leggibilità del codice e rendono più semplice la soluzione di problemi altrimenti complessi (gestione di protocolli e tabelle). Inserimento commenti più semplice Possibilità di usare FB già implementate e testate dagli stessi sviluppatori del PRO
10 motivi per scegliere un SW IEC1131 Possibilità di avere funzioni uniche slegate del tipo di dato utilizzato
Funzioni IEC 61131-3 vs Funzioni Panasonic Funzioni libreria Panasonic: Funzioni Libreria IEC: 1 funzione al posto di vari 16-bit 32-bit 4-digit BCD data I dati di ingresso devono essere dello stesso tipo 8-digit BCD data Funzione che viene eseguita ad ogni scan : Floating point data 1/3
Funzioni IEC 61131-3 vs Funzioni Panasonic L‘utilizzo di Istruzioni estensibili, permette di utilizzare un unica istruzione anziché la sequenza di più istruzioni Panasonic Per estendere la funzione: 1. Posizionare il cursore sulla parte inferiore. Il cursore cambia in due frecce opposte 2. Definire la lunghezza desiderata. 2/3
Temporizzatori Funzioni IEC 61131-3 vs Funzioni Panasonic Nella notazione IEC1131 sono disponibili due tipi di temporizzatori che possono sostituite i Timer TMX (1 sec), TMY (0,1sec), TMR(0,01sec) il timer TML(0,001) risulta ancora più performante rispetto ai timer IEC: TON Timer in ritardo all’accensione TOF Timer in ritardo allo spegnimento Entrambe usano una la F183 – Conteggio con risoluzione di 10ms 3/3
10 motivi per scegliere un SW IEC1131 Mediamente il compilato generato dal PRO (SW IEC1131) è minore dello stesso codice fatto con SW proprietario GR. Il compilatore conosce l’intera gamma delle funzioni Panasonic il programmatore solo quelle più comunemente usate
10 motivi per scegliere un SW IEC1131 L’utilizzo di aree il cui indirizzo fisico venga associato dal compilatore permette di norma di ottimizzare l’utilizzo della memoria dati L’utilizzo di linguaggi ad alto livello come l’ST permette di facilitare la gestione dei cicli FOR/WHILE Il formato grafico non obbliga l’integratore ad un sequenza nell’inserimento delle funzioni e dei loro argomenti.
Generazione del codice: Ottimizzazione FPWIN Pro 5 e 6 producono circa il 7% di codice in meno dell’FPWIN Pro 4 Generalmente FPWIN Pro 6 produce anche meno codice del SW proprietario FPWIN GR !!!
Generazione del codice: Ottimizzazione Come può un linguaggio ad alto livello produrre meno codice di un linguaggio a basso livello? Vengono utilizzate funzioni di gestione dello stack PSHS-RDS-POPS al posto delle variabili temporanee: Le variabili temporanee non necessarie sono state rimosse! 1. Step: non viene aggiunto del codice addizionale
Generazione del codice: Ottimizzazione 2. Step: ulteriori ottimizzazioni Ottimizzazione di move in cascata: 16 passi invece di 27 passi!!! Il compilatore utilizza l’istruzione KP invece SET, RST se porta ad un risparmio di passi FP0 6 passi invece di 8 passi!!!
Generazione del codice: Ottimizzazione Esempio: GT10_Demo_general.fp Un progetto con varie tipi di funzionalità binarie (AND, OR, SET, RST), impulsive (DF), di calcolo (ADD), di confronto (comparison, shift and timer operations) * La parte finale ed iniziale richiedono un numero fisso di passi indipendentemente dal numero di passi di programma! ** Per l’FP0 il compilatore utilizza l’istruzione KP invece di SET, RST!
Generazione del codice: Ottimizzazione Conclusioni: In generale FPWIN Pro 6 genera un codice ottimizzato! In special modo per i PLC di piccole dimensioni! In molti casi FPWIN Pro 6 genera anche meno codice dell’FPWIN-GR!!! Questo vale per tutti i linguaggi di programmazione! Non c’è un linguaggio di programmazione che produce più codice degli altri! Anche l’ST non incrementa la quantità di codice!!!
FPWINPRO
Legenda POU : Programmi utente Task : Insieme di Programmi che vengono mandati in esecuzione a scan time o come interrupt FB : Funzione che memorizza lo stato delle operazioni precedenti FUN : Funzione senza memoria Variabili Locali: Variabili visibili solo all’interno del POU su cui si sta lavorando Variabili Globali: Variabili disponibili a tutti i POU del Progetto Librerie: Insieme di Fun/FB che svolgono determinate operazioni DUT: Tipo di dato astratto Array [0..2]: Sequenza di variabili dello stesso tipo a cui si può accedere mezzo indice String [32]: Sequenza di caratteri con una struttura ben definita
Control FPWIN Pro supporta tutti i cinque linguaggi di programmazione previsti dallo standard IEC61131-3 all‘interno di un unico SW: - Instruction List (IL) - Structured Text (ST) - Ladder Diagram (LD) - Function Block Diagram (FBD) - Sequential Function Chart (SFC) tutti i tipi (quelli di recente introduzione) di PLC Panasonic possono essere programmati senza limiti, facile riutilizzo di codice grazie all‘utilizzo di FB e Fun che possono essere inserite in Librerie utente personalizzate. un sistema molto semplice di inserimento dei commenti e per la creazione di documentazione Modem (analogico e GSM) ed Ethernet per la programmazione remota e il debug dei programmi La certificazione di Riusabilità del SW generato con linguaggio ST
L’ambiente di programmazione Come aprire un nuovo progetto Dove si crea un nuovo progetto come default
In che formato si salva
L’ambiente di programmazione - Navigatore Con i Registri di sistema è possibile cambiare le caratteristiche HW del PLC (es. no. di Timers/Counters) Hardware Nella cartella Librerie sono contenute tutte le funzioni e FB che possono essere utilizzate nella programmazione Librerie I programmi definiti all‘interno del POU devo essere inseriti all‘interno della cartella Tasks come Programs o Interrupt per poterli mandare in esecuzione nel PLC Questo può essere fatto direttamente al momento della creazione del nuovo POU Programmi Le Variabili Globali contengono l‘indirizzamento IEC 61131-3 possono essere associate ad aree fisiche del PLC e sono visibili da tutti i programmi. Variabili POU Programs Organisations Unit - I programmi le Fun e le FB vengono qui salvati. Possono essere definiti più programmi, ogni programma ha le proprie varibili locali (Intestazione) ed il proprio codice programma (Corpo)
Librerie Librerie Standard Librerie Utente - Fun IEC - Fun Panasonic - Fun di collegamento - Fun Impulsive Librerie Utente Le FB che vengono create possono essere inserite all‘interno di librerie personali Salvaguardia del Know-how mediante protezione via PW delle librerie. Facile riutilizzo di SW testato -> risparmio di tempo.
FB permettono il facile riutilizzo di codice testato 1. Corpo FB Si programma una volta sola Si utilizza sempre!! 2. Variable Interface 3. Programma 1/2
Librerie
Le Librerie Panasonic Librerie IEC, con tutte le Fun e FB IEC standard Es. MOVE, ADD, SIN, MID …. Libreria delle Funzioni Panasonic Es. F0, F1, …F144, …. F309 Librerie che permettono di utilizzare le Funzioni Panasonic con le strutture dati di alto livello disponibili nello Standard IEC Funzioni Panasonic di tipo Pulse Es. P0, P1, …. P13, …
Le Librerie Utente Tasto Dx del Mouse
Da File Esporta Progetto Programma di Backup Da File Esporta Progetto Il progetto viene salvato in formato asc e non include le librerie installate E’ possibile aprire il formato così salvato con qualsiasi editor di testo E’ possibile modifiare il programma così salvato con un editor di testo e scaricare anche solamente i POU che interessano
Programma di Backup
Da Altro Copia di Sicurezza del Progetto Programma di Backup Da Altro Copia di Sicurezza del Progetto Il progetto viene salvato in formato pce ed include le librerie installate Le librerie salvate permettono la corretta esecuzione del programma Per poter modificare la libreria si deve avere anceh la libreria sorgente
5 Linguaggi di Programmazione disponibili Ladder Instruction List Sequential Flow Chart Structured Test Function Block Diagram
Linguaggio LD E’ il classico linguaggio a contatti Variabili Locali Corpo del programma
Linguaggio FBD Linguaggio molto simile all’LD in cui non sono presenti i contatti di in e out che vengono sostituiti dalle VAR IN/OUT + FB che permettono di eseguire operazioni sulle variabili booleane Variabili Locali Corpo del programma
Linguaggio a blocchi sequenziali – Flow Chart Linguaggio SFC Linguaggio a blocchi sequenziali – Flow Chart Ogni blocco viene eseguito quando la condizione che lo precede è ON e quello che lo segue è OFF Variabili Locali TRUE FALSE
Linguaggio SFC Ogni azione dell’SFC può contenere uno o più programmi creati con gli altri linguaggi di programmazione Quando associo il programma all’azione, l’azione diventa verde.
Linguaggio ST L’ambiente si avvicina molto ai linguaggi ad alto livello: Pascal, VB, C CTRL + F1 oppure BarraSpaziatrice: per richiamare l’help sulla sintassi Variabili Locali Corpo del programma
Linguaggio IL Classico Linguaggio a Lista Istruzioni Richiama dal punto di vista dei commenti e della struttura che prevede l’utilizzo di una data sintassi l’ST. (Poco utilizzato e poco flessibile)
Le Variabili Si possono definire due tipi di variabili: Globali e Locali Globali E’ possibile associare un indirizzo fisico alla notazione simbolica Sono condivisibili da tutti i POU L’indirizzo fisico viene associato dal compilatore solo se non definito dall’utente Sono accessibili da Tool esterni: Pannelli, Sistemi di SuperVisione, etc. Locali L’indirizzo fisico viene associato dal compilatore Hanno validità solo all’interno del POU dichiarato Non sono accessibili da Tool esterni Le variabili locali essendo poste all’inizio di ogni programma vengono dette anche header o intestazione
Le variabili Se non viene associato alcun indirizzo fisico alle variabili globali l’area di memoria dove immagazzinare il valore viene assegnato dal compilatore in modo automatico come nel caso delle variabili locali Le variabili tipo GLOBAL diventano di tipo EXTERNAL quando vengono utilizzate all’interno dei programmi
Le Variabili Dove si dichiarano le aree che possono essere utilizzate dal compilatore? Area Utente Area Sistema Modificando il cursore relativo alle variabili ritentive si va ad agire direttamente sui registri di sistema del PLC
Le Variabili Tutte le variabili del programma possono essere gestite con notazione simbolica Solo alcune sono associate a degli indirizzi fisici - La lunghezza massima dei nomi simbolici per le variabili ed i programmi è pari a 100
Esempi di programmazione Linguaggio LD Inserimento di contatti di ingresso e uscita in OR e AND all’interno di un programma. Definizione di variabili simboliche Globali e Locali Utilizzo delle variabili Globali all’interno del programma Spostamento di un valore fra due variabili (MOVE) Somma di due variabili (ADD) Confronto fra due variabili (EQ) Partenza ritardata TIMER (TON) Simulazione di un errore ed individuazione mediante il compilatore Monitor di variabili Globali e Locali Opzioni di compilazione Commenti
Thank you! Panasonic your partner in automation