SFC程序

更新时间:2023-11-26 07:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SFC程序

一、概述

“SFC”是“顺控功能图”的缩写,表示控制运行顺序分成一系列步的程序格式,能够清晰地表达程序执行顺序和执行条件。

注意:基本型号 QCPU Q00J/Q00/Q01CPU 与MELSAP3 不兼容,当使用 MELSAP3 时使用高性能型号 QCPU。 1.1 SFC 程序的说明

SFC 程序按照梯形图表示的各步发生的具体控制,把机械运行的顺序分成各步。

1

SFC 程序按照从初始步开始,接着进行满足转移条件后的各步,最后以END 步结束的顺序进行。

1、当起动SFC 程序时首先执行初始化步。

2、继续初始步的执行直到满足转移条件 1,当满足该转移条件时停止初始步的执行继续初始步后的处理。

SFC 程序的处理以该方式逐步继续直到执行了END 步为止。 1.2 SFC MELSAP3 特点

1、更容易设计和维护系统

因为整个系统和各个站以及机器本身的控制,都是在一对一的基础上与 SFC 程序的块和步对应,所以即使顺控程序经验较少的人也可以设计和维护系统。此外其它程序员用该格式设计的程序也比顺控程序更易于解码。

2、不需要复杂的互锁电路

互锁电路只用在各个步的操作输出程序中,因为步之间不需要互锁,所以整个系统不需要互锁。

2

3、块和步配置可以容易地改为新的控制应用

SFC 程序中总共可以使用320 个块,各个块中512 步,在梯形图程序中总共可以为运行输出和转移条件创建4k个顺控步。

把各个块和步分割以便获得用于机器运行的各单元系统的最佳配置 这样能够减少应答时间更易于调试和试运行操作。

3

4、能够创建多个初始步

可以很容易地执行并组合多个工艺,使用选择汇合格式链接初始步。当激活多个初始步 S0 至S3 时,满足选择汇合之前瞬间的转移条件t4至t7 的步变为无效并转移到下一步。此外当有效步之前瞬间的转移条件得到满足时按照参数设置执行下一步。

? 等待等待下一步无效后转移到下一步。 ? 传送如果激活下一步 则转移到下一步。 ? 暂停如果激活下一步 则出错。

注:在各个初始步也可以更改链接步

4

5、丰富的步属性使得程序设计更方便

可以给各步分配各种步属性 仅用于给定的控制操作或组合使用这些属性大大简化了程序设计步骤

? HOLD 步及其操作的类型 1)线圈HOLD步(SC)

2)操作HOLD 步无转移检查(SE)3)操作HOLD 步有转移检查(ST)

5

? 块START 步及其运行的类型 1)块START 步有END 检查( m)

2)块START 步无END 检查( m)

6、按照上述的应用程序可以用各种方法控制给定功能块功能,诸如START、END、临时停止、重新起动和强制激活和指定步的结束可以通过SFC 图符号,SFC控制指令或通过SFC 信息寄存器控制。

? 通过SFC图符号控制...............利于用简易的顺控控制来控制自动操作。 ? 通过SFC指令控制.................能够从SFC以外的程序文件发出请求,并便于出错处理例如应急停止和中断控制。

? 通过SFC信息寄存器控制...........能够控制SFC外围设备并便于部分操作诸如调试或试运行。

下表所示的是可以用这3种方法控制的功能:

6

① 如果同一功能可用多种方法执行则通过请求输出到相应的块或步指定的第一个控制方法即是有效控制方法

② 给定控制方法控制的功能可以用另一种控制方法取消。 例子:关于块START

通过SFC图 m 方法起动的有效块,可以通过SFC控制指令RST BLm 或通过把SFC信息寄存器块START/END位切换OFF来结束强制结束。

7、完善的编辑功能简化了编辑操作

SFC图与运行输出和转移条件梯形图以具有变焦功能为其特点:它们在同一画面显示时,屏幕可以作左右和上下的分割,这样简化了程序剪切和粘贴操作。此外,诸如SFC 图或设备搜索功能等的先进程序编辑功能使程序创建和编辑操作更快更容易。

8、带注释显示更容易理解

在各个步和转移条件项目处可以输入注释,最多可以输入 32 个字符。

9、自动滚动功能能够快速识别机械系统故障点

可以通过外围设备,通过自动滚动功能,监视有效执行块和步以及运行输出/转移条件梯形图的执行。该监视功能使得即使稍有顺控程序知识的人也容易识别故障点。

