自动化软件设计IEC61131-3标准专题(四)

http://www.huishouceo.com 2015年09月19日        

IEC 1131-3 的编程语言(一):图形化语言


  本篇继续介绍IEC 1131-3的三种编程语言:功能块图(FBD)、梯形图(LAD)和顺序功能流程图(SFC)。

  一、功能块图(FBD - Function Block Diagram)

  功能块图用来描述功能、功能块和程序的行为特征,还可以在顺序功能流程图中描述步、动作和转变的行为特征。功能块图与电子线路图中的信号流图非常相似,在程序中,它可看作两个过程元素之间的信息流。功能块图普遍地应用在过程控制领域。

  功能块用矩形块来表示,每一功能块的左侧有不少于一个的输入端,在右侧有不少于一个的输出端,功能块的类型名称通常写在块内,但功能块实例的名称通常写在块的上部,功能块的输入输出名称写在块内的输入输出点的相应地方。

  1.1 功能块图的信号流

  在功能块网路中,信号通常是从一个功能或功能块的输出传递到另一个功能或功能块的输入。信号经由功能块左端流入,并求值更新,在功能块右端流输出。
  
布尔信号的取反

  在使用布尔信号时,功能或功能块的取反输入或输出可以在输入端或输出端用一个小圆点来表示,这种表示与在输入端或输出端加一个“取反”功能是一致的。如下图是一功能块图取反的实例。

  l 信号反馈

  功能块图允许功能块的输出反馈回网路左侧的功能块输入,形成反馈路径。下图是一功能块反馈路径的实例,功能块Load1的输出端Level反馈回功能块Loop1的输入端ProcessValue。

  1.2 功能块网路设计

  功能块图的设计首先应该保证主信号流的线路清晰,避免过多的信号跨接和线路方向改变。

  1.3 功能的执行控制

  功能块图网路中的功能执行控制隐含地从各功能所处的位置中表现出来。每一功能的执行隐含地是由一个输入使能EN控制,该输入EN是一个布尔类型变量,允许功能有选择的求值。当输入EN为TRUE时,该功能就执行,否则,功能不执行。功能的输出ENO也是一个布尔变量,当ENO从FALSE变成TRUE就表明功能已经完成了求值。

  1.4 跳转和标注

  功能块图允许使用“Jump”功能使得功能块图控制从程序的一个部分跳转到另一个由标识符“Lable”标识的部分继续执行。如下图是一个跳转的实例:当GasLevel的值超过0。15时,相应的控制即转移到有表识符GAS_ALARM的程序段继续执行。

  1.5 结构化文本与功能块图之间的转换特点

  功能块图中的大部分程序能够转换为结构化文本。

  结构化文本程序能够容易地转化为功能、功能块及其相关的参数值。

  结构化文本直接转化为功能块网路是很困难的,IF…THEN, CASE,FOR, WHILE,

  REPEAT格式的语句还不能直接转换为功能块网路。

  1.6 连续功能流程图(CFC-Continuous Function Chart)

  连续功能流程图是功能块图的一种特殊形式,它用于描述资源的顶层结构以及程序和功能块对任务的分配。

  连续功能流程图和功能块图之间的主要区别是资源和任务分配的不同。每一功能用任务的名称来描述,如图所示。程序也是箱是的情况。如果一个程序内的功能块象它的父程序一样在相同的任务下执行,任务关联是隐含的。在这种情况下,任务名称就没有必要显示在功能块中。连续功能流程图如图7所示。

  1.7 功能块图应用实例

  如图是一个功能块应用的实例,该实例描述了用功能块控制空气风门的情况。信号ReqOpen以及ReqClose给出了所要求的风门的位置,该位置被保存在RS双稳态功能块中,来自“Position” 功能块输出及转换输出用于用于产生DemandOpen和DemandClose信号,这些信号驱动风门转动到合适的位置。
  
  风门上的限位开关OpenLS和CloseLS返回的是风门的实际位置信号。限位开关信号与要求的风门位置进行与比较,如果任何一个校对失败,比如风门已打开到要求的位置,而限位开关OpenLS处于false,延时计时器将起动。如果风门未按要求移动到要求的位置并且在限定的有限时间MoveTimeOut内不能确定限位开关的情况,定时器Timer1将产生Discrepancy信号。
  
  二. 梯形图(LD-Ladder Diagram)

  梯形图IEC 1131-3的三种图形化编程语言种一种,它可被用来描功能,功能块和程序即程序组织单元(POU-Porgramm Orgnization Unit)的行为,以及顺序功能图(SFC - Sequential Function Charts)中的行为和转移。

  2.1 LD背景

   梯形图来源于美国,它基于图形表示的继电器逻辑,是PLC编程中被最广泛使用一种图形化语言。梯形图程序的左、右两侧有两垂直的电力轨线,左侧的电力轨线名义上为功率流从左向右沿着水平梯级通过各个触点、功能、功能块、线圈等提供能量,功率流的终点是右侧的电力轨线。每一个触点代表了一个布尔变量的状态,每一个线圈代表了一个实际设备的状态,功能或功能块与IEC 1131-3中的标准库或用户创建的功能或功能块相对应。一简单的梯形图程序如图(一)所示。

  2.2 IEC 1131-3的LD图形符号

  IEC 1131-3中的梯形图(LD)语言是对各PLC厂家的梯形图(LD)语言合理地吸收、借鉴,语言中的各图形符号与各PLC厂家的基本一致。IEC 1131-3的主要的图形符号包括:1.触点类:常开触点、常闭触点、正转换读出触点、负转换触点。2. 线圈类:一般线圈、取反线圈、置位(锁存)线圈、复位去锁线圈、保持线圈、置位保持线圈、复位保持线圈、正转换读出线圈、负转换读出线圈。 3. 功能和功能块:包括标准的功能和功能块以及用户自己定义的功能块,图形太多这里未给出。

  2.3 IEC 1131-3的LD编程

  2.3.1 在梯形图中连接功能块

  功能块能被连接在梯形图的梯级中,每一功能块有相应的布尔输入和输出量。输入量可以被梯形图梯级直接驱动,输出可以提供驱动线圈的功率流。在每一个块上至少应有一个布尔输入和布尔输出以允许功率流通过这个块。功能块可以是标准库中的也可以是自定义的。如下图二是一个在梯形图中连接功能块以驱动电动马达的实例。

  2.3.2 在梯形图中连接功能

  每一个功能有一个附加的布尔输入EN和布尔输出ENO。EN提供了流入功能的功率流信号;ENO提供了可用来驱动其它功能和线圈的功率流。如下图三是在梯形图中连接功能的实例,第一个功能是在三个数中取最大,第二个功能是从第一功能输出的最大数与1000.0比较,根据比较1000.0的大小来控制线圈COOL。

  2.3.3 在梯形图中有反馈回路

  在梯形图程序中可包含反馈回路,例如,在反馈回路中,一个或多个触点值被用作功能或功能块的输入的情况。如图三是在梯形图中有反馈回路的情况。

  2.3.4 梯形图中使用跳转和标注

  使用梯形图的跳转功能使得梯形图程序可以从程序的一个部分跳转到由一个标识符标识的另一部分。如下图四是在梯形图中使用跳转和标注的实例,当变量OXYGEN或PRESSURE是OFF,控制即转移到由SPARGE标识的控制程序处执行。

  2.4 ST、FBD及LD之间的可移植性
  
