ABLogix5000处理器SFC顺序功能图编程应用_第1页
ABLogix5000处理器SFC顺序功能图编程应用_第2页
ABLogix5000处理器SFC顺序功能图编程应用_第3页
ABLogix5000处理器SFC顺序功能图编程应用_第4页
ABLogix5000处理器SFC顺序功能图编程应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AB Logix5000处理器 SFC顺序功能图编程应用江苏华电戚墅堰发电有限公司 贡文明前言:本文从应用角度讲述了Logix5000系统的SFC功能和实际应用方法与技巧,当面对一个复杂的顺序控制时,采用SFC来实现逻辑控制是一个非常好的选择。使用SFC来编写顺控程序速度并不会比使用梯形图快很多,但调试要比使用梯形图简单和方便许多。由于Logix5000的SFC资料全为英文,并且相关的资料非常之少,给初次使用带来了许多不便,使用SFC最重要的是需要了解SFC的的工作原理和一些常用的操作命令,如S,N,P等在各种PLC上他们均基本一致,符合国际标准的定义。本文根据个人使用经验对SFC各语法定义和

2、功能进行了详细描述,对SFC Action功能采用了Basic脚本语言进行了描述。1SFC语言概述IEC61131-3 SFC语言规定将复杂的程序分割为较小的可管理的单元,并描述在这些单元之间的控制流。使用SFC语言,可以设计顺序和并行过程。执行这些单元的时序取决于静态条件和动态条件。一步接着一步地处理生产过程的行为特性特别适用于SFC语言。SFC用步和转换条件构成程序段,步中通过定义操作实现对流程的操纵。通过转换实现流程的按顺序前进。1.1 步 (Step)步是控制流程中相对独立的一组操作的集合。在步中可以定义任意数目的各种类型的操作,通过操作实现对流程的控制。一个步可以是激活状态或不激活状

3、态。步在紧接在前的转换条件满足时激活。步在紧接在后的转换条件满足时退出激活状态。每个SFC程序有一个起始步,该步在第一次执行时默认为激活状态,其余的非起始步默认为不激活状态。步的上面只能接转换、并行分支或选择聚合。步的下面只能接转换、并行聚合或选择分支。步有两种类型:起始步和普通步。起始步在程序刚启动时就处于激活状态,然后程序将按照转换条件的变化按照顺序依次执行。1.2 转换条件 转换是控制从一个步转移到其他步的条件。当转换条件满足时,紧接在前的步从激活态变成不激活态。然后紧接在后的步将从不激活态转变成激活态。只有当所有紧接在前的步的状态都在激活状态时,转换条件才被测试。转换条件由一个变量或一

4、个表达式来定义。转换的上面只能接步、选择分支、并行接合;转换的下面只能接步、选择聚合、并行分支、或跳转分支。1.3 选择分支选择分支提供了在SFC程序中实现条件控制的控制流程选择执行的方法。在选择分支结构中只能有一个分支被激活。分支跳转的优先级从左到右。选择分支和选择聚合必须一一对应。选择分支必须结束于同一选择聚合。1.4 并行分支并行分支使流程中的几个子流程同时进行。各分支的执行同时进行,不相互影响。只有当所有的分支的最后一步都激活时,才测试并行聚合紧接的转换的条件是否满足。并行分支和并行聚合必须一一对应。1.5 操作(Action)操作是对系统变量进行的操纵的描述。一个步中可以有0个或多个

5、操作。操作有多种类型,操作类型由操作限定词来描述。操作可以是一个位号变量,也可以是调用一个子程序。一个操作块包含一个操作连同其执行的条件(称为动作限定词)系统对步的激活和解除激活期间所有步的动作块的执行条件进行监视。1.6 执行顺序一个SFC结构的网络分为一系列步和转换。它们要循环地进行求值和执行。一个步总是处于激活状态或者不激活状态。每一次循环对所有转换的求值,其结果不是TRUE就是FALSE。待处理循环的活动步清单取决于这些步所依赖的转换的计算值。在一个SFC网络中所有指令的执行依照以下算法进行调度。1.6.1 激活初始步(仅在第一次调用时),否则对其后继转换为TRUE的所有步解除激活,并

6、激活紧接这些转换后的所有步。1.6.2 检查所有动作控制的输出。若刚检测到一个TRUEFALSE边沿,则最后一次执行所关联的动作。1.6.3 执行其动作控制所求值为TRUE的所有操作。1.6.4 对转换进行求值,并从步1开始继续循环执行。在SFC网络中没有显性的终点。如果没有后继的转换,则程序不会自动地返回到初始步,SFC程序将停留在最后一个活动步。2Logix5000的SFC功能描述2.1 步(STEP)在RsLogix5000中的属性状态表示如下图所示步变量是一个结构体,结构类型如下:x :激活指示,活动步的x为1 (True)dn:完成指示,步完成后为1(True)t :步运行的时间,单

