前面学习了SFC的一些基本概念,今天做一个简单的程序体会一下。先做一个简单的功能,没有分支,没有并行,达到条件就到下一步执行。
这个程序的基本功能是:点击Start按钮,开始SFC。
第一步:打开入口阀V1。
如果液位LT1000高于1000mm时
第二步:关闭入口阀,启动搅拌器M1。
如果温度低于50℃
第三步:打开出口阀V2
如果液位低于300mm时候
第四步:关闭出口阀
结束SFC。
1. 这一次完全新建一个项目。简单配置一下软件、模拟器、操作员站、IP地址等
2. 双击打开SFC 层级,配置各个步骤和条件
在左边树形结构可以看到增加了一系列层级,新增的SFC层级下建立各自的程序,FBD编程方式。程序列表层级下建立一个程序列表的层级,程序列表层级下建立一个SFC启动的FBD程序段。
3. 在SFC启动程序段写下面的逻辑
这些逻辑的含义是点击复位按钮,SFC复位,步骤号赋值为0,SFC_GO复位为0;点击START按钮,开启SFC,这两个按钮都是脉冲信号。
4. STEP1程序段写下面的逻辑
这些逻辑的含义是取消V1关闭指令,V1打开指令设置为1,当前步骤号为1
5. TJ1为第一步的条件,逻辑如下
这逻辑含义是如果液位高于1000mm,就可以进入第二步了。
6.在STEP2程序段写下面的逻辑。
含义是册小V1的打开指令,关闭V1,运行搅拌器M1,将当前步骤号定义为2.
7. 在TJ2设置下面的逻辑
逻辑含义时判断温度是否低于50.0,如果低于50.0就进入下一步。
8. 在Step3程序段写下面的逻辑。
逻辑含义是停止运转搅拌器M1,打开出口阀,当前步骤号定义为3.
9. 在TJ3写下面的逻辑
逻辑含义是液位低于300.0,进入下一步。
10.在STEP4写下面的逻辑
打开出口阀V2,步骤号定义为4
11.在TJ4写下面的逻辑
因为STEP4就是最后一个步骤了,所以TJ4就不做什么判断了。
12.打开SFC层级,点击菜单编辑-SFC参数编辑
保存设置
13 在过程站SYS.TASK层级的过程站.RUN下面新建一个程序列表,程序列表建立一个初始化的FBD程序,这里是为了在控制器启动时初始化液位和温度数值
14.在操作员站下面建立一个FGR和一个SFCP,FGR是为了显示变量的状态,画面如下
15. SFC显示和前面建立的SFC关联,遮掩运行阶段就可以看进展到哪一个步骤了
保存,检查没有错误。
家宅意见和逻辑、操作员站
运行起来可以看到当前的参数数值
点击工具栏上的顺控图显示按钮,选择刚才新建的SFC显示,就能够监视运行到那个步骤以及条件是否满足了
由于没有实际的硬件,所以液位、温度数据都只能在线时候修改。通过修改数值,可以看到SFC逐个步骤运行的效果。