浅谈UNITY Pro SFC的编写
2018-01-18郝兰英
郝兰英
摘要:可编程控制器的开发人员开发了若干编程元件以及功能图表,实现对顺序控制系统的更有效控制和编写。本文主要从程序编写方面浅谈施耐德UNITY Pro SFC编写经验及编写注意事项。
关键词:可编程控制器;顺序控制;功能图
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2018)09-0079-03
1 引言
在工业应用现场有许多控制系统都需要严格按照事先设计好的常规顺序进行进一步加工,并且加工工艺受到系统状态或时间等内在或外界因素影响的信号作用,有序的开展加工流程,而这种系统由于具有鲜明的顺序性特点,因此被称之为顺序控制系统,或步进控制系统。对于该系统的定义较多,最普遍的定义认为,顺序控制系统分为若干个子系统,分别执行独立的动作,并且动作的实施要具有明确的顺序性,从而保证系统的正常运行。顺序控制系统广泛的应用在如机械行业自动循环过程等领域内,对推动现代化工业发展具有积极作用。
顺序控制设计法是专门用来控制顺序控制系统的方法,这种方法的特点是相对简便,即使是初学者也能很快的掌握,并且其内容丰富,能够极大的提升经验丰富的控制人员的设计效率。同时,对于程序进行调试、调整更加简便。PLC控制系统的程序员,开发了如SFC(Sequential Function Chart)等专门用于顺序控制系统的功能表图、编程元件,其中顺序功能图作为一种全新的图形编程语言,能够按照事先设定好的程序执行,这也是国际电工委员会标准推荐的最主要的编程语言[1]。SFC程序可以很直观体现设备的动作顺序,可对复杂的过程或操作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。因此,SFC在PLC程序设计中,具有其他语言所无法替代的突出作用,使得SFC设计方法成为了PLC控制系统所采用的最主要编程方法。有些PLC配备顺序功能图语言,有些PLC没有配备顺序功能图语言,但不同品牌的PLC的SFC的编程大同小异[2]。下面我就针对在现场遇到的一些问题浅谈一下施耐德UNITY Pro SFC的编写经验和注意事项。
2 UNITY Pro SFC的程序编写
2.1 编程环境:Unity Pro 11.0
首先要根据设备的动作工艺将其拆分几个SFC。在程序新建段,選择SFC,如图1所示。语言:下拉菜单,选择SFC。保护:根据程序重要性,选择是否为“不可读写”。条件:为BOOL变量,用来决定该SFC是否启用,现场用。名称:可用中文命名。但必须进行向应的设定:选择工具——然后选择项目设置——然后选择变量——最后在属性标签字符集设置属性值unicode”,如图2所示。
2.2 程序编写
SFC包含步骤、宏步(嵌入式子步)、转换(转换条件)、跳转、链路、替代分支、替代结点、并行分支、并行结点。具体的含义可以参考一下UNITYPro的帮助参看。下面简单介绍一下如何使用编写。
首先,在空白SFC的段中,点击工具栏中SFC要素,进行添加。画成如图3所示的SFC流程图,但是流程图中必须有初始步,双击步S_3_1,在步属性中勾选,如图3所示。在图3中MS_3_8是宏步,双击可以继续添加一个SFC流程图,进行嵌套。具体情况可根据设备的复杂程度来设计。
然后,就是进行步内容的添加,也就是按照工艺进行每一步的执行动作。双击步,在步属性设定动作,如图4所示。需要说明的是动作是按顺序执行的,动作顺序需要按照加工工艺进行添加。限制器中常用有:N--当前步执行;R/S--复位和置位,多用来表示该动作需要跨步进行;D--延时执行该动作。时间格式为:T#3S,或者为TIME变量。动作区域里可以用变量,如果复杂逻辑就需用动作段来进行编写。
如果在当前步完成后,需要设定转换条件,可以为变量(接近开关)或者段,如图5所示。如果动作段或者转换段编写完后,需要修改,可以在程序》任务中找到,如图6所示。
最后,通过以上就可以简单做一个SFC程序。但是在实际运行中还要考虑运行退出的问题。
2.3 现场经验
下面以一实际现场为例,在该现场应用了INITCHART功能块如图7所示。相对于用于序列控制的所有功能和功能块,INITCHART具有最高优先级,可以将该SFC所有步复位。但是需要注意:其中S置位动作和段里的输出点不能复位,需要单独复位。
INITCHART功能块的输入输出参数描述如表1所示。
在现场中替代分支和并行分支使用也很大,下面我就简单分享一下在该现场帮助很大的替代分支和并行分支。运行肯定会有多工位运行或者有选择的工位运行,该现场则分为左、右,如图8所示。
图8中最上面和最下面的水平连线为一组,中间的两条水平连线为一组,正常情况下都应该都像中间的两条水平连线一样,并行开始并行结束或替代开始替代结束。实际应用中左和右的选择是随时切换,用替代分支结束来替换并行结束这样就可以简化程序,在下一个工位前判断完成位就可以了。用替代分支还需打开多令牌行为,如图9所示,选择工具—然后选择项目设置—然后选择程序—然后选择语言—最后选择SFC多令牌。
但是需要注意的是:并行分支结束:需要所有分支都要进行完毕,建议在动作步下面再建一个空白步,否则在当前分支完成后,等待其他分支完成时,其输出动作还在继续。替代分支结束,并不是上面所有的步结束,其另外一个并行分支还在继续,如果条件满足会继续执行,一定要做好互锁条件,当前SFC完成后,用INICHART退出SFC。
3 结语
顺序功能图(SFC)是一种图形化语言,可以在一个程序内按照时间顺序对动作进行编辑描述,这些动作可以作为独立的编程对象。SFC的编程有固定的方法和步骤可以遵循,整个过程清晰、直观,可以大大减少编程的工作量,大大提高了编程效率。所以对于比较复杂的步进顺控过程应优先选用SFC编程。本文简单谈了谈施耐德UNITY Pro SFC的编写,总结了一些编写经验及编写注意事项,比如:现场应用 INITCHART功能块及分支使用注意事项。
参考文献
[1]侍寿永.西门子S7-200 SMART PLC编程及应用教程[M].机械工业出版社,2016.
[2]赵晓明,郑渊.三菱PLC控制技术应用[M].中国电力出版社,2014.