梯形图编程语言使用标准化图形符号表示程序执行时各元素状态的传递过程。这些图形符号类似于继电器梯形逻辑图的梯级表示的形式描述各组成元素。梯形图编程语言是历史最久远的一种编程语言。梯形图源于电气系统的逻辑控制图,逻辑图采用继电器、触点、线圈和逻辑关系图等表示它们的逻辑关系。
梯形图采用的图形元素有电源轨线、连接元素、触点、线圈、函数和功能块等。
1.电源轨线
梯形图电源轨线(Power rail)的图形元素是位于梯形图左侧和右侧的两条垂直线,也称为母线。位于左侧的垂直线称为左电源轨线,或左母线;位于右侧的垂直线称为右电源轨线,或右母线。梯形图中必须绘制左电源轨线,但右电源轨线可隐含而不画出。
图3-3表示左电源轨线、右电源轨线和附加的水平连接线。
梯形图中,能流从左电源轨线开始,向右流动,经连接元素和其他连接在该梯级的图形元素后到达右电源轨线。采用图形元素的状态表示能流的流动状态。
2.连接元素和状态
梯形图中,各图形符号用连接元素(Linkelement)连接。连接元素的图形符号用水平线和垂直线表示。图3-4是水平和垂直连接元素的图形表示。
图3-3 电源轨线的图形表示
图3-4 连接元素的图形表示
a)水平连接元素 b)垂直连接元素(带连接的水平连接)
连接元素的状态是一个布尔量。连接元素将最靠近该元素左侧图形符号的状态传递到该元素的右侧图形元素。因此,某一连接元素的状态为1,表示最靠近该元素左侧图形符号的图形元素状态为1,或表示能流已经流过左侧图形符号表示的图形元素。反之,如果某一连接元素的状态为0,表示最靠近该连接元素左侧图形符号的图形元素状态为0,或能流不能流过左侧图形符号表示的图形元素。
连接到左电源轨线的连接元素,其状态在任何时刻为1,它表示左电源轨线是能流的起点。右电源轨线类似于电气图中的零电位,因此,对右电源轨线不定义其状态。
水平连接元素将直接连接在它左面元素的状态传送到直接连接在它右面的元素。垂直连接元素的状态表示连接在它的左侧的水平连接的状态ON的线或,即垂直连接元素的状态由下列规则确定:
1)所有连接到它的左面的附加的水平连接元素的状态都为OFF,则该垂直连接元素的状态为OFF。
2)如果至少有一个连接到它左面的附加水平连接元素的状态为ON,则该垂直连接元素的状态为ON。
3)垂直连接元素的状态可复制到所有附加到与它右面连接的水平连接元素。垂直连接元素的状态不能复制到在它左面连接的所有附加的水平连接元素。
图3-5 连接元素及状态的示例
【例3-3】连接元素及状态传递的示例。
图3-5是连接元素及其状态的示例。连接元素1与左电源轨线连接,其状态为1;连接元素2与连接元素1连接,其状态从连接元素1传递,因此,其状态为1;连接元素3是垂直连接元素,它与水平连接元素1连接,由于连接元素1的状态为1,因此,连接元素3的状态为1;同样,连接元素3的状态传递给连接元素4,使连接元素4的状态为1。连接元素2和4将其状态1传递给图形元素5和6,由于图形元素5和6为常开触点,因此,连接元素7和8的状态经图形元素的传递而成为0;由于连接元素9的左侧所有水平连接元素的状态为0,因此,连接元素9的状态也为0。
如果图形符号5的状态为1,即闭合状态,则连接元素7的状态为1,从而使连接元素9的状态为1。同样,如果图形符号6的状态为1,即闭合状态,则连接元素8的状态为1,它也使连接元素9的状态为1。
4)连接元素的输入和输出数据类型必须相同。标准中,触点和线圈等图形元素的数据类型并不局限于位,因此,连接元素的输入、输出数据类型相同才能保证状态正确传递。
3.触点(www.xing528.com)
触点是梯形图图形元素。梯形图的触点(Contact)沿用电气逻辑图的触点术语,用于表示布尔变量状态的变化。触点是向其右侧水平连接元素传递一个状态的梯形图元素。该状态是触点左侧水平连接元素状态与相关变量和直接地址状态进行布尔与运算的结果。触点不改变相关变量和直接地址的值。
按静态特性分类,触点分为常开(Normally Open,NO)触点和常闭(Normally Closed,NC)触点。常开触点指在正常工况下,触点断开,其状态为0。常闭触点指在正常工况下,触点闭合,其状态为1。
按动态特性分类,触点分为正跳变触发触点(Positive Transition-sensing Contact,也称上升沿触发触点)和负跳变触发触点(Negative Transition-sensing Contact,也称下降沿触发触点)。表3-6是触点图形元素的图形符号表示。
IEC 61131-3第三版增加了比较触点。触点不修改相关布尔变量的值。
表3-6 梯形图编程语言使用的触点图形符号
触点的状态传递规则如下:
1)静态触点的左侧图形元素状态为1时,才能将其状态传递到触点的右侧图形元素。如果触点状态为1,则该触点右侧图形元素的状态为1;如果触点状态为0,则该触点右侧图形元素的状态为0。
2)静态触点的左侧图形元素状态为0时,不管触点的状态如何,都不能将其状态传递到触点的右侧图形元素,即其右侧图形元素的状态为0。
3)正跳变触发触点在触点左侧图形元素状态为1的同时,其有关变量从0转变为1,则该触点的右侧图形元素状态从0跳变到1,并保持一个求值周期,然后自动跳变到0。其他时间该触点右侧图形元素状态为0。这称为上升沿触发。
4)负跳变触发触点在触点左侧图形元素状态为1的同时,其有关变量从1转变为0,则该触点的右侧图形元素状态从0跳变到1。并保持一个求值周期,然后自动跳变到0。其他时间该触点右侧图形元素状态为0。这称为下降沿触发。
5)比较触点用于替代比较函数。比较触点从一次求值到下一次,当左侧连接元素状态为ON,及操作数1和2的比较<cmp>结果为TRUE,则右侧连接元素的状态为ON;否则,右侧连接元素的状态为OFF。比较的数据类型可以列出或根据操作数的数据类型。
4.线圈
线圈是梯形图的图形元素。梯形图中的线圈(Coil)沿用电气逻辑图的线圈术语,用于表示布尔变量状态的变化。线圈是将其左侧水平连接元素状态毫无改变地传递到其右侧水平连接元素的梯形图元素。在传递过程中,将左侧连接的有关变量和直接地址的状态存储到合适的布尔变量中。
表3-7是梯形图编程语言使用的线圈图形符号。
表3-7 梯形图编程语言使用的线圈图形符号
注:线圈图形符号也可用圆或椭圆表示。***表示线圈的布尔变量名称。线圈的状态是该布尔变量的值。
5.函数、方法和功能块
梯形图编程语言支持函数、方法和功能块的调用。梯形图中,函数、方法和功能块用一个矩形框的模块表示。函数可以有多个输入参数和一个返回参数。功能块可以有多个输入和多个输出参数。输入列于矩形框的左侧,输出列于矩形框的右侧。函数和功能块名称显示在框内的上中部,函数和功能块的实例名列于框外的上中部。用函数和功能块的实例名作为其在项目中的唯一识别。但需要注意下列事项:
1)可选择显示实际变量的连接,可以直接将实际参数值或变量填写在该内部形参变量名的模块外部的连接线附近。
2)为便于表示能流流过该模块,至少应在每个模块显示一个布尔输入和一个布尔输出。
3)输入或输出变量的取反可用NOT函数或直接在连接线处绘制圆。实际应用时,可选中相应的参数,并从弹出对话框选中选择取反函数,其图形显示通常为圆。
4)函数和方法调用时,如果有EN和ENO的专用输入-输出参数对其进行控制,则当EN左侧连接元素的状态为1时,该函数被执行,同时ENO被置1,它将状态传递到函数和方法右侧的连接元素;当EN左侧连接元素的状态为0时,该函数不被执行,所有输出保持原值,ENO被置0,通常,该状态被作为报警或事件的触发信号。
5)如果没有EN和ENO专用输入-输出参数,则函数、方法和功能块自动执行,并将允许的状态传递到下游。功能块调用时,至少应有一个输入和输出参数是布尔数据类型。这些变量必须有一个与左电源轨线和右电源轨线进行直接或间接的连接。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。