IEC 61131-3 Standard Versione 2.1, settembre 2006 PLCopen 2006 Page 1 of 38
Indice dei contenuti Vantaggi della IEC61131-3 per i programmatori Storia degli standard internazionali 1970-1995 Le 7 parti dello standard IEC 61131 Modelli di software IEC 61131-3 Le 5 lingue della IEC 61131-3 Blocchi Funzione e POUs IEC tipi di dati, Funzioni e Blocchi Funzione Page 2 of 38
Vantaggi della IEC 61131-3 Standard accettato a livello internazionale Passo dopo passo tutti i fornitori lo sosterranno. Strutture omogenee, delle lingue e del modo di gestire il programma. Consente di risparmiare tempo Con il Software con modello unico di dati e di tipo Devi solo imparare una volta per i diversi tipi di controllori. Riduce incomprensioni ed errori Funzioni standard e blocchi funzione Riusabilità del software testato. Page 3 of 38
Vantaggi della IEC 61131-3 Supporta la sicurezza e la programmazione di qualità Strutturazione facile e comoda Nella digitazione dei dati vieta errori di programmazione Fornisce il miglior linguaggio per ogni problema 5 linguaggi di programmazione. Due linguaggi testuali e due grafici Un linguaggio a strutturazione panoramica. Disponibilità di un linguaggio ad alto livello Possibilità di mescolare diversi linguaggi Page 4 of 38
Normalizzazione dei linguaggi NEMA Formazione della commisione per I controllori programmabili (USA) GRAFCET (Francia ) DIN 40719, Grafici Funzione (Germania ) NEMA ICS-3-304, Controllori Programmbili (USA) IEC SC65A/WG6 Formato DIN 19 239, Controllori Programmbili (Germania ) IEC 65A(Sec)38, Controllori Programmbili MIL-STD-1815 Ada (USA) IEC SC65A(Sec)49,PC Linguaggi IEC SC65A(Sec)67 IEC 848, Grafici Funzione IEC 64A(Sec)90 IEC 1131-3 Type 3 rapporto di raccomandazione IEC 61131-3 cambio di nome 70 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Page 5 of 38
Le 7 parti della norma IEC 61131 Part 1 Panoramica generale e definizioni IS Part 2 Hardware IS Part 3 Linguaggi di Programmazione IS Part 4 Linee guida IS Part 5 Comunicazione IS Part 6 Fuzzy Logic IS Part 7 Relazione tecnica IS = International Standard Page 6 of 38
IEC 61131 - Parte 1 - Panoramica generale Definizioni e glossario dei termini utilizzati nello standard Lista dei riferimenti dello standard IEC Principali caratteristiche funzionali dei sistemi a controllore programmabile Page 7 of 38
IEC 61131 - Parte 2 - Hardware Requisiti elettrici, meccanici e funzionali per i controllori programmabili e periferiche associate Servizi, condizioni di stoccaggio e trasporto Informazioni che devono essere fornite dal produttore Metodi di prova e procedure per la verifica della conformità dei controllori programmabili e periferiche associate Page 8 of 38
IEC 61131 - Parte 3 Linguaggi di Programmazione Software, comunicazione e programmazione Definizione di cinque linguaggi di programmazione interconnessi Sintassi e semantica dei linguaggi, due grafici e due testuali: Instruction List (IL), Structured Text (ST), Ladder Diagram (LD) e Function Block Diagram (FBD) Sequential Function Chart (SFC) per la strutturazione del programma Page 9 of 38
IEC 61131 - Part 4- Linee guida Assiste l'utente in: Utilizzo delle altre parti del controllore programmabile Precisa i requisiti per le applicazioni Selezione e implementazione di sistemi Page 10 of 38
IEC 61131 - Part 5 - Comunicazione Basato su MMS (Manufacturing Message Specifications) (ancora in corso ) The provider is allowed to add more items! Page 11 of 38
IEC 61131 - Part 6- Fuzzy Logic Fornisce la definizione di set di controllo fuzzy The provider is allowed to add more items! Page 12 of 38
IEC 61131 - Part 7 - Relazione tecnica Fornisce linee guida per l'applicazione e l'implementazione di linguaggi di programmazione per il controllore programmabile Page 13 of 38
IEC 61131-3 Modelli Software configurazione A risorsa L risorsa L Task1 Task2 Task3 Task4 Program P1 Program P2 Program P3 Program P4 FB1 FB2 FB3 FB4 Variabili globali percorsi di accesso Task associati Associazione dei percorsi di accesso Page 14 of 38
Definizione dei termini del modello software Configurazione Un elemento del linguaggio corrispondente a un sistema di controllore programmabile Risorsa Un elemento di lingua corrispondente a una funzione di elaborazione del segnale e la sua interfaccia uomo-macchina e le funzioni di sensori e attuatori, come una CPU Task Un elemento di controllo di esecuzione che prevede l'esecuzione periodica o innescata da un gruppo di unità associata del programma Program Più alto livello di organizzazione delle unità del programma. Può chiamare FB e funzioni Blocco funzione per l organizzazione del programma. Può chiamare FB e altre funzioni FB Page 15 of 38
IEC 61131-3: Gli elementi comuni Set di caratteri Tipi di dati Variabili (Inglesi...) (BOOL, WORD, INTEGER...) (VAR, VAR_input, VAR_output...) POUs,Program Organisation Units (Function, Function Block...) SFC elementi Elementi di configurazione : (Tasks) (Steps, Transitions...) Base per il software di riutilizzo Page 16 of 38
No. Parola Chiave Tipo dati Bits 1 2 3 4 5 6 BOOL SINT INT DINT LINT USINT Boolean Short integer Integer Double integer Long integer Unsigned short integer 1 8 16 32 64 8 7 8 9 10 11 12 13 14 15 16 17 18 19 20 UINT UDINT ULINT REAL LREAL TIME DATE TIME_OF_DAY or TOD DATE_AND_TIME or DT STRING BYTE WORD DWORD LWORD Unsigned integer Unsigned double integer Unsigned long integer Real numbers Long reals Duration Date (only) Time of day (only) Date and time of day Character string Bit string of length 8 Bit string of length 16 Bit string of length 32 Bit string of length 64 16 32 64 32 64 8 16 32 64 Page 17 of 38
le 5 Lingue del IEC 61131-3 Instruction List Structured Text Sequential Function Chart LD A ANDN B C:= A AND NOT B Step 1 N FILL ST C Transition 1 Function Block Diagram Ladder Diagram Step 2 S Empty A B AND C A B C - -- / ----------------( ) Step 3 Transition 2 Page 18 of 38
Ladder Diagram (LD) Insieme razionalizzato di simboli a relè Basato sul noto stile di programmazione simile al disegno elettrico A B C - -- / ----------------( ) Page 19 of 38
Instruction List (IL) Esecuzione basata su singolo accumulatore Basato sul tedesco Anweisungsliste, AWL Una sola operazione è consentito per linea, come la memorizzazione di un valore nel registro accumulatore, LD ANDN ST A B C Page 20 of 38
Structured Text (ST) Linguaggio di alto livello La sintassi assomiglia al PASCAL Sono possibili istruzioni complesse e istruzioni annidate Supporto per Iterazione ad anello (REPEAT-UNTIL; WHILE-DO) Esecuzione condizionata (IF-THEN-ELSE; CASE) Funzioni (SQRT(), SIN()) C:= A AND NOT B Page 21 of 38
Function Block Diagram (FBD) Linguaggio grafico, ampiamente usato in Europa Elementi del programma che appaiono come blocchi in una forma analoga a uno schema elettrico Utilizzato in molte applicazioni che coinvolgono il flusso di informazioni o di dati tra componenti di controllo A B AND C Page 22 of 38
Sequential Function Chart (SFC) Linguaggio grafico che fornisce una rappresentazione grafica del programma sequenze --> flowchart Basato sul Grafcet francese (IEC 848) Struttura portante e adatto per la diagnostica rapida Gli elementi di base sono passaggi con blocchi di azione e transizioni I passi consistono in un pezzo di programma che viene eseguito dopo che una condizione specificata nella transizione è soddisfatta Programmazione di compiti complessi, dividendo in parti più piccole Ogni elemento può essere programmato in qualsiasi linguaggio IEC Step 1 N FILL Transition 1 Step 2 S Empty Transition 2 Step 3 Page 23 of 38
POU = Program Organization Unit Le POU consentono il riutilizzo del software dal livello macro (programmi) a livello micro (FB e funzioni). Una POU è costituita da un header (dichiarazione di variabile) e da un corpo (istruzioni). Tipi di POU Replicati come: Commenti Program Istanze di programma Main, sottoprogrammi Function Block Istanze FB Sottoprogramma con memoria. Function Funzioni Sottoprogramma senza memoria. Page 24 of 38
IEC 61131-3 - Tipi di dati Tipi bit (BOOL, BYTE, WORD, DWORD, LWORD) Tipi Intero (SINT, INT, DINT, LINT) Tipi Intero senza segno (USINT, UINT, UDINT, ULINT) Tipi Real (REAL, LREAL) Tipi Time (TIME, DATE, TIME_OF_DAY, DATE_AND_TIME) Stringhe di Caratteri (STRING) Diretto, derivato, enumerati Array, structure Sono possibili tipi di dati definiti dall'utente Page 25 of 38
IEC 61131-3 - Function Funzioni stringa di bit (AND, OR, XOR, NOT, SHL, SHR, ROL, ROR) Funzioni numeriche (ADD, SUB, MUL, DIV, MOD, EXPT, ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN) Conversione di tipi (e.g. USINT_TO_DINT, BOOL_TO_BYTE) Funzione di selezione (SEL, MIN, MAX, LIMIT, MUX) Funzioni di comparazione (GT, GE, EQ, LT, LE, NE) Funzioni per stringhe (LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND) Sono possibili function definite dall'utente Page 26 of 38
IEC 61131-3 - Function Blocks Bistabili (SR, RS, SEMA) Rilevamento di Fronte (R_TRIG, F_TRIG) Contatori (CTU, CTD, CTUD) Temporizzatori (TP, TON, TOF, RTC) Sono possibili function block definite dall'utente Page 27 of 38
PLCopen Missione Siamo la principale associazione per risolvere problemi relativi al controllo della programmazione e per sostenere l'uso di standard internazionali in questo campo. Page 28 of 38
PLCopen è stata fondata il 15 giugno 1992 a Giessen, in Germania. Obiettivo era quello di promuovere IEC 61131-3, informare i clienti e dare più peso allo standard IEC 61131-3. PLCopen Standardization in Industrial Control programming TC6 Page 29 of 38