简单的主要包含“与”和“或”逻辑梯形图程序可以与结构化文本程序转换;在大部分的情况下,梯形图程序可以与功能块图程序进行转换。
  
用结构化文本描述的功能可以直接与梯形图、功能块转换除简单的逻辑描述外,由结构化文本程序到梯形图程序的转换常常是不可能的。

  2.5 梯形图编程

  如图五是一个用梯形图编写的火灾报警程序。FD1,FD2和FD3 是三个火灾探测器,

  MAN1是一个手动按钮,用来触发火灾报警。当三个探测器中的任两个或三个全部探测到有火灾情况发生时,于是Alarm_SR功能块驱动报警线圈报警。ClearAlarm按钮清除报警。当有一个探测器处于ON,相应的火灾警告指示灯亮。如果该指示灯在报警清除后继续保持亮,就表明该探测器或者有错,或者在该探测器的附近有火灾。
  
  三. 顺序功能流程图(SFC-Sequential Function Chart)

   顺序功能流程图是IEC 1131-3三种图形化语言中的一种,是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。

  3.1 顺序功能流程图的基本概念

  顺序功能流程图可以由步、有向连线和过渡的集合描述。如下图反映了SFC的主要特征。

  
  步用矩形框表示,描述了被控系统的每一特殊状态。MFC中的每一步的名字应当是唯一的并且应当在MFC中仅仅出现一次。一个步可以是激活的,也可以是休止的,只有当步处于激活状态时,与之相应的动作才会被执行,至于一个步是否处于激活状态,则取决于上一步及过渡。

  有向连线

  有向连线表示功能图的状态转化路线,每一步是通过有向连线连接的。

  过渡

  过渡表示从一个步到另一个步的转化,这种转化并非任意的,只有当满足一定的转换条件时,转化才能发生。转换条件可以用ST、LD或FBD来描述。转换定义可以用ST、IL、LD或FBD来描述。过渡用一条横线表示,可以对过渡进行编号。

  动作(action)

  每一步是用一个或多个动作(action)来描述的。动作包含了在步被执行时应当发生的一些行为的描述,动作用一个附加在步上的矩形框来表示。每一动作可以用IEC的任一语言如ST、FBD、LD或IL来编写。每一动作有一个限定器(Qulifier),用来确定动作什么时候执行;标准还定义了一系列限定器(Qulifier),精确地定义了一个特定与步相关的动作什么时候执行。每一动作还有一个指示器变量,该变量仅仅是用于注释。动作的表示如下图所示:

  l 转化规则

  顺序功能流程图的任一步可能是激活的,也可能是休止的,与之相应的动作(Action)只有在步处于激活状态时,方能被执行,所以,步被激活和被休止的过程编确定了系统的行为。初始状态是指指令运行的开始即被激活的那个状态,这个步的标志为S0。每个过程都可以是有效的,也可以是无效的,只有紧接其前的各个阶段都处于激活状态时,过渡才是有效的,只有同时满足(1)过渡是有效的 (2)过渡对应的接受特性为真,与过渡相连的下一步方能处于激活状态,同时,紧接其前的各个步全部被休止。当几个过渡可以同时被超越时,他们将同时被超越。

  3.2 顺序功能流程图(SFC)的几种主要形式

  按着结构的不同,顺序功能流程图(SFC)可分为以下几种形式:单序列控制、同时序列控制、分支结构序列、转移序列和起始步。

  3.3 顺序功能流程图(SFC)的程序执行

  顺序功能流程图(SFC)程序的执行应遵循相应的规则,每一程序组织单元(POU)与一任务(task)相对应,任务负责周期性地执行程序组织单元(POU)内的IEC程序,顺序功能流程图(SFC)内的动作也是以同样周期被执行。

  3.4 对不安全的SFC的处理

  SFC编译器有能力采用相应的算法检测到某些结构不安全的SFC。如果一个完全整个流程图能分解为一个单步,该SFC就是安全的,否则是不安全的。

  3.5 SFC编程举例

  我们现在用SFC编写一个工业电梯(lift)程序。电梯(lift)系统如图所示。电梯通过一个电动绞车控制上升或下降,可按要求停止在任一楼层。当电梯将到达某一被选楼层的位置时,一微型接近开关(Proximity Switch)起作用并发出信号,让电梯减速并停在正确的位置。当电梯停下后,门微动开关(Floor Switches)起作用并将门打开。该工业电梯(lift)的MFC程序如图所示。

  程序从“Init”起始步开始。主要顺序从“DoorOpen”步开始,依次执行“Shutting”步、“MoveLeft”步、“Inching”步、 “Stopping”步、 “Opening”步等,最终实现对电梯的顺序控制。

[上一个新闻资讯]:自动化软件设计IEC 61131-...
阅读技巧:键盘方向键 ←左 右→ 翻页
[下一个新闻资讯]:自动化软件设计IEC 61131-...
Copyright @ 沈阳废品回收    电子邮件:
沈阳荣汇物资回收有限公司   电话:13252826888