AB_Logix5000处理器_SFC顺序功能图编程应用
- 格式:doc
- 大小:107.50 KB
- 文档页数:9
AB Logix5000处理器SFC顺序功能图编程应用贡文明前言:本文从应用角度讲述了Logix5000系统的SFC功能和实际应用方法与技巧,当面对一个复杂的顺序控制时,采用SFC来实现逻辑控制是一个非常好的选择。
使用SFC来编写顺控程序速度并不会比使用梯形图快很多,但调试要比使用梯形图简单和方便许多。
由于Logix5000的SFC资料全为英文,并且相关的资料非常之少,给初次使用带来了许多不便,使用SFC最重要的是需要了解SFC的的工作原理和一些常用的操作命令,如S,N,P等在各种PLC上他们均基本一致,符合国际标准的定义。
本文根据个人使用经验对SFC各语法定义和功能进行了详细描述,对SFC Action功能采用了Basic脚本语言进行了描述。
1.SFC语言概述IEC61131-3 SFC语言规定将复杂的程序分割为较小的可管理的单元,并描述在这些单元之间的控制流。
使用SFC语言,可以设计顺序和并行过程。
执行这些单元的时序取决于静态条件和动态条件。
一步接着一步地处理生产过程的行为特性特别适用于SFC语言。
SFC用步和转换条件构成程序段,步中通过定义操作实现对流程的操纵。
通过转换实现流程的按顺序前进。
1.1 步 (Step)步是控制流程中相对独立的一组操作的集合。
在步中可以定义任意数目的各种类型的操作,通过操作实现对流程的控制。
一个步可以是激活状态或不激活状态。
步在紧接在前的转换条件满足时激活。
步在紧接在后的转换条件满足时退出激活状态。
每个SFC程序有一个起始步,该步在第一次执行时默认为激活状态,其余的非起始步默认为不激活状态。
步的上面只能接转换、并行分支或选择聚合。
步的下面只能接转换、并行聚合或选择分支。
步有两种类型:起始步和普通步。
起始步在程序刚启动时就处于激活状态,然后程序将按照转换条件的变化按照顺序依次执行。
1.2 转换条件转换是控制从一个步转移到其他步的条件。
当转换条件满足时,紧接在前的步从激活态变成不激活态。
SFC顺序功能图编程教案第一章:SFC顺序功能图概述1.1 SFC简介1.2 SFC与PLC编程1.3 SFC编程的基本概念1.4 SFC编程的应用范围第二章:SFC顺序功能图的基本元素2.1 状态(State)2.2 转换(Transition)2.3 活动(Activity)2.4 决策(Decision)2.5 并行与顺序执行第三章:SFC顺序功能图的绘制3.1 SFC图的符号表示3.2 状态的表示方法3.3 转换的表示方法3.4 活动的表示方法3.5 决策的表示方法第四章:SFC顺序功能图的编程实现4.1 SFC编程软件的选择与使用4.2 SFC编程的基本步骤4.3 状态编程4.4 转换编程4.5 活动编程4.6 决策编程第五章:SFC顺序功能图编程实例解析5.1 实例一:简单的机器控制系统5.2 实例二:复杂的生产线控制系统5.3 实例三:电梯控制系统5.4 实例四:自动化仓库控制系统5.5 实例五:智能交通控制系统第六章:SFC高级状态编码技术6.1 状态编码的基本概念6.2 高级状态编码技术6.3 状态编码的优化6.4 状态编码在SFC编程中的应用第七章:SFC中的数据处理与变量管理7.1 SFC中的数据类型与结构7.2 变量管理7.3 数据处理与运算7.4 数据在SFC编程中的应用实例第八章:SFC顺序功能图的调试与优化8.1 SFC编程的调试方法8.2 调试工具的使用8.3 SFC程序的性能分析8.4 SFC程序的优化技巧第九章:SFC在工业自动化中的应用案例分析9.1 工业自动化背景介绍9.2 SFC在典型工业自动化设备中的应用9.3 SFC在工业生产线上的应用案例9.4 SFC在其他工业领域中的应用案例第十章:SFC顺序功能图编程的未来发展趋势10.1 SFC编程技术的发展历程10.2 SFC编程技术的现状10.3 SFC编程技术的未来发展趋势10.4 行业对SFC编程技术的最新需求重点和难点解析一、SFC顺序功能图的基本概念和元素难点解析:理解SFC图中不同元素之间的逻辑关系和执行顺序。
罗克韦尔AB PLC RSLogix5000中计数器指令使用方法介绍
计数器指令:
增计数器指令CTU
管脚功能说明如下:
PRE:预设值,即目标计数值
ACC:累加值,即当前计数值
CU:增计数使能,梯级条件成立时置位,累加值加1
DN:完成位,累加值大于等于预设值时,完成位置1
CTU是输出指令,位于梯级的右边,当梯级有一个正向脉冲时,指令使能,并产生加1的操作,常用于计数。
时序图如下所示:
举例:
如下图所示,每检测到输入信号的一个上升沿,则计数值加1,当等于预设值时,计数器完成位DN被置ON,当收到复位信号时,计数器复位
注意:计数器指令与定时器指令有一个很大的不同,即计数器计数只跟梯级条件有关,不管状态位是什么状态,都不会停止计数。
减计数指令CTD
梯级条件每跳变一次,累加值减1
时序图如下所示:
举例:每次检测到输入信号的上升沿时,计数器从当前值开始减1
双计数指令:(加计数和减计数都可以)
时序图如下图所示,
举例:
复位指令RES
RES指令用于定时器和计数器的累加值和结构体的状态位全部清零
结构体标签如下图所示:
使用方法:在RES指令上添加要复位的指令
注意点:
复位操作不适用于非保持型的指令,尤其是TOF指令,因为TOF的复位,状态位不是全部清零。
PLC顺控指令SFC的编程方法顺序功能图(Sequeential Function Chart)是一种新颖的、按照工艺流程图进行编程的图形编程语言。
这是一种IEC标准推荐的首选编程语言,近年来在PLC编程中已经得到了普及和推广,SFC编程的优点:1、在程序中可以很直观地看到设备的动作顺序。
比较容易读懂程序,因为程序按照设备的动作顺序进行编写,规律性较强。
2、在设备故障时能够很容易的查找出故障所处在的位置.3、不需要复杂的互锁电路,更容易设计和维护系统.SFC的结构:步+转换条件+有向连接+机器工序的各个运行动作=SFC。
SFC程序的运行从初始步开始,每次转换条件成立时执行下一步、在遇到END步时结束向下运行.第一章单流程结构的编程方法本教程主要介绍在三菱PLC编程软件GX Developer中怎编制SFC顺序功能图。
下面以例题1介绍SFC程序的编制法。
例题1:自动闪烁信号生成,PLC上电后Y0、Y1以一秒钟为周期交替闪烁.本例的梯形图和指令表(如图1-1)。
(A) (B) 启动初始步初始状态符号转移条件符号方向线符号转移符号+目标号(C)图1-1 闪烁信号(A梯形图B指令表 C SFC程序)下面我们开始对图1-1(c)所示的SFC程序进行一下总体认识一个完整的SFC 程序包括初始状态、方向线、转移条件和转移方向组成(如图1-1(c))。
在SFC程序中初始状态必须是有效的,所以要有启动初始状态的条件,本例中梯形图的第一行表示启动初始步,在SFC程序中启动初始步要用梯形图,现在开始具体的程序输入.启动GX Develop编程软件,单击“工程"菜单,点击创建新工程菜单项或点击新建工程按钮(如图1-2)。
单击工程菜单图1-2 GX Develop编程软件窗口弹出创建新工程对话框(如图1-3)。
我们主要是讲述三菱系列PLC,所以在PLC 系列下拉列表框中选择FXCPU,PLC类型下拉列表框中选择FX2N(C),在程序类型项中选择SFC,在工程设置项中设置好工程名和保存路径之后点击确定按钮。
AB_RSLogix5000初级使用手册目录:设定笔记本IP地址 (3)查看PLC硬件组态信息 (3)设定RSLinx (4)打开RSLogix5000软件创建与RSLinx相符的程序 (7)在RSLogix5000软件中创建程序章节、程序段落、程序自然段 (10)上传和下载程序 (13)创建行参 (16)RSLinx查看网络IP以及硬件 (18)PLC静态和动态IP地址分配 (21)Firmware刷新 (25)Rxlogx5000软件的在线修改功能 (28)Rxlogx5000软件的在线强制功能 (31)范围指令LIM需要注意的是,当Low Limit < High Limit数值时,LIM命令在Low Limit和High Limit之间的数值时输出。
如果Low Limit > High Limit数值时,LIM命令在Low Limit和High Limit之间的数值时停止输出。
(35)查找跳转、中断等子程序块的位置 (35)RSLogix5000软件的在线帮组功能 (36)Routine里程序的类型 (37)一个Project里可以最多建立32个Task,但只能有一个Task属性为Continuous (连续扫描)其余的31个Task可以分配给Event(事件扫描)或者Periodic(中断扫描)。
每一个Task里可以建100个Program,每一个Program可以建立无穷个routine。
(38)备份程序和解压程序 (41)程序的比较 (43)Flash Memory Card 程序备份和下载操作 (46)模拟量模块的组态、量程设定、模拟量输出的钳位设定。
(49)Device Net网络配置 (53)Device Net软件安装 (55)Device Net组网 (57)在RSLogix5000程序里添加DeviceNet硬件 (69)DeviceNet的硬件寻址 (71)配置EtherNet以太网远程I/O (75)实时监控趋势图 (81)EDS文件更新 (85)设定笔记本IP地址1.查看AB_PLC机器槽架上的CPU模块显示的IP地址,一般PLC的IP地址为为10.0.0.1,笔记本上的IP最后一位设置需要变化。
AB Logix5000处理器SFC顺序功能图编程应用江苏华电戚墅堰发电有限公司贡文明前言:本文从应用角度讲述了Logix5000系统的SFC功能和实际应用方法与技巧,当面对一个复杂的顺序控制时,采用SFC来实现逻辑控制是一个非常好的选择。
使用SFC来编写顺控程序速度并不会比使用梯形图快很多,但调试要比使用梯形图简单和方便许多。
由于Logix5000的SFC资料全为英文,并且相关的资料非常之少,给初次使用带来了许多不便,使用SFC最重要的是需要了解SFC的的工作原理和一些常用的操作命令,如S,N,P等在各种PLC上他们均基本一致,符合国际标准的定义。
本文根据个人使用经验对SFC各语法定义和功能进行了详细描述,对SFC Action功能采用了Basic脚本语言进行了描述。
1.SFC语言概述IEC61131-3 SFC语言规定将复杂的程序分割为较小的可管理的单元,并描述在这些单元之间的控制流。
使用SFC语言,可以设计顺序和并行过程。
执行这些单元的时序取决于静态条件和动态条件。
一步接着一步地处理生产过程的行为特性特别适用于SFC语言。
SFC用步和转换条件构成程序段,步中通过定义操作实现对流程的操纵。
通过转换实现流程的按顺序前进。
1.1 步 (Step)步是控制流程中相对独立的一组操作的集合。
在步中可以定义任意数目的各种类型的操作,通过操作实现对流程的控制。
一个步可以是激活状态或不激活状态。
步在紧接在前的转换条件满足时激活。
步在紧接在后的转换条件满足时退出激活状态。
每个SFC程序有一个起始步,该步在第一次执行时默认为激活状态,其余的非起始步默认为不激活状态。
步的上面只能接转换、并行分支或选择聚合。
步的下面只能接转换、并行聚合或选择分支。
步有两种类型:起始步和普通步。
起始步在程序刚启动时就处于激活状态,然后程序将按照转换条件的变化按照顺序依次执行。
1.2 转换条件转换是控制从一个步转移到其他步的条件。
当转换条件满足时,紧接在前的步从激活态变成不激活态。
然后紧接在后的步将从不激活态转变成激活态。
只有当所有紧接在前的步的状态都在激活状态时,转换条件才被测试。
转换条件由一个变量或一个表达式来定义。
转换的上面只能接步、选择分支、并行接合;转换的下面只能接步、选择聚合、并行分支、或跳转分支。
1.3 选择分支选择分支提供了在SFC程序中实现条件控制的控制流程选择执行的方法。
在选择分支结构中只能有一个分支被激活。
分支跳转的优先级从左到右。
选择分支和选择聚合必须一一对应。
选择分支必须结束于同一选择聚合。
1.4 并行分支并行分支使流程中的几个子流程同时进行。
各分支的执行同时进行,不相互影响。
只有当所有的分支的最后一步都激活时,才测试并行聚合紧接的转换的条件是否满足。
并行分支和并行聚合必须一一对应。
1.5 操作(Action)操作是对系统变量进行的操纵的描述。
一个步中可以有0个或多个操作。
操作有多种类型,操作类型由操作限定词来描述。
操作可以是一个位号变量,也可以是调用一个子程序。
一个操作块包含一个操作连同其执行的条件(称为动作限定词)系统对步的激活和解除激活期间所有步的动作块的执行条件进行监视。
1.6 执行顺序一个SFC结构的网络分为一系列步和转换。
它们要循环地进行求值和执行。
一个步总是处于激活状态或者不激活状态。
每一次循环对所有转换的求值,其结果不是TRUE就是FALSE。
待处理循环的活动步清单取决于这些步所依赖的转换的计算值。
在一个SFC网络中所有指令的执行依照以下算法进行调度。
1.6.1 激活初始步(仅在第一次调用时),否则对其后继转换为TRUE的所有步解除激活,并激活紧接这些转换后的所有步。
1.6.2 检查所有动作控制的输出。
若刚检测到一个TRUE-FALSE边沿,则最后一次执行所关联的动作。
1.6.3 执行其动作控制所求值为TRUE的所有操作。
1.6.4 对转换进行求值,并从步1开始继续循环执行。
在SFC网络中没有显性的终点。
如果没有后继的转换,则程序不会自动地返回到初始步,SFC 程序将停留在最后一个活动步。
2.Logix5000的SFC功能描述2.1 步(STEP)在RsLogix5000中的属性状态表示如下图所示步变量是一个结构体,结构类型如下:x :激活指示,活动步的x为1 (True)dn:完成指示,步完成后为1(True)t :步运行的时间,单位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;当然你如果仅仅需要在步活动期间执行就可以在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:操作在步激活后在限定的时间内保持激活,超出时间恢复成不激活状态,若在此期间步失去激活,则该动作也变为不激活状态。
该操作需要设置一个限制时间,单位为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 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 step.t>settime) thenStart = trueend_if;if (start) then//工作代码end_if;2.2.10SD:操作在步激活后经过限定时间后,变为激活状态,并一直维持,与步的失去激活无关。
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=trueIf (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子程序继续运行3.SFC使用心得SFC一般需要梯形图或FDB逻辑的配合才能完成整个控制功能,通常使用梯形图实现设备控制操作等逻辑处理功能,使用SFC实现顺序控制功能,SFC最适合用来设计流程处理类逻辑(如化水程控系统中的反洗、再生等过程)。
在处理复杂流程的时候,适当的分解复杂的操作步可以为调试工作减少时间。
在可能需要进行修改的逻辑步附件添加若干空步可以为调试修改逻辑带来明显的好处。
SFC并非万能,某些时候使用梯形图或许更简单更方便。
参考资料:Rockwell《SFC and ST Programming Languages》《Logix5000 Controllers Common Procedures》《Logix5000 Controllers General Instructions Reference Manual》。