使用SFC来编写顺控程序.docx

上传人:牧羊曲112 文档编号:3275537 上传时间:2023-03-12 格式:DOCX 页数:6 大小:39.45KB
返回 下载 相关 举报
使用SFC来编写顺控程序.docx_第1页
第1页 / 共6页
使用SFC来编写顺控程序.docx_第2页
第2页 / 共6页
使用SFC来编写顺控程序.docx_第3页
第3页 / 共6页
使用SFC来编写顺控程序.docx_第4页
第4页 / 共6页
使用SFC来编写顺控程序.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《使用SFC来编写顺控程序.docx》由会员分享,可在线阅读,更多相关《使用SFC来编写顺控程序.docx(6页珍藏版)》请在三一办公上搜索。

1、使用SFC来编写顺控程序使用SFC来编写顺控程序,速度并不会比使用梯形图快 但调试要比使用梯形图来的简单和方便,按照我的经验应该只要化使用梯形图的一半时间. 由于AB的SFC资料全为英文,给处次使用带来了许多不便,AB的SFC跟其它PLC的也不大一样. 使用SFC最重要的是需要先了解SFC的几个常用的功能,如S,N,P等在各种PLC上他们均是一样的,符合国际标准的定义. 下面我就来介绍一下 概述 IEC61131-3SFC语言规定将复杂的程序分割为较小的可管理的单元,并描述在这些单元之间的控制流。使用SFC语言,可以设计顺序和并行过程。 执行这些单元的时序取决于静态条件和动态条件。 一步接着一

2、步地处理生产过程地行为特性特别适用于SFC语言。 SFC用步和转换条件构成程序段,步中通过定义操作实现对流程的操纵。通过转换实现流程的按顺序前进。 在SFC编辑器中,当选中某个元素时,程序在工具栏中指示何种元素可以被插入 步 步是控制流程中相对独立的一组操作的集合。在步中可以定义任意数目的各种类型的操作,通过操作实现对流程的控制。 一个步可以是激活状态或不激活状态。步在紧接在前的转换条件满足时激活。步在紧接在后的转换条件满足时退出激活状态。每个SFC程序有一个起始步,该步在第一次执行时默认为激活状态,其余的非起始步默认为不激活状态。 步的上面只能接转换、并行分支或选择聚合。步的下面只能接转换、

3、并行聚合或选择分支。 步有两种类型:起始步和普通步。 起始步在程序刚启动时就处于激活状态,然后程序将按照转换条件的变化按照顺序依次执行。 用户可以在步的属性对话框中通过增加或删除按钮来添加或删除该步中所执行的操作序列。 索引 索引是算法编辑器程序中表征某个步的标识。 1 限定词 限定词指定操作类型。每个限定词的含义将在下面予以介绍。 时间 某些限定词可能需要提供时间参数。 调用 通过调用来选择该操作所执行的子程序或位号变量。 注释 注释是该动作的描述语言。 转换条件 转换是控制从一个步转移到其他步的条件。 当转换条件满足时,紧接在前的步从激活态变成不激活态。然后紧接在后的步将从不激活态转变成激

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

5、和并行聚合必须一一对应。 执行顺序 一个SFC结构的网络分为一系列步和转换。它们要循环地进行求值和执行。一个步总是处于激活状态或者不激活状态。每一次循环对所有转换的求值,其结果不是TRUE就是FALSE。待处理循环的活动步清单取决于这些步所依赖的转换的计算值。 在一个SFC网络中所有指令的执行依照以下算法进行调度。 1) 激活初始步,否则对其后继转换为TRUE的所有步解除激活,并激活紧接这些转换后的所有步。 2) 检查所有动作控制的输出。若刚检测到一个TRUEFALSE边沿,则最后一次执行所关联的动作。 3) 执行其动作控制所求值为TRUE的所有操作。 4) 对转换进行求值,并从步1开始继续循

6、环执行。 在SFC网络中没有显性的终点。如果没有后继的转换,则程序不会自动地返回到初始步,SFC程序将停留在最后一个活动步。 操作 操作是对系统变量进行的操纵的描述。 一个步中可以有0个或多个操作。操作有多种类型,操作类型由操作限定词来描述。操作可以是一个位号变量,也可以是调用一个子程序。 在步属性窗口内可以编辑动作。 一个操作块包含一个操作连同其执行的条件 系统对步的激活和解除激活期间所有步的动作块的执行条件进行监视。 在算法编辑器4.0中提供以下几个符合IEC1131-3标准的限定词: N动作在步的整个激活期间激活,随着步退出激活状态恢复成不激活状态。 S动作在步激活后将一直保持激活。 R

7、动作在步激活后将一直保持在不激活状态。 L动作在步激活后在限定的时间内保持激活,超出时间恢复成不激活状态,若在此期间步失去激活,则该动作也变为不激活状态。 D动作在步激活后经过限定的时间后,变为激活状态,随着步变成不激活状态,操作恢复成不激活。 P动作在步激活后只激活一个程序扫描时间,然后恢复成不激活状态。 3 DS动作在步激活后维持限定的时间后,变为激活状态,并一直维持。 SD动作在步激活后经过限定时间后,变为激活状态,并一致维持。 SL动作在步激活后在限定的时间内保持激活,超出时间恢复成不激活状态,与步的失去激活无关。 RSLOGIX5000的SFC符合上述国际标准,并且在标准上进行扩充

8、接下来我们开始实战操作,开始完成一个简单的顺控程序 上面描述的只是ISO标准,AB ControlLogix的实现还是有点区别的: 如果大家刚好需要使用到的话是有点帮助的,可以不需要化时间去摸索工作原理了 在只之前我们先来了解一下Logix5000的补命令工作原理 STEP 步的状态表示 x 激活指示,活动步的x为1 dn 完成指示,步完成后为1 t 步执行时间ms单位(在LOGIX系统中所有的时间单位均为ms) S操作在Logix5000的实现: 当某一步变成激活或者完成 一直执行直到程序复位或者暂停,停止 用ITL语言描述就是 if (step.x or step.dn) then 执行的

9、命令或操作,你的程序代码 end_if; 当然你如果仅仅需要在步活动期间执行就可以在S命令里面输入 if (step.x) then 执行的命令或操作,你的程序代码 end_if; 如果仅仅需要在步完成以后执行就可以在S命令里面输入 if (step.DN) then 4 执行的命令或操作,你的程序代码 end_if; 由于PLC采用的是循环扫描原理工作,代码会一直反复执行的. P操作在Logix5000的实现: 很有用,经常被用来设备控制命令 它在步激活后执行指定的时间,如果不指定时间就执行一扫描周期 我用它来发送设备控制命令的脉冲 用 ITL语言描述: if (step.x and step.ttime) then /你的代码 end_if; 执行一次的ITL描述 if (step.x and step.t=0) then /你的代码 end_if; N操作在Logix5000的实现: 它在步激活期间执行,我用它来指示画面步运行时间 用 ITL语言描述: if (step.x) then /你的代码 end_if; 有上面3个操作一般情况下可以完成任何工作了 其它的功能可以参考ISO的描述或手册,我在程序中仅使用到了P和N和S操作 5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号