7

10、便利的跟踪功能(仅适用于GPPQ 和QnACPU)

各块可被同步化并加以跟踪,使用户能够检查多个块的运行时序。而且可以切换到跟踪结果显示屏幕来显示各个块的跟踪结果详情。

二、系统配置

1、适用的CPU 型号

MELSAP3 SFC 程序可以由下列CPU 型号运行

2、SFC 程序的外围设备

在下列外围设备上执行 SFC 程序创建编辑和监视操作

8

四、SFC 程序配置

本章讨论组成 SFC 程序的SFC 程序符号控制指令和信息寄存器。

1、如下图所示,SFC 程序由初始步、转移条件中间步和END 步组成,从初始步开始并在END步结束的数据即称之为块。

2、SFC程序运行在初始步开始,并进行满足各转移条件的各连续步,当达到END 步时该运行顺序结束。

① 当起动SFC程序时,首先执行初始步,在初始步处理期间,检查下一个转移条件。上面示图中的转移条件1,以确定是否满足该转移条件。

② 初始步处理继续直到满足转移条件1,初始步处理停止并开始下一步,如上图中的第1 步的处理。在第1步处理期间,检查下一个转移条件,如上图中的转移条件2以确定是否满足该转移条件。

③ 当满足转移条件2时,停止第1 步处理并开始下一步,如上图中的第2 步的处理。

SFC程序的处理,以该方式继续按顺序执行步,直到到达END 步为止。 4.1 SFC 图符号的列表

以下列出了 SFC 程序中使用的符号

9

10

4.2 步

步是组成块的基本单位 它们表示执行SFC 程序的执行单位数。

1、每步由多个运行输出组成,每块最多可以指定512 步,所有块总共8192 步。 2、当创建SFC 程序时,给各步分配步号自动或由用户指定监视步处理,并通过SFC控制指令,指定强制 START 或END 时使用步数。

4.2.1 步□(无步属性)

在处理无属性的步期间,当满足条件转移到下一步时,下一个转移条件始终受到监控。

11

1、在转移到下一步n + 1 后各步n 的运行输出状态依据使用的指令变化 ? 当使用 OUT 指令除了 OUT C 之外 时,在转移到下一步 n + 1 后,第n 步变为无效,并按照OUT 指令使自动输出变为OFF。

给当前值清零,并且触点变为OFF 时对定时器进行相同处理。

? 当使用 SET 基本或应用指令时,在转移到下一步 n + 1 后,即使第n 步无效也会保持ON 状态或当前值,如果变为 OFF 则为了执行另一步会需要RST 指令等。

? 当使用OUT C 指令时,如果满足转移条件m时,计数器在第n 步的执行条件已经为ON,则计数器的计数会在第n 步有效时增加1。

如果在计数器复位之前转移到下一步,则即使第n 步变为无效之后,也会保持计数器的当前值和触点ON 状态,如果为ON为了在其它步复位计数器 将需要 RST 指令等。

2、当在步运行输出处使用PLS 或 P指令时,只要步状态从无效变为有效,则即使执行条件触点总是为ON ,也会执行指令。

12

注:按上述 PLS、 P 指令的相同方式执行上升沿和下降沿PLS 指令

4.2.2 初始步

初始步表示块的开始,每块最多可以指定32 个初始步。初始步处理与其它步的方式相同。

1、当使用多个初始步时,步状态有效/无效,由下面所示的块START 请求确定。

2、具有属性的初始步的处理与其它步的方式相同,关于进一步信息 参见第4.2.4 节至第4.2.7 节。

备注:关于使用多个初始步时转移处理的详情 参考第4.3.5 节

4.2.3 虚拟步

虚拟步是等待步等,它包含无运算输出程序。

1、在虚拟步的执行期间,固定检查下一个转移条件,并且满足条件时运行进行到下一步。

2、如果在虚拟步创建梯形图则会显示“ ”。 4.2.4 线圈HOLD 步SC 线圈 HOLD 步是在转移到下一步中,保持线圈输出状态的步。当满足转移条件时通

13

过OUT 指令变为ON。

1、正常SFC程序运行期间,在进行到下一步之前,线圈ON 状态。(当满足转移条件时,通过OUT 指令变为ON)自动变为OFF。

通过把运行输出步指定为 线圈HOLD 步,当进行到下一步时,线圈ON 状态也会保持有效。

