1
SFC 概述
顾名思义,顺序控制的核心是将工厂中的各个设备按照一定的顺序(时间、逻辑、条件),通过工作任务(步 – 控制执行机构动作)和转移条件(任务执行结果判断)实现顺序控制的目的。
简单点理解:一个自动化项目中通常包含电机、阀、模拟量和数字量监视等,这些设备可以在手动模式下单一进行控制,但是多数情况下我们需要一键自动启动,并且根据需要自动停止。一键启动通常是按一定的顺序而不是同时启动,这种场景的需求就是顺序控制的功能。
例如反应釜的进料过程就是一个常见的顺序控制。首先将流程中的设备切换到自动状态并且对流量累计进行复位,然后打开原料罐的出口阀和反应釜的入口阀门,待管道打通后启动电机开始打料,打料过程中根据设定进料量以及反应釜液位,按照与启动顺序相反的步骤自动停止对应设备。再比如皮带的逆启顺停同样是顺序控制的典型代表。
图1 SFC 和 CFC 的关系
PCS 7 中的 SFC 提供了两类独立的用于不同应用场合的顺序控制系统变型:
- SFC 图表
- SFC 类型及 SFC 实例
SFC 图表和 SFC 类型的主要区别在于是否重复使用。对于单次使用的顺序控制系统通常使用 SFC 图表,而需要多次使用的顺序控制系统则建议使用 SFC 类型以简化重复工作,提高效率。本文主要介绍 SFC 图表的使用,但大部分功能也同样适用于 SFC 类型。
顺序控制系统多用于非连续的过程和设备,按照一定的顺序逐步执行(例如:定量给料过程)。当然顺序控制系统也可应用于连续过程和设备中(例如:逼近和往复运动,操作点变更以及由故障导致的状态变化)。顺序控制系统可在不同的工厂层级使用:
- 设备控制级(例如:启停电机,开关阀)
- 组控制级(例如:定量给料、搅拌、加热冷却、灌装)
- 单元层级(例如:罐、搅拌器、测量装置、反应器)
- 工厂层级(各单元和公用资源的同步)
- 图形化方式实现顺控程序的编写,极大简化了顺控程序的实现
- SFC 可视化可以非常方便的实现在上位机监视顺控程序执行过程
- 对于类似的顺控程序可以通过 SFC Type 类型和实例的方式实现复用
当然,SFC 所带来的便携远不止上述内容,更多精彩功能等你亲自体验。接下来我们就 SFC 的部分功能进行一个简单的介绍。
2
SFC 操作状态逻辑 – 状态机
图 2 SFC 编辑器处于测试模式下
如图2所示,SFC 包含9个控制命令,分别为:启动、中止、重新启动、暂停、完成、复位、继续运行、停止和出错。执行这些动作可导致 SFC 转入如下的16种操作状态:空闲、正在启动、运行、出错(正在完成)、已完成、正在暂停、已暂停、正在恢复、出错、已暂停(出错)、正在恢复(出错)、正在中止、已中止、正在停止、已停止。
SFC 的操作状态逻辑(SFC OSL)可用如下图所示的状态机表示,图中列出了SFC 图表的可能状态、可能在特定状态下进行的转移以及引起状态变化的事件。通过 SFC OSL 可以很容易理解 SFC 的执行过程及相应的命令或操作等。
图3 SFC 状态机
16种操作状态可分为两类:
稳态:OSL 中需要通过事件退出的状态(即圆形表示的状态),例如:空闲、已暂停、已中止、已停止等状态。
暂态:OSL 中隐式退出的状态(即矩形框表示的状态),例如:正在启动、正在完成、正在暂停、正在中止、正在停止等状态。
其中运行状态比较特殊,自结束时由运行到正在完成可以看作暂态,但是非自结束和连续模式时可以看作稳态。
9种控制命令对应 SFC OSL 图中的黑色粗箭头所指示的命令,可以是手动模式下来自 SFC 面板的对应按钮,也可以是自动模式下的 SFC 外部视图中自动命令。
SFC 库中提供了基于 SFC 操作状态的模板(如图4所示),可以直接复制使用。实际编程过程中可能不需要这么多顺控程序,或者多个状态下执行相同的顺控程序,可根据实际需求调整。