A standard programming interface allows people with different backgrounds and skills to create different elements of a program during different stages of the software lifecycle such as, specification, design, implementation, testing, installation and maintenance. According to the PLC Open organization, standardizing the programming interface harmonizes the way people design and operate industrial control.
The primary standard available for programmable logic controller (PLC) programming is defined in IEC 61131. This standard has been embraced by many other international standards organizations. For example, the American National Electrical Manufacturers Association (NEMA) standard IA 2.3-2005 is based on IEC 61131-3 as is the British Standard BS EN 61131-3.
IEC 61131, this standard is broken down into:
• IE 61131-1 Programmable controllers – Part 1: General information.
• IEC 61131-2:2003 Programmable controllers – Part 2: Equipment requirements and tests.
• IEC 61131-3:2003 Programmable controllers - Part 3: Programming languages.
• IEC 61131-4:2004 Programmable controllers – Part 4: User guidelines.
• IEC 61131-5:2000 Programmable controllers – Part 5: Communications.
• IEC 61131-7: Programmable controllers – Part 7: Fuzzy control programming.
• IEC 61131-8:2003 Programmable controllers – Part 8: Guidelines for the application and implementation of programming languages.
The main sections of interest from a PLC programming standards standpoint are IEC 61131-3; 61131-4 and 61131-8.
IEC 61131-3 specifies syntax and semantics of programming languages for programmable controllers, 61131-4 is general in nature but does address some safety related matters, while 61131-8 applies to the programming of programmable controller systems using the programming languages defined in IEC 61131-3. It also provides guidelines for the implementation of these languages in programmable controller systems and their programming support environments (PSEs).