700 likes | 1.56k Views
PLCopen - IEC 6 1131 - 3 . “ There are three classes of people: those who see. Those who see when they are shown. Those who do not see. ”
E N D
PLCopen - IEC 61131 - 3 “There are three classes of people: those who see. Those who see when they are shown. Those who do not see.” Leonardo da Vinci (Italian draftsman, Painter, Sculptor, Architect and Engineer whose genius epitomized the Renaissance humanist ideal. 1452-1519) Overview "Any sufficiently advanced technology is indistinguishable from magic.“ Arthur Charles Clarke
The goal of this presentation is to provide the attendees with information and a review of the IEC 61131-3 control system automation software standard which is an open (non-propriety) based standard applicable to the implementation of a PLC Open system including the application of Field Bus technology. The attendees will gain knowledge involving the IEC 61131-3 software standard utilizing RTU/PLC/DCS. IEC = International Electro-technical Commission A World organization that prepares and publishes international standards for all electrical and electronic related technologies Founded in 1906 * Over 50 participating countries * Different levels of membership
What is the IEC 61131 standard ? • IEC 61131 is an international standard for programmable controllers consisting of 5 parts: • Part 1: General information • Part 2: Equipment characteristics • Part 3: Programming languages • Part 4: User guidelines • Part 5: Communication
IEC 61131 and PLC Open – Mission PLC Open is a vendor and product independent world-wide organization that brings greater value to users of Industrial Control Systems through the pursuit of the IEC 61131-3 software development standard
Goals of IEC 61131.3 and PLC Open • PLC Open Certification and compliance testing • Definition of several levels of IEC 61131-3 compliance(Base Level, Portability Level, Full compliance Level) • Establish strict test procedures • Establish certification tests at independent test institutes • Ultimate Goal: Portability of PLC programs • Program once run on any hardware platform • not hardware specific or dependent
Table of contents • Advantages of IEC61131-3 for programmers • History and international standards 1970 to 1995 • 7 parts of the IEC 61131 standard • IEC 61131-3 software models • the 5 languages of the IEC 61131-3 • FBs (Function blocks) and POUs (Programmable Organizational Units) • IEC data types, standard functions and standard function blocks • PLCopen certification
Table of contents - continued • PLCopen compliance levels • PLCopen training logo • PLCopen address "Concern for man himself and his fate must always form the chief interest of all technical endeavors, concern for the great unsolved problems of the organization of labor and the distribution of goods--in order that the creations of our mind shall be a blessing and not a curse to mankind. Never forget this in the midst of your diagrams and equations." Albert Einstein
Advantages of IEC 61131-3 • International accepted standard • Step by step all suppliers will support it • Uniform structures, languages, and the way of handling • It saves you time • Unique software model and data/ type concept • You only have to learn it once for different controller types • Reduced misunderstandings and errors • Standard functions and function blocks • Reusability of tested software
Advantages of IEC 61131-3 • Supports safety and quality programming • Easy and comfortable structuring • Data typing prohibits programming errors • Provides the best language for each problem • Consistent specifications of 5 languages • Two textual and two graphical languages • One structuring language, providing an overview • Availability of high level language • Possibility to mix different languages
NEMA Programmable Controllers Committee formed (USA) GRAFCET (France) DIN 40719, Function Charts (Germany) NEMA ICS-3-304, Programmable Controllers (USA) IEC SC65A/WG6 formed IEC 65A(Sec)38, Programmable Controllers MIL-STD-1815 Ada (USA) IEC SC65A(Sec)49, PC Languages IEC SC65A(Sec)67 IEC 848, Function Charts IEC 64A(Sec)90 IEC 1131-3 International Language Standardization DIN 19 239, Programmable Controller (Germany) Type 3 report recommendation IEC 61131-3 name change 70 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Source: Dr. J. Christensen
The 7 Parts of The IEC 61131 Standard • Part 1 General overview, definitions IS • Part 2 Hardware IS • Part 3 Programming Languages IS • Part 4 User Guidelines IS • Part 5 Communication IS • Part 7 Fuzzy Logic IS • Part 8 Technical Report IS = International Standard
IEC 61131 - Part 1 - General Overview • Definitions and glossary of terms used in the standard • List of related / referenced IEC standards • Principal functional characteristics of programmable controller systems
IEC 61131 - Part 2 - Hardware • Electrical, mechanical and functional requirements for Programmable Controllers and associated peripherals • Service, storage and transportation conditions • Information to be supplied by manufacturer • Test methods and procedures for verification of compliance of programmable controllers and associated peripherals
IEC 61131 - Part 3 - Programming Languages • Software-, communication- and programming-model • Definition of five interlinked programming languages • Syntax and semantics of two textual and two graphical languages: Instruction List (IL), Structured Text (ST), Ladder Diagram (LD) and Function Block Diagram (FBD) • Sequential Function Chart (SFC) for program structuring
IEC 61131 - Part 4 User Guidelines Assists the user in: • Utilizing the other parts of the programmable controller standard • Specifying the requirements for applications • Selecting and implementing systems
IEC 61131 - Part 5 Communication • Based on MMS (Manufacturing Message Specifications)(still in progress)
IEC 61131 - Part 7Fuzzy Logic • Provides the definition of fuzzy control sets
IEC 61131 - Part 8 Technical Report • Provides guidelines for the application and implementation of programming languages for programmable controller
IEC 61131-3 Software Model Configuration A Resource L Resource L Task1 Task2 Task3 Task4 Program P1 Program P2 Program P3 Program P4 FB1 FB2 FB3 FB4 global and direct addressed variables access paths Task association Access path association
FC FB OB1 FC FB Operating System FC FB Other OBs OB - Organization Block FC - Function FB - Function Block Memory
Definition of Software Model Terms • Configuration A language element corresponding to a programmable controller system • Resource A language element corresponding to a signal processing function and its human-machine interface and sensor actuator functions, like a CPU in your system • Task An execution control element providing for periodic or triggered execution of a group of associated program organization units • Program Highest level program organization unit, several in - and outputs possible, can call FBs and Functions • FB Program organization unit Function Block, several in - and outputs possible, can call other FBs and Functions
Character set (English.........) • Data types (BOOL, WORD, INTEGER.................) • Variables (VAR, VAR_input, VAR_output..........) • POUs, Program Organisation Units (Function, Function Block...) • SFC Elements (Steps, Transitions.................................) • Configuration elements : • (Tasks) • Basis for software re-use IEC 61131-3: The Common Elements
No. Keyword Data Type Bits 1 8 16 32 64 8 16 32 64 32 64 8 16 32 64 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Boolean Short integer Integer Double integer Long integer Unsigned short integer 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 BOOL SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL TIME DATE TIME_OF_DAY or TOD DATE_AND_TIME or DT STRING BYTE WORD DWORD LWORD IEC 61131-3 Elementary Data Types
Directly represented variables – Hardware Addressable Inputs and OutputsThe identifier of a directly represented variable always begins with "%" character.Below are the naming conventions of a directly represented variable for a channel of a single board. "s" is the slot number of the board. "c" is the number of the channel.%IXs.c free channel of a Boolean input%IDs.c free channel of an integer input%ISs.c free channel of a message input%QXs.c free channel of a Boolean output%QDs.c free channel of an integer output%QSs.c free channel of a message outputBelow are the naming conventions of a directly represented variable for a channel of a complex equipment. "s" is the slot number of the equipment. "b" is the index of the single board within the complex equipment. "c" is the number of the channel.%IXs.b.c free channel of a Boolean input%IDs.b.c free channel of an integer input%ISs.b.c free channel of a message input%QXs.b.c free channel of a Boolean output%QDs.b.c free channel of an integer output%QSs.b.c free channel of a message outputBelow are examples:%QX1.6 is the 6th channel of the board #1 (Boolean output)%ID2.1.7 is the 7th channel of the board #1 in the equipment #2 (integer input)
Step 1 N FILL Transition 1 Step 2 S Empty AND Transition 2 A C B Step 3 The 5 Languages of IEC 61131-3 Instruction List Structured Text Sequential Function Chart LD A ANDN B ST C C:= A AND NOT B Function Block Diagram Ladder Diagram A B C -| |--|/|----------------( )
Ladder Diagram (LD) • Standardized, rationalized set of relay ladder programming symbols • Based on well-known US-style of programming, resembling electrical drawing standard A B C -| |--|/|----------------( )
Ladder Diagram (LD) Ladder Diagram (LD) is a graphic representation of Boolean equations, combining contacts (input arguments) with coils (output results). The LD language enables the description of tests and modifications of Boolean data by placing graphic symbols into the program chart. LD graphic symbols are organized within the chart exactly as an electric contact diagram. LD diagrams are connected on the left side and on the right side to vertical power rails. A and not B equals C -| |--|/|----------------( )
Instruction List (IL) • Single Accumulator based execution model • Based upon the German ‘Anweisungsliste’, AWL • Only one operation such as storing a value in the accumulator register, is allowed per line LD A ANDN B ST C
Instruction List (IL) Instruction List, or IL is a low level language. It is highly effective for smaller applications or for optimizing parts of an application. Instructions always relate to the current result (or IL register). The processor indicates the operation that must be made between the current value and the operand. The result of the operation is stored again in the current result. LD IX1 (* push button *) ANDN MX5 (* command is not forbidden *) ST QX2 (* start motor *)
Structured Text (ST) • High level language, block structured • Syntax resembles PASCAL • Complex statements and nested instructions possible • Support for • Iteration loops (REPEAT-UNTIL; WHILE-DO) • Conditional execution (IF-THEN-ELSE; CASE) • Functions (SQRT(), SIN()) C:= A AND NOT B
C:= A AND NOT B • High level language, Syntaxed structured • Syntax resembles traditional programming code • such as C++, JAVA, PASCAL • Complex statements and nested instructions possible • Support for • Iteration loops (REPEAT-UNTIL; WHILE-DO) • Conditional execution (IF-THEN-ELSE; CASE) • Advanced Math Functions (SQRT(), SIN()) Applications with complex calculations and data processing examples would involve two phase flow calculations, gas calculations, etc.
AND A C B Function Block Diagram (FBD) • Graphical language, widely used in Europe • Allows program elements which appear as blocks to be "wired" together in a form analogous to a circuit diagram • Used in many applications that involve the flow of information or data between control components
AND A C B • Graphical language, widely used in Distributed Control Systems (DCS) and Analog intensive control systems • Allows program elements which appear as blocks (Function Blocks) to be connected together in a form analogous to a circuit diagram • Most applications apply to analog control • Used in many applications that involve the flow of information or data between control component • Examples include PID and analog scaling
Step 1 N FILL Transition 1 Step 2 S Empty Transition 2 Step 3 Sequential Function Chart (SFC) • Graphical language which provides a diagrammatic representation of program sequences --> flowchart • Based on the French Grafcet (IEC 848) • Main structure and suitable for rapid diagnostics • The basic elements are steps with action blocks and transitions • Steps consist of a piece of program that is carried out until a condition specified in the transition is met • Programming of complex tasks by dividing in smaller parts • Each element can be programmed in any of the IEC- languages such as LD or ST or IL or FB mix or match any of the languages
Step 1 Action 1 Action 2 Transition Step 2 Action 1 Transition • Technological programming language for describing Sequential Controls • Structured program draft • Description of the process with steps • and transitions • Clear, easy to understand by the process, production and operations staff • Application examples • Presses and Packaging technology • Production lines • Process technology (start up – shutdown) • OEM equipment machinery technology • Rotating Machinery e.g. compressors, pumps
POU = Program Organization Unit POU’s enable re-use of software from macro level (Programs) to micro level (FB and Functions). A POU consists of a header (variable declaration) and the body (instructions).
IEC 61131-3 Standard Datatypes • Bit string types (BOOL, BYTE, WORD, DWORD, LWORD) • Integer types (SINT, INT, DINT, LINT) • Unsigned integer types (USINT, UINT, UDINT, ULINT) • Real types (REAL, LREAL) • Time types (TIME, DATE, TIME_OF_DAY, DATE_AND_TIME) • Character types(STRING) Vendor and user defined data types are possible • Direct derived, sub range, enumeration • Array, structure
IEC 61131-3 Standard Functions • Bit string functions (AND, OR, XOR, NOT, SHL, SHR, ROL, ROR) • Numerical functions (ADD, SUB, MUL, DIV, MOD, EXPT, ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN) • Type conversions (e.g. USINT_TO_DINT, BOOL_TO_BYTE) • Selection functions (SEL, MIN, MAX, LIMIT, MUX) • Comparison functions (GT, GE, EQ, LT, LE, NE) • String functions (LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND) Vendor and user defined functions are possible
IEC 61131-3 Standard Function Blocks • Bitable (SR, RS, SEMA) • Edge detection (R_TRIG, F_TRIG) • Counters (CTU, CTD, CTUD) • Timers (TP, TON, TOF, RTC) Vendor and user defined function blocks are possible
PLCopen Mission We want to be the leading association resolving topics related to control programming to support the use of international standards in this field.
PLCopen Standardization in Industrial Control programming PLCopen PLCopen was founded on June 15, 1992 in Giessen, Germany. Target was to promote IEC 61131-3, inform customers and give more weight to the IEC 61131-3 standard. TC6
The Essence of Compliancewithout testing there is no standard • The IEC 61131 standard gives rules for compliancy • Certification gives guidance for users towards real IEC 61131-3 programming systems (e.g. PLCopen certified list shows compliant products)
PLCopen Compliance Level To take away the confusion, PLCopen.... • .... has defined 2 levels of compliance with a defined set of features • .... has defined an accreditation procedure • .... has accredited test institutes • .... developed test software, shared amongst members • .... has defined a certification procedure • .... and has members with certified products This assures compliance now, and in the future.
ApplicationProgram ApplicationProgram Conformity Level & Reusability Level Re-usability of Function (Block) libraries FB FB FB FB FB FB Variable Variable Variable Variable Variable Base Level Portability of minimal systems Variable CodeBody CodeBody CodeBody CodeBody CodeBody CodeBody PLCopen Compliance Levels
Compliance Certified products can use these logo’s
PLCopen P.O. Box 2015 NL 5300 CA Zaltbommel The Netherlands Tel: +31-418-541139 Fax: +31-418-516336 www.plcopen.org