自定义功能块在自动化设备中的应用
2011-01-16吴合福
吴合福
(施耐德电气(中国)有限公司上海分公司,上海 201203)
自定义功能块在自动化设备中的应用
吴合福
(施耐德电气(中国)有限公司上海分公司,上海 201203)
分析了Schneider公司PLC Unity Pro软件所带有的自定义功能块(DFB),对功能块进行创建与设置,并在可编程逻辑控制器(PLC)程序中予以实现,实施对气缸的控制。应用结果表明,通过对DBF的应用,使控制设备所有相关的逻辑与显示都集中在一个单独的功能块中,既方便了程序的管理与修改,又能简化程序、方便调试,大大减少了编程工作量,提高了工作效率。
自动化设备;气缸;可编程逻辑控制器;自定义功能块
随着人力成本的提升和自动化程度的提高,越来越多的设备或生产线从以人工为主转变为自动化或半自动化。气缸是自动化设备和生产线中最常用的工具之一[1]。一个自动化设备可以需要几个或几十个气缸来实现,一条生产线更是多达上百个;因此,针对气缸的状态检测和精确控制研究,对提升控制系统的性能、提高整条生产线的生产效率具有重要的现实意义[2]。
可编程逻辑控制器(Programmable Logic Control,PLC)诞生于20世纪60年代。由于其能够为自动化控制应用提供安全可靠和比较完善的解决方案,为各种各样的自动化控制设备提供了非常可靠的控制应用;因此,一直处于工业自动化控制领域的主战场[3]。随着PLC的不断发展,其应用已经扩大到各行各业,从低端到高端,可谓是无所不在[4]。现在的PLC控制系统软件中都含有“用户自定义功能块”功能。利用该功能,可以大大减少用户编程量,缩短编程调试周期,降低程序调试难度。
Schneider公司的Modicon Premium自动化控制平台提供了较好的性能和扫描周期时间;可根据应用选择适合的IEC语言,在其储存能力支持下,能提供较好诊断,其专业功能包括:① 多个通讯端口Ethernet TCP/IP,CANopen;② 多种专用功能模块,包括安全、反射处理、计数、运动控制、称重、回路调节等;③ 提供透明就绪的服务,可以完成I/O扫描、全局数据、Web服务器、E-mail提醒功能、数据库直接访问等;④ Unity Pro平台下的双机热备;⑤ 具有涂层保护模块,适用于恶劣环境。
本文针对Schneider公司的PLC Unity Pro软件所自带的自定义功能块[5],通过对气缸控制,探讨自定义功能块在PLC编程中的应用。
1 气缸控制方式与逻辑
自动化设备中,常用气缸有单电控气缸和双电控气缸两种。单电控气缸有一个气路,通过供气和断气来控制气缸的推出和退回的动作;双电控气缸由两个气路控制,一路控制气缸推出,一路控制气缸退回。
气缸控制分为手动和自动方式两种,在手动方式下,气缸根据操作员的输入信号,推出或退回;自动方式下,气缸根据程序的要求而动作。
一般情况下,气缸的状态应实时显示在界面上,与上位机保持通信联系。气缸在工作中会出现故障,设备需要判断出故障的类型,并在人机界面上予以提示。
2 气缸控制在PLC Unity软件中的实现
Unity是施耐德电气自动化的核心产品,它是新一代的软硬件自动化平台。基于开放性和对工具的协同式应用,Unity在软件开发和控制系统运行上达到了更高的水平,其主要功能特征如下:①5种IEC编程语言,包括功能块图(Function Block Diagram,FBD)、梯形图(Ladder Diagram,LD)、顺序功能图(Sequential Function Chart,SFC)、结构文本(Structured Text,ST)、指令表(Instruction List,IL),适用于各种应用需求;② 用图形化的方式来设置复杂的专用函数;③ 具有更多的调试工具,如PLC仿真器和运行期画面等;④ 易于维护,所有模块均可在通电状态、PLC运行时进行更换;⑤ 更高的标准化和重用水平,包括非定位符号变量、结构化数据、用户块等;⑥ 更多协同,如XML导入/导出,VBA,VB和C++编程接口等。
2.1 创建气缸的自定义功能块
在Project的DFB Type中创建自定义功能块Cylinder,如图1所示。
图1 自定义功能块Fig.1 Derived function block
2.1.1 Input变量 输入变量主要是输入气缸的状态,如气缸的位置输入信号、安全保护信号及操作指令复位的信号等。包括:
2.1.2 Output变量 输出变量主要是控制和操作气缸的指令,如推出和回复指令等。包括:
气缸推出(指令)(Sortie);
气缸返回(指令)(Returns)。
2.1.3 Input/output变量 既可输入变量,也可输出变量,如功能块与人机界面的接口,以及与PLC输入信号的接口。包括:
2.1.4 Public变量 公共变量可以在功能块外部调用。包括:
2.1.5 Private变量 专用变量只在功能块内部使用。包括:
2.2 控制逻辑的实现
功能块的变量创建完毕后,就可以在其Sections下创建气缸的控制逻辑。本文先创建一个名为code的梯形图(LD),如图2所示。
图2 功能块控制逻辑创建Fig.2 Creation of the DFB control section
打开梯形图code,创建功能块的控制流程,实现设备对气缸的操作和控制等功能,主要包括手动方式下的控制、自动方式下的控制、控制指令复位、故障处理、与人机界面的交互等内传。功能块控制逻辑如图3所示。
3 自定义功能块在PLC程序中的应用
自定义功能块创建后,经编译通过,即可在主程序中调用。与程序自带的功能块相比,除在使用方法上相同外,自定义功能块能根据需要随时修改其变量和控制逻辑。
3.1 自定义功能块的调用
在主程序中,对自定义功能块Cylinder调用,实现对气缸cylinder1的控制,如图4。
Cylinder1模块的左侧引脚是气缸控制模块的输入信号,右侧窗口为模块的输出信号,这样气缸1所有的控制逻辑、故障处理、状态显示等有关信息都在一个功能块中实现。
图3 功能块控制逻辑图Fig.3 Logics of DFB
图4 功能块在项目中的应用Fig.4 Application of DFB
对于功能块内部的变量,通过调用可被程序引用。如,cylinder1.mem_fault_return为气缸1的返回故障信号,其可在程序中按照变量使用。
3.2 应用效果
气缸1的所有输入、输出状态都能在一个页面中显示,逻辑清晰,能迅速准确地发现问题,作出及时判断。实际调试中,该优点得到了充分体现。在应用和调试过程中,若发现气缸有需要修改的逻辑或显示等,可重新编辑该自定义功能块的内部逻辑或变量,编译通过后,就完成了对程序中所有气缸的修改,而不再需要逐个改动,减少了很大的工作量。对某一个特殊气缸,若需要单独修改其某一点的逻辑,不需要修改功能块的逻辑,只需通过对该气缸变量的调用,在功能块外做单独
改动。这样保证了该功能块的通用性。
4 结 语
通过对自定义功能块的应用,使与气缸控制所有相关的逻辑和显示都集中在一个单独的功能块中,既方便管理、修改,又能简化程序,方便调试,减少了编程人员的大量工作。本文只是针对气缸控制进行介绍,同样也适用于接触器等元器件,编程人员可以根据需要做相应修改。
[1] 尹秀丽,曹常贞.一种微型自动往复气缸[J].液压与气动,2010(7):68-69.
[2] 杨 亮,王 鸣.基于单片机的气缸压力检测仪的设计[J].安徽工程科技学院学报:自然科学版,2010,25(2):75-79.
[3] 王晓光.嵌入式PLC的设计与研究[D].成都:西华大学,2010.
[4] 王啸东.PLC控制系统设计方法解析[J].自动化与仪器仪表,2011(1):43-44,48.
[5] 施耐德电气有限公司.施耐德PLC编程软件(Unity Pro xl)V5.0[EB/OL].(2010-07-27)[2010-10-27].http://www.schneider-electric.cn/sites/China/cn/support/download-center/documents list.page?c_Type_Of_Centent=570.
Derived Function Block and Its Application in Automatic Equipment
WU Hefu
(Schneider Electric(China)Co.,Ltd.Shanghai Branch,Shanghai 201203,China)
This paper analyzes the derived function blocks(DFB)of the software Schneider programmable logic control(PLC)Unity Pro,creates and sets the function blocks,and applies them to a PLC program to control a cylinder.By using DFB,all logic control devices and the display are integrated within a single block.It is necessary to facilitate the program management and changes,and simplify debugging procedures so as to significantly reduce the programming effort and improve efficiency.
automatic equipment;cylinder;programmable logic control(PLC);derived function block(DFB)
TP 273
A
2095-0020(2011)05-0343-04
2010-08-15
吴合福(1974-),男,工程师,专业方向为工业自动化,E-mail:hefu-henry.wu@schneider-electric.com