7、位ms(在LOGIX5000系统中所有的时间单位均为ms)2.2 RSLOGIX5000提供以下几个符合IEC1131-3标准的限定词,即Action类型2.2.1 N:操作在步的整个激活期间激活,随着步退出激活状态恢复成不激活状态。它在步激活期间执行,我通常用它来指示画面步运行时间其工作原理用 Basic语言描述如下:if (step.x) then/执行你的代码end_if;2.2.2 S:操作在步激活后将一直保持激活,与步的失去激活无关。用Basic语言描述就如下:if (step.x or step.dn) then/执行你的代码end_if;当然你如果仅仅需要在步活动期间执行就可以在

8、S命令里面输入if (step.x) then/执行你的代码end_if;如果仅仅需要在步完成以后执行就可以在S命令里面输入if (step.DN) then/执行你的代码end_if;由于SFC逻辑同样是循环扫描原理工作,代码会一直反复执行。2.2.3 R:操作在步激活后将一直保持在不激活状态。 此操作的作用是用于在当前步停止其它正在执行的操作,如某步有个S操作,由于步退出后该操作仍然继续在执行,如果要让它停止执行,就可以使用R操作。2.2.4 L:操作在步激活后在限定的时间内保持激活,超出时间恢复成不激活状态,若在此期间步失去激活,则该动作也变为不激活状态。 该操作需要设置一个限制时间,单

9、位为ms。该功能的Basic语言描述如下:If (step.x and step.t<settime) then/工作代码end_if;2.2.5 D:操作在步激活后经过限定的时间后,变为激活状态,随着步变成不激活状态,操作恢复成不激活。 该操作需要设置一个限制时间,单位为ms,如果在限定的时间内步已经变成不激活状态,则操作无效。该功能的Basic语言描述如下:If (step.x and step.t>settime) then/工作代码end_if;2.2.6 P:操作在步激活后只激活执行一次,失去激活后执行一次,然后恢复成不激活状态。 在步的状态发生变化后执行一。2.2.7

10、P0:操作在步从激活变成不激活的一个程序扫描周期激活,然后恢复成不激活状态。2.2.8 P1:操作在步从不激活变成激活的一个程序扫描周期内激活,然后恢复成不激活状态。很有用,经常被用来产生设备控制命令脉冲通常可以用来发送设备控制命令的脉冲该功能的Basic语言描述如下:if (step.x and step.t=0) then/你的代码end_if;在N,S,L操作的命令内输入上面的程序可以实现P1相同的功能。2.2.9 DS:操作在步激活后维持限定的时间后,变为激活状态,并一直维持。如果步在维持限定时间内变成不激活,则操作不激活。该功能的Basic语言描述如下:If (step.x and

11、step.t>settime) then Start = trueend_if;if (start) then/工作代码end_if;2.2.10 SD:操作在步激活后经过限定时间后,变为激活状态,并一直维持,与步的失去激活无关。If step.x then start=true该功能的Basic语言描述如下:If (start and step.t > settime) then/工作代码end_if;2.2.11 SL:操作在步激活后在限定的时间内保持激活,超出时间恢复成不激活状态,与步的失去激活无关。该功能的Basic语言描述如下:If step.x then start=t

12、rueIf (start and step.t < settime) then/工作代码end_if;2.3 RsLogix5000中的步类型2.3.1 初始步 初始步时每个SFC逻辑必须的第一个步。 通常在初始中执行顺序流程的初始化操作。 初始步一但被执行,该SFC逻辑便处于扫描执行状态。2.3.2 工作步 除初始步时以外的步均为工作步。2.3.3 结束标志 作为SFC逻辑的运行结束标志。 无任何操作功能,处理器执行到该位置停止该SFC功能块的继续执行。2.4 RsLogix5000 SFC逻辑控制方法2.4.1 扫描调用 采用JSR功能块调用SFC子程序。2.4.2 重头开始运行 使用SFR功能块停止当前任何执行工作,初始化SFC子程序,从初始步开始执行。2.4.3 暂停运行 使用SFP的PAUSE功能暂停SFC子程序运行2.4.4 恢复运行 使用SFP的Execute(Continue)恢复暂停的SFC子程序继续运行3SFC使用心得 SFC一般需要梯形图或FDB逻辑的配合才能完成整个控制功能,通常使用梯形图实现设备控制操作等逻辑处理功能,使用SFC实现顺序控制功能,SFC最适合用来设计流程处理类逻辑(如化水程控系统中的反洗、再生等过程)。在处理复杂流程的时候,适当的分解复杂的操作步可以为调试工作减少时间。在可能需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论