IEC 61131 for Building Automation New Tools & Ideas for Buildings 2.0 IEC 61131 for Building Automation
Bill Lydon – Managing Director PLCopen North America Jim Desrosiers – Data Acuity, Inc. PLCopen Member Company Data Acuity, Inc. www.dataacuity.com jimd@dataacuity.com Bill Lydon – Managing Director PLCopen North America Instructor: Introduce self and provide brief biography citing your background and experience. Include teaching and practical experience in introduction. Classmates: If moderator will allow, list companies where participants are from who are participating in seminar. PLCopen North American www.plcopen-na.org blydon@plcopen-na.org
PLCopen Founded in 1992 – Worldwide Organization Vendor Independent - Not for Profit Organization Focus – Open Controls Programming Standards Primary IEC 61131 & Extensions PLCopen is dedicated to improving the automation programming efficiency and productivity of control engineers.
PLCopen Members ABB altus ATOS ATS International Automaton Tooling Systems Baumuller Beckhoff Berger Lahr Rexroth Bosch Group B&R Control Techniques Danfoss Digital Electronics Elau Fuji Electric Japan G&L Motion Control HIMA Honeywell ICS Triplex ISaGRAF Info team Software Industrielle Steuerungstechnik KEBA kirchner SOFT KUKA KW Software LENZE Panasonic ESR Pollmeier GmbH Mitsubishi Electric Nyquist Industrial Control OMRON ORMEC Parker Automation Philip Morris Phoenix Contact Rockwell Automation 3 S Scneider Automation Selectron Systems AG SEW Eurodrive SICK Siemens Softing SMS Demag AG Stober Antriebstechnik TEAM Teco Tevopharm B.V Valiosys Group TOSHIBA TRICONEX YOKOGAWA
PLCopen Worldwide Organization Japan Europe China North America
What is IEC 61131-3 Global Standard: Common Control Programming Software Language and Software Model IEC = International Electrotechnical Commission World Standards Organization Founded in 1906 Electrical & Electronic International Standards Over 50 Participating Countries 1986 Controls Programming Standard Started 1993 IEC 61131 Standard Published 2003 Second Edition Other improvements since. Briefly list/discuss topics to be covered in this section. Aim for maximum of 30 slides on entire course content for presentation. Break the material so the presentation contains 3 question and answer sessions. Where the Q&A should be, place the question/answer slide. This allows input from the audience and gives presenter direction on the interests of the audience. Duration: Spend approximately 60 minutes on all of the seminar material to provide information based on Key Benefits from previous slide. Best format: Present each of the three sections for 20 minutes and then spend 10 minutes on question and answers. IEC 61131 will be described later in this presentation!
Microsoft Headquarters, Munich, Germany Building Automation with IEC 61131 Microsoft Headquarters, Munich, Germany Intelligent Building Automation Standard IEC 61131 Programming 230 Beckhoff BC9000 Controllers HMI: Webpage/Internet Explorer Ethernet TCP/IP I/O 27,500 I/O Points Microsoft Windows CE & XP Standard Ethernet Components Windows CE pocket PCs Room Control via Internet Courtesy of PLCopen Member Company
Building Automation with IEC 61131 Eurotheum (European Central Bank), Frankfurt, Germany Standard IEC 61131 Programming Remote Maintenance Fault Diagnostics Robust PC Technology IT-Port, Unterschleißheim near Munich, Germany Standard IEC 61131 Programming Standard Ethernet 22,000+ I/O Points Courtesy of PLCopen Member Company
IEC 61131 for Building Automation New Tools & Ideas for Buildings 2.0 IEC 61131 for Building Automation IEC 61131 makes sense for Building Automation for the same reasons industrial users prefer IEC 61131.
IEC 61131 Improves Life Cycle Cost of Control Software Development Design Maintenance Specification Commissioning Risk Analysis Integration Verification Refining Coding Testing
Open Architecture Simplifies Automation Automation Trends Controls Engineers Role Broadening Adaptable - Sophisticated Applications Efficiency - Control to Optimize Processes Enterprise – Integration to IT Systems Maintainable - Real-time Maintenance Data Commissioning – Distributed Systems, Wireless Resources - Collaborative Engineering Open Architecture Simplifies Automation (Just as it has in the computer industry.) IEC-61131-3 – Open Programming PLCopen -Applications & Extension
Visual Procedural Assembler Machine Language Software Language Progression Building Automation Computer Industry Industrial Controls Open Open Visual Procedural Assembler Machine Language Languages Today Visual Basic Visual C C++ Java Languages Today IEC 61131-3 Function Blocks Ladder Sequential Charts Instruction List Structured Text Proprietary Proprietary
IEC 61131-3 Industrial Control Programming Tough to Deploy There are many ways to look at part 3 – the programming languages… but just to make sure we are all talking about the same: the IEC 61131-3 deals with the interface between the programmer and the control system or more direct: what this person sees on his screen Standardizes Controls Programming
IEC 61131-3 Industrial Control Programming ... support for people with different backgrounds or, how these people interface to their control, no matter which background / color, or level current environments incorporate them all Meaning: support for teams with people of different level or background. So not only programmers, but also installation and maintenance people
The 6 parts of the IEC 61131 Standard PLCopen Standardization in Industrial Control programming 61131-1 General Overview, Definitions 61131-2 Hardware 61131-3 Programming Languages 61131-4 User Guidelines 61131-5 Messaging Service Specification 61131-7 Fuzzy Logic IEC 61499 – Distributed Applications
Global and Direct Variables / I/O Systems IEC 61131-3 Software Model Configuration (Project) Resource (HW) Resource (HW) Task Task Task Task Program Program Program Program Data Access path FB FB FB FB FB FB FB FB Global and Direct Variables / I/O Systems
IEC 61131-3 : Common Elements Variables & Data types Symbolic representation via labels Restricted area for I/O mapping Hardware independent code Higher transparency & readability Less errors BOOL STRING REAL & LREAL TIME INTEGER ARRAY Within IEC 61131-3, one uses variables with sensible names. In addition one tells what we deal with. In this example we use the variable name Temperature_Sensor_1, because that is a clear name, and we couple this to a datatype integer. Now we know we do not get back a string, telling us the temperature in text, but we get a number back. For the rest of the program we now use the name: this is much more readable and understandable. Why this datatyping? Well, IEC 1131-3 is designed to help you to find errors as early as possible in the programming phase. As you all know, that is the fastest and cheapest way. Now you know if the data is a string, a date, and integer or 16 bits of Boolean input. There is no confusion about this anymore, and there is no conflict between different people using the textual representation (that means, the name of the variable) Defined Data Types VENDOR DEFINED USER DEFINED STRUCTURES
Function Block Diagram (FBD) IEC 61131-3 Languages Ladder Diagram (LD) Function Block Diagram (FBD) Sequential Function Chart (SFC) Structured Text (ST) Instruction List (IL)
Ladder Diagram (LD) Standardized set of relay ladder programming symbols and terminology Electrical Flow Large base of users Boolean equations Easy rules A B C -| |--|/|----------------( ) Ladder Diagram Ladder Diagram, often referred to as Ladder Logic has its roots in North America. It was developed in the 1970 as hard-wired relay panels were converted to PLC wired control systems. The graphical programming language representations are basically from relay symbols, and intended to look similar to electrical schematics. Ladder Diagram has evolved to include other, more complex instructions to take advantage of the programming power of PLC software. Ladder Diagram is still one of the most used programming languages in North America.
Instruction List (IL) Single accumulator based execution model Low Level Programming One operation such as storing a value in the accumulator register, is allowed per line LD A AND B ST C Instruction List Instruction List is a text-based offering that provides all the control and programming instructions supported by Ladder Diagram, and more. It was developed in Germany and has often been the preferred choice within Europe. This language has also grown in popularity within other nations. Instruction List provides for single statements, or instructions, to be written and executed in a line-by-line format.
Structured Text (ST) High level language, block structured Syntax resembles PASCAL, C, C+ Complex statements and nested instructions possible Support for Iteration loops (REPEAT-UNTIL; WHILE-DO) Conditional execution (IF-THEN-ELSE; CASE) Functions (SQURT(); SIN()) Structured Text Structured Text Language is a representation of more modern languages such as C or Pascal. Simple and complex data types as well as simple and complex expressions are possible. Common applications code solved in Structured Text include math calculations, data collection and branching to multiple process choices. Structured Text language is generally used by programmers that have experience in higher- level languages and are used to a structured programming environment, such as the use of subroutines and parameter passing. C:= A AND NOT B If A = FALSE THEN ... CASE Select OF ....
Function Block Diagram (FBD) Graphical Language 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 Function Block Diagram Function Block Diagram originated in Europe, and is commonly used in the process industry. It wires together program elements in a form like circuit diagrams. These blocks or elements are also similar to logic diagrams such as TTL. It is used in many applications that involve the flow of information, due to its graphic representation.
Sequential Function Chart (SFC) Technological programming language for describing sequential controls Structured program draft Description of the process with steps and transitions Clear, easy to understand Application examples Presses Productions lines Process technology Packaging technology Machine tools Batch Process Control – S88 Step 1 Transition Step 2 Action 1 Action 2 Sequential Function Chart Sequential Function Chart (SFC) consists of Steps, linked with Actions and Transitions. Each step represents a particular state of the system. Steps are linked to Actions, performing certain control action. A transition is coupled to a condition, which when true causes the next step to be activated. This sequential behavior of the control program is represented graphically. It origin lies in Petri Nets and France It structures the internal organization of a program by separating the control problem into manageable parts, while maintaining the overview, making it very suitable for diagnostic purposes. SFC supports alternative and parallel sequences, commonly required in batch applications: one sequence for the primary process, a second for monitoring the overall operating constraints.
IDE - Integrated Design Environment (IDE) Multiple Automation and Control Disciplines Process Design Logic Simulation Automatic Documentation Engineering Tools Online Debug Environment Breakpoints Watch Windows Strip chart Recorder Integrated HMI IEC 61131 Controller
Function Block… Self Contained Building Blocks Explicit Data Variables Tag Names Logic Actions/Calculations Inputs Outputs Perfect for Building Automation
Function Block… Self Contained Building Blocks Function Examples And, Or, Xor PID Square Root Add, Subtract, etc. Inputs Outputs
Function Block… Self Contained Building Blocks Send Email Serve UP WEB Pages Dial Up Cell Phone Send Messages (SMS) Send SOAP Messages Send XML Messages Inputs Outputs
BUILD YOUR OWN FUNCTIONS Encapsulation BUILD YOUR OWN FUNCTIONS User Created Object Inputs Outputs Built from standard blocks ...
Your Function Blocks Run In the Controller Ladder Logic Instruction List Structured Text Create Your Own Standards Reuse Tested Code Easily Understood Self Documenting Password Protect Build your own function blocks with Ladder Logic, Instruction List, or Structured Text Your Function Blocks Run In the Controller You Add Functions to the Controller! Function Block Your Own Function Blocks
IEC-61131 Advantages Lower Total Cost of Ownership Significantly Better Price/Performance Leverages Existing Staff Common Training Collaborative Engineering Lower Implementation Cost Lower Maintenance Cost Easily Scaled to Needs Higher Quality Lower Total Cost of Ownership
PLCopen Activities Conformity Reusability Safety XML Portability Motion Control Cyber Security
PLCopen TC3 : Certification …without testing there is no standard… Compliancy certification procedures provided by PLCopen assist users with judging the quality and feasibility of programming tools. It provides a commonly agreed, verifiable basis for module re-usability and for safe investments in further developments. 27
IEC Language XML Schemas PLCopen TC6 : XML Open Development Interface XML formats for IEC 61131-3 IEC Language XML Schemas TC6 has defined an XML schema which acts as an interface between the software tools.
What's next? IEC 61499 – Open Distributed Systems Distributed application standard Encapsulates IEC 61131-3 Program Organization Units (POU) Normative event signals: INIT, RSP, REQ Library of function blocks IEC61499 Function block view Automatic binding between resources
What's next? IEC 61499 – Open Distributed Systems
PLCopen North America www.plcopen-na.org Free Electronic Newsletter Information Resources Bill Lydon, Managing Director North America email: blydon@plcopen-na.org Phone 414-427-5853 Data Acuity, Inc. www.dataacuity.com Representation and Consulting to Automation Software Companies Jim Desrosiers, President email: jimd@dataacuity.com Phone 603-929-9130