登录
首页 PLC论坛 施耐德电气PLC
回帖 发帖
正文

主题:[每日小技巧 191012] SoMachine软件中使用SFC编程如何获取当前执行到哪一步了?

点击:1080 回复:3

在SoMachine软件中使用SFC编程时,如何在别的POU中获取SFC执行到哪一步了呢?
首先,我们新建两个程序段POU和POU_1,其中POU_1使用SFC编程,我们在POU中读取POU_1运行到哪一步了(如下图所示)
附件 ae5ae0473b3948658c1591255220ee88.jpg
然后我们需要在GVL中新建一个结构体变量,数据类型是“SFCStepType”,变量名称为需要读取的步的名称,以读取POU_1中的step0为例(如下图所示)
附件 447ffa8749064f408549ec213e0d789f.jpg
最后我们在POU中调用该变量,可以看到当step0执行完后该变量置一(如下图所示)
附件 0e50aa2d992742dab926560eeb8832a7.jpg
这样我们就可以在其他POU中知道SFC执行到哪一步了。
其实还可以显示下一个循环的激活状态等其他标准,在SoMachine帮助中可以看到。
附件 TIM截图20191012175115.jpg
19-10-12 17:51
这种编程方式一直没用过
据说是个很方便的方式
这里在各个步里面用到的线圈是不会出现双线圈还是什么的??
有什么特点啊?
19-10-13 08:27
下一步执行的时候上一步就停止了,适合流水线需要一步步执行程序的地方。
19-10-14 11:03
这个停止了是什么概念呢?就相当于没有调用??所以外面的线圈变化不会影响到里面?
19-10-14 13:23

工控新闻

更多新闻资讯