sfc协助程序开发和维护

图形化的大纲通常有助于程序员组织思想;维护程序开发的内部逻辑;并在调试、运行和验证期间对问题进行故障排除。顺序功能图(sfc)在IEC 61131中被定义为为逻辑控制器编写程序的程序组织方法。

通过加里·a·明切尔 二二年十月一日

图形化的大纲通常有助于程序员组织思想;维护程序开发的内部逻辑;并在调试、运行和验证期间对问题进行故障排除。顺序功能图(sfc)在IEC 61131中被定义为为逻辑控制器编写程序的程序组织方法。

数学家们开发了离散事件的建模工具,称为Petri网。Grafcet从Petri网的工作中发展而来,并被设计用于建模逻辑控制器。控制器制造商看到了提供图形化组织和建模工具的机会,并开发了sfc。

sfc由“步骤”和“过渡”组成。“一个一步用带标签的矩形框表示。转换用一条水平线表示。步骤通过一条垂直线“连接”在一起,在步骤之间有一条过渡线与之相交。

步骤要么是活动的,要么是不活动的。一个步骤将在其内部算法或程序执行时变为活动状态,直到它完成为止。此时,转换中的逻辑变为真,前一步变为非活动,并激活下一步。

应用程序,很容易借给自己的SFC程序包括机加工线,某些批处理过程,材料处理和包装线。考虑一条自动化生产线,其中包含一个待加工的发动机缸体。在启动时,输送机将托盘移动到Op 1站。接近开关变为真值,使托盘停止并激活作业1的步骤-例如钻井作业。

op1算法通过在过渡码中设置位来控制钻取过程的终点;放下托盘停止;并允许托盘移动到Op 2,在那里重复该过程,这一次是扩孔操作。这个过程通过最后的操作和卸载来重复。

这个过程也可以很容易地成为一条流水线;其中,容器沿着搅拌器下的传送带移动,其中程序步骤控制物料混合和分配。最终包装是在一个步骤和过渡的基础上完成的。

在该标准下的步骤和过渡中的编程可以使用IEC 61131-3中的任何一种语言结构文本(ST),指令列表(IL),梯形图(LD)和/或功能框图(FBD)来完成。一些编程编辑器也将支持C语言。

例如,一个过渡可以是带有几个联系人的阶梯图的一级。当触点变为“True”时,就会发生转换,取消前一步并启用下一步。也可以使用ST中的布尔逻辑。

如果OEM拥有一些具有重要知识产权的专用算法,从而获得竞争优势,那么用C语言编写算法并在Step中进行编译的能力将非常有用。在这种情况下,搜索支持此特性的编辑器和控制器将非常重要。

分支证监会

sfc可以包含并行“与”分支或选择性“或”分支。考虑下面的图表。在初始步骤完成并且转换003为True之后,控制器将执行步骤004到014分支和步骤005。当两者都完成时,转换015变为True,停用014和005。

注意,在步骤004之后,有两个分支和两个转换。在完成步骤004之后,控制器扫描将同时查看过渡006和007。第一个变为True的转换将决定哪个分支将变为活动的。这类似于OR逻辑。

不同的编辑器和控制器对于如何扫描步骤和转换以及事件发生的顺序有不同的规则。优秀的程序员总是会意识到这个顺序,并据此编写程序。

sfc的图形特性有助于在调试和验证阶段进行故障排除。程序员或技术人员可以看到程序的进度,因为步骤变得活跃,然后被停用。当出现问题时,只需单击该步骤就会直接导致代码问题。由于这些是自动化项目的关键阶段,OEM的利润往往是赢是输,每个有用的工具都是巨大的资产。sfc可以成为这些重要工具之一。

PLCopen (Zaltbommel, Netherlands)的一个很好的参考文档可以在www.plcopen.org/training_education/SFC-textual.doc上找到。

Gary A. Mintchell,资深编辑gmintchell@reedbusiness.com