3. SFC顺序控制实现反应釜进料与搅拌

SFC顺序控制的对象与步序设计

反应釜进料与搅拌的顺序控制,核心是把“阀门开到位、搅拌电机运行、定时到达”这些现场状态,组织成一条可验证的步序链。本例使用PCS 7的SFC编辑器,在AS站中创建一个顺序功能图,控制对象为:进料阀XV101(开/关)、搅拌电机M101(启/停)、搅拌定时器T101(设定值30 s)。

SFC的步序采用“步+转换条件”结构:每个步执行一个动作,转换条件满足后进入下一步。本例定义4个步:STEP1开进料阀、STEP2启动搅拌电机、STEP3定时搅拌、STEP4停止搅拌并关阀。转换条件直接引用CFC中已组态的电机运行反馈、阀门开到位反馈和定时器完成位。

SFC顺序控制步序与转换条件 STEP1 开进料阀 XV101 STEP2 启动搅拌电机 M101 STEP3 定时搅拌 T101=30s STEP4 停搅拌、关进料阀 T1: XV101开到位反馈=1 T2: M101运行反馈=1 T3: T101定时完成=1 CFC中关联的I/O与反馈信号 XV101 进料阀 输出: Q0.0 开阀 | 输入: I0.0 开到位 M101 搅拌电机 输出: Q0.1 启动 | 输入: I0.1 运行反馈 T101 搅拌定时器 SD: 30s | 输出: 定时完成位 SFC转换条件引用 T1/T2/T3 直接引用上述反馈位 测试要点 PLCSIM中强制反馈位 观察步序是否按条件切换

SFC组态与步序实现

在SIMATIC Manager中打开AS站的SFC编辑器,新建一个SFC类型为“顺序控制”。按以下顺序组态:

  1. 在SFC中依次插入4个步(Step),分别命名为STEP1至STEP4。
  2. 每个步的“动作”栏中填写对应的CFC块输出赋值。例如STEP1的动作写为XV101_CMD := TRUE,STEP2写为M101_CMD := TRUE,STEP3写为T101_EN := TRUE,STEP4写为M101_CMD := FALSE; XV101_CMD := FALSE。
  3. 在步与步之间的转换条件中,引用CFC中已组态的反馈信号。转换条件T1写为XV101_OPEN_FB = TRUE,T2写为M101_RUN_FB = TRUE,T3写为T101_DONE = TRUE。
  4. 设置SFC的启动方式为“手动启动”,并勾选“步序监视”以便在线观察当前步。

关键点:SFC中的动作输出必须与CFC中已定义的变量名一致。如果CFC中电机启停回路使用的是M101_Start和M101_Stop两个脉冲变量,则SFC动作应改为调用对应的置位/复位逻辑,而不是直接写M101_CMD。本例假设CFC中已封装了M101_CMD作为电机启动命令位。

测试步序切换条件

使用PLCSIM进行仿真测试,按以下方法验证步序切换:

  • 启动SFC后,观察当前步是否为STEP1,同时XV101_CMD应为TRUE。
  • 在PLCSIM中强制XV101_OPEN_FB = TRUE,观察SFC是否从STEP1切换到STEP2,且M101_CMD变为TRUE。
  • 强制M101_RUN_FB = TRUE,观察是否进入STEP3,且T101_EN为TRUE。
  • 等待30 s或强制T101_DONE = TRUE,观察是否进入STEP4,且M101_CMD和XV101_CMD均变为FALSE。
如果步序卡在某一步不切换,优先检查转换条件中引用的反馈位是否在CFC中正确连接到了实际I/O,以及PLCSIM中该位是否被强制为TRUE。SFC的转换条件只在当前步激活期间被扫描,因此反馈位必须在当前步执行期间保持为TRUE。
SFC动作中不要使用沿触发指令(如上升沿),因为SFC步可能持续多个扫描周期。如果需要脉冲输出,应在CFC中单独组态脉冲逻辑,SFC只负责置位/复位命令位。

步序切换验证清单

检查项预期结果判断依据
STEP1激活时XV101_CMDTRUESFC在线监视中STEP1高亮,变量表监视XV101_CMD=TRUE
T1条件满足后步切换STEP1→STEP2强制XV101_OPEN_FB=TRUE后,当前步变为STEP2
STEP2激活时M101_CMDTRUE变量表监视M101_CMD=TRUE
T2条件满足后步切换STEP2→STEP3强制M101_RUN_FB=TRUE后,当前步变为STEP3
STEP3激活时T101_ENTRUE变量表监视T101_EN=TRUE,定时器开始计时
T3条件满足后步切换STEP3→STEP4定时完成或强制T101_DONE=TRUE后,当前步变为STEP4
STEP4激活时输出复位M101_CMD=FALSE, XV101_CMD=FALSE变量表监视两个命令位均为FALSE