2、在转移到下一步后不会发生梯形图处理因此即使更改输入条件线圈输出状态也会保持不变

3、当线圈ON 状态在线圈HOLD 步已经保持到下一步则线圈会在以下任意时间变为OFF

? 当执行相应块的END 步时

? 当SFC 控制指令RST BLm 指定在相应块处强制 END 时 ? 当SFC 控制指令RST BLm\\Sn RSTSn 指定在相应块处复位时

? 当在指定为SFC 信息寄存器的块START/END 软元件的软元件处发生复位时 ? 当用于复位相应步的复位步变为有效时 ? 当SFC START/STOP 命令SM321 切换为OFF 时 ? 当通过程序复位相应线圈时 4、当指定线圈HOLD 步时的注意事项 ① PLS 指令

如果在进行满足 PLS 输出条件,促使PLS 输出的扫描时同时满足转移条件的话,PLS 触点会保持ON 直到满足上面项目3 处所述的OFF 条件。

② PLF 指令

当满足上述第 3 中所述的OFF 条件时发生PLF 输出。

14

③ 计数器

如果满足转移条件时计数器线圈为 ON 则即使在转移到下一步后执行输入条件ON/OFF切换也不会计数

④ 定时器

如果满足转移条件时定时器线圈为 ON 则即使发生步转移定时器也会继续运行直到到达指定的到时e 块STOP 处理

如果通过 SFC 信息寄存器的STOP/RESTART 位或通过SFC 块STOP 指令指定块STOP 请求则相应步会变为无效发生如下处理:

? 在块STOP 请求后步变为无效处理返回到块的开始

? 除了通过SET 指令变为ON 之外的所有线圈输出都会变为OFF。

如果块 STOP 请求设置为HOLD ,则线圈输出在停止期间和重新起动后保持ON。 4.2.5 运行HOLD 步无转移检查SE 运行 HOLD 步无转移检查是:即使在转移到下一步后,也会继续运行输出梯形图处理的步。然而,当再次满足转移条件时不会执行转移处理

1、在正常SFC 程序运行期间,在进行到下一步之前线圈ON 状态,当满足转移条件时通过OUT 指令变为ON 自动变为OFF。

通过把运行输出步指定为,运行HOLD 步无转移检查即使在转移到下一步后该步也会保持有效并且会继续其运行输出梯形图的处理。因此 如果更改输入条件也会更改线圈状态。

2、由于下一步变为有效时,不发生转移条件检查,所以当再次满足相应步的转移条件时不会发生步转移。

要点:运行 HOLD 步无转移检查和线圈HOLD 步之间的差异是:前者即使在步转移后也会继续处理,而后者在步转移后不继续处理。

3、当发生以下任意情况时,运行HOLD 步无转移检查变为无效:

15

? 当执行相应块的END 步时

? 在相应块上SFC 控制指令RST BLm 指定强制 END 时 ? 在相应块上SFC 控制指令RST BLm\\Sn RSTSn 指定复位时

? 当在指定为SFC 信息寄存器的块START/END 软元件的软元件上发生复位时 ? 当用于复位相应步的复位步变为有效时 ? 当SFC START/STOP 命令SM321 变为OFF 时 4、块STOP 处理

如果通过 SFC 信息寄存器的STOP/RESTART 位,或通过SFC 块STOP 指令指定块STOP 请求,则会发生如下处理

? STOP 状态时序

在发生块 STOP 请求输出后建立STOP 状态并且处理返回到相应块的开始 ? 线圈输出

依据在 SFC 运行模式中指定块STOP 时的输出模式设置参见第4.7.3 节,将建立线圈输出OFF 或HOLD 状态。然而 将保持通过SET 指令变为ON 的线圈输出的ON 状态。

要点:

① 如果在给定步之前的瞬间满足转移条件或者如果通过跳转指令重新激活步则当满足转移条件时再次发生步转移

② 双START 不适用于再次激活步。

16

4.4 通过指令SFC 控制指令控制SFC 程序

SFC控制指令可用于检查块或步的运行状态有效/无效,或执行强制START或END 等。 它们可以用在 SFC 程序中,以便更容易进行SFC 程序控制。下表表示各种SFC 控制指令和它们的功能。

