1、天道酬勤IEC61131-3标准编程语言王保飞【】IEC 国际电工委员会61131-3是IEC61131国际标准的第三局部,是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。本文通过对IEC61131-3标准的深入分析并通过举例,探讨自动化工程师在编写PLC程序时如何符合国际标准。如何编写程序才能使程序具备可移植性。【关键词】IEC61131-3 国际电工委员会 PLC 编程语言前言:在开发PLCProgrammable Logic Controller的早期阶段,并没有一个统一的国际标准。不同的自动化制造厂依据自己的习惯,使用自己的编程语言。这些编程语言不管从内容上还有形式
2、上来看都不尽相同。然而美国公司却更加喜欢由继电器控制逻辑而衍生的梯形图语言和控制鼓。法国公司那么使用了除梯形图语言之外的另一种语言GRAFCET语言,这种语言更加适合完成顺序控制。这对PLC程序的编制带来了不便。为此国际电工技术委员会IEC于1993年正式公布了IEC 1131-3的国际标准。并由IEC的第七工作组在其根底上制定了新的IEC61131-3的标准。一、编程语言结合各大公司的PLC系统,使标准具有更加宽泛的应用范围。IEC 61131-3共定义了两大类共计5种编程语言。指令表Instruction List,IL;结构化文本Structured Text Language,STL;
3、梯形图Ladder Diagram,LD;功能块图Function Block Diagram,FBD;顺序功能图Sequential Function Chart,SFC。二、文本类文本类语言顾名思义就是编写一条接一条的文本指令。而后通过这些指令形成有效地控制逻辑。文本类语言包含指令表与结构化文本两个局部。一指令表Instruction List指令表是类似组合语言的低阶语言。它与汇编语言有些相似。虽然指令表是最单调的编程语言,编程可阅读性差,不利用非计算机专业工程师理解,但是其程序的高效性與执行速度是其它语言所不具备的。在IEC 61131-3标准中指令表定义了四类操作符:一般操作符、比拟
4、操作符、跳转操作符和调用操作符。1一般操作符在程序中经常使用,是构成程序的重要组成。例如:转入指令LD ;逻辑指令AND与、OR或;算数指令ADD加、SUB减、MUL乘、DIV除等。2比拟操作符是用于比拟大小的,它包括:GT大于、LE小于、EQ等于等。3程序控制操作符:JMP跳转、CALL调用等。二结构化文本Structured Text结构化文本是一种高级程序语言,它有些类似Pasical程序语言,其语法也类似Pasical。它不采用底层的面相机器操作符,它具有大量的语句可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。相对于指令表来说结构化ST语言更是
5、易学易用。此外,结构化文本语言还易读易理解,特别是使用有实际意义的标识符、批注来注释时,更加容易理解程序的含义。结构化文本语言的典型语句类型包括:赋值语句、程序控制语句、判断选择语句、循环语句等。1结构化文本定义了一些操作符主用于算数运算与逻辑运算。例如:逻辑运算符AND、OR;算数运算符+、-、x、/、=等;2赋值语句不但可以完成简单的赋值也可以完成较为复杂的数组或结构赋值。执行赋值操作时,等号左边是操作数,右边是被赋予的表达式的值,例如:%MW52:=9527;3程序控制语句用于在程序中调用功能块。在功能块被调用时,输入参数会被分配为默认值;执行完毕后,输入参数值保存为最后一次调用的值。功
6、能块调用和函数调用不同,函数调用时一个表达式,儿功能块调用是一条语句,他没有返回值。4判断选择语句的功能是,某一条件满足时执行相应的选择语句。例如:IFTHENELSE条件语句,该选择语句依据不同的条件分别执行相应THEN及ELSE语句;CASE 条件语句,该选择语句的执行方向取决于CASE语句的条件, 并有一返回值。三、图形类图形类语言指使用者以拖拽拼图的方式开发出应用程序,不需要任何的代码编写。这样就大大降低了PLC编程的门槛。图形类编程语言主要包括:梯形图、顺序功能图、功能块图。一梯形图 LaDder Logic梯形图起源于美国,它最初是用来表示继电器逻辑关系的,直观易理解,很容易被电气
7、工作人员所掌握。它特别适用于开关量逻辑控。梯形图包含一系列的网络类似电路中的正负极,网络连接各种类型的触点、线圈和用方框表示的功能块。梯形图编程就像设计电路。梯形图中的许多元件符号仍旧使用继电器这一名称,例如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是在用户程序中使用的编程元件。二功能块图Function Block Diagram功能块图起源于信号处理领域。功能块图是一种类似于数字逻辑门电路的编程语言,有数字电路根底的人比拟容易掌握。该编程语言用类似与门、或门和非门的方框来表示逻辑运算关系,它将各种功能块连接起来实现所需控制的功能,其图形由功能、功能块和连接元
8、素组成。方框的左边为逻辑运算的输入变量,右边为输出变量,信号由左向右流动。三顺序功能图Sequential Function Chart顺序功能图源自于法国,它将整个控制流程分割为一系列的控制步,并描述程序的执行顺序和控制条件。顺序功能图是一种位于其他编程语言之上的图形语言,主要用来编制顺序控制程序。顺序功能图提供了一种组织程序的图形方向,可以用来描述系统的功能,根据它可以很容易画出梯形图。四、总结IEC61161-3继承了在PLC开展过程中的多种特点明显的多样化编程语言,为PLC技术的进一步开展提供了广阔的空间。我们在编程过程中尽可能的遵循这一标准,为PLC程序在不同机型之间的移植提供便利。参考文献:1IEC 61131-3 编程语言,2003.