名称 梯形图表达 块运行状态检查指令 有效步成批读出指令 块 START 指令 块 END 指令 块 STOP 指令 块重新起动指令 SET BLm RST BLm PAUSE BLm RSTART BLm 单独强制起动激活指定块并从其初始步执行 强制结束失效指定块 临时停止指定块 取消指定块的临时停止状态从 把指定块中的有效步作为位信息读入指定软元件 检查指定块中的指定步来确定该步的转移条件通过转移控制指令是不是强制满足。 检查指定块来确定它是有效或是无效 功能 检查指定块中的指定步来确定步是有效或是无效 步运行状态检查指令0 强制转移检查指令 STOP 步重新开始运行 SET Sn *1 单独强制起动激活指定块并从SET BLm\\Sn 指定步执行 强制失效指定块的指定步 使指令执行步失效并激活指定步 RST Sn *1 RST BLm/Sn SCHG *2 步控制指令 转移控制指令 SET TRn *1 强制满足指定块上的指定转移条件 SET BLm\\TRn RST TRn 1 RST BLm\\TRn 取消指定块中指定转移条件中的强制转移 指定要受SFC 控制指令控制的块 当指令执行条件为ON 时以恒定方式执行子程序调用,当它变为 OFF 时子程序调用只在此时发生一次 17

块切换指令 BRSET 子程序调用指令 XCALL Pn

程序运行状态检查指令 (LD AND OR) PCHK“程序名称” 进行检查来确定是否正在执行指定的程序 当从满足指定条件时开始的指定时间期限过去时指定的输出软元件变为ON 时间检查指令 TIMCHK S1 S2 D *1 块切换指令“BRSET”指定的块变为受指令控制,(默认设置是块“0” 或“所有块”)...参见第4.4.11 节

*2 只允许在用SFC 程序的步上使用,如果在用其它顺控程序的步上使用则会出错。

要点:从第 4.4.1 节开始,在各种指令的解释中使用下表表内容解释如下:

1)在该区域中表示梯形图符号

2)在该区域表示可使用软元件

? 用圆标记(O )表示的软元件可以用于相应指令。以下表示软元件应用分类

? 当在“常数”、“扩展SFC” 或“其它”列中表示软元件名称时,只能使用该软元件。例如:如果“常数”列中表示“K、H”, 则只能使用十进制(K)或十六进制(H)常数,不能使用实数常数(E)和字符串常数($)。

3) 此处表示指定软元件用的数据类型

18

? 位..........................表示位数据运行。

? BIN16.......................表示16-位二进制值处理,使用 1 个字。 ? BIN32.......................表示16-位二进制值处理使用 2 个字。 ? 字符串表示字符串处理 可变字数。

? 软元件表示..................软元件名称和第一个软元件处理可变字数。 4) 此处表示可以用于相应指令的程序的类型。 5) 此处表示相应指令的请求目标。

4.4.1 步运行状态检查指令(LD LDI AND ANI OR ORI)

仅 Sn *在“扩展SFC” 和“其它”列,“m ”表示块号,“n” 表示步/转移条件

编号。

[功能]

1、检查指定块中的指定步来确定步是有效或是无效。

2、如果相应步有效,则N/O 触点指令使触点变为ON,并且N/C 触点指令使触点变为OFF。

3、为了指定当前块中的步,使用“SN”,为了指定另一块中的步,或为了通过顺控程序执行指令使用“BLm\\Sn”。

4、如果在SFC 程序中不存在相应步则它仍保持OFF。

19

[程序例子]

⑴当检查块3 中第5 步的运行状态并发现是有效时,右面的程序使Y20 变为ON。

相关的指令: 1 SFC 控制指令

? 转移控制指令(SET TRn SET BLm/TRn和RST TRn RST BLm\\TRn ),参见第4.4.9 节。 ? 块切换指令BRSET ....................... 参见第4.4.11 节。 4.4.3 块运行状态检查指令(BLm)

*在“扩展SFC” 和“其它”列,“m”表示块号,“n”表示步/转移条件编号。

[功能]

⑴ 进行检查来确定指定块是否有效。

⑵ 如果SFC 程序中不存在相应块则它会保持OFF。

备注:由于“BLm”是按虚拟软元件对待的,所以外围设备的监视器上的触点不会变为ON/OFF,如果内部软元件是ON,则线圈指令变为ON 进行运行。 [程序例子]:当检查块3 并发现有效时,下列程序使Y20 变为ON

相关指令:

①SFC 控制指令:

20

本文来源:https://www.bwwdw.com/article/8dnt.html

Top