自定义功能块编程在反渗透膜自动清洗设备中的应用
2018-01-17刘艳军
刘艳军
摘 要:以反渗透膜自动清洗设备中的加热器、补液阀和加药泵为被控对象,依据控制要求对自定义功能块进行了功能分析、功能设计。给出了运用西门子公司S7-200PLC编程软件V4.0 STEP7 MicroWIN SP9进行自定义功能块编程的方法。通过控制加热器的运行时序图验证了自定义功能块的有效性。自定义功能块编程技术能够减少用户编程量,缩短编程调试周期,提高工作效率。
关键词:自定义功能块;S7-200PLC;反渗透膜自动清洗设备
中图分类号:TP29 文献标志码:A 文章编号:2095-2945(2018)34-0027-03
Abstract: With the heater, filling valve and dosing pump in the reverse osmosis membrane automatic cleaning equipment as the controlled objects, the function analysis and function design of the self-defined function block are carried out according to the control requirements. The method of using Siemens S7-200PLC programming software V4.0 STEP7 MicroWIN SP9 to program the self-defined function block is given in this paper. The validity of the custom function block is verified by the operation sequence diagram of the control heater. Custom function block programming technology can reduce the amount of user programming, shorten the programming and debugging cycle, and improve work efficiency.
Keywords: custom function block; S7-200 PLC; reverse osmosis membrane automatic cleaning equipment
引言
可编程逻辑控制器(Programmable Logic Controller,PLC)具有安全可靠、易于编程、抗干扰能力强等诸多优点,一直以来在工业自动控制领域应用极其广泛。PLC常用的编程语言有梯形图(LAD)、语句表(STL)、功能块图(FBD)和顺序功能图(SFC)[1]。其中功能块图尤其是自定义功能块编程能够大大减少用户编程量,缩短编程调试周期,降低程序调试难度[2]。
反渗透是20世纪60年代发展起来的一项新的膜分离技术,是依靠反渗透膜在压力下使溶液中的溶剂与溶质进行分离的过程[3]。反渗透设备运行过程中,水质和水量的波动、操作不当或加药设备故障等都会使膜元件受到不同程度的污染[4]。反渗透膜自动清洗设备用于清洗受到污染的反渗透膜,延长反渗透膜的使用寿命。自定义功能块编程用于控制此设备中的加热器、补液阀和加药泵。
1 自定义功能块的功能分析
功能块由事件输入、事件输出、数据输入、数据输出、内部数据以及对这些参数进行操作的算法组成[5]。自定义功能块的功能以满足控制要求为原则,能够在控制程序中被不同的控制对象所调用。因此,自定义功能块的功能要依托所控对象的控制要求,输入输出信号特征进行设计。
在反渗透膜自动清洗设备中,依据清洗工艺一共设置五个工位,各工位由储液箱、管路、膜壳组成。对储液箱内溶液的加热、补液、加药控制工艺要求分两种情况。其一,在“手动”状态下通过上位机的触摸按钮能够实现各储液箱的溶液补充、溶液加热、药液加注功能。其二,在“自动”状态下各储液箱依据液位的高低反馈实现自动补液,依据温度的高低反馈实现溶液加热的自动启停,依据pH值实现酸碱药液的自动加注。
通过分析,利用自定义功能块实现上述控制工艺。则自定义功能块需要具备手动控制与自动控制两种模式,能够接收触摸按钮和传感器反馈的开关量输入信号,输出信号包括手动状态和自动状态下的控制对象使能。由此可得自定义功能块的输入输出(I/O)列表如表1所示。
2 自定义功能块的设计
功能块采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,它有梯形图编程中的触点和线圈等价的指令,可以解决范围广泛的逻辑问题。西门子、三菱等品牌PLC的较新版本编程软件都支持功能块图编程[6]。西门子S7-200PLC中自定义功能块又称作库文件[7],依据表1给出的I/O变量进行自定义功能块设计。
打开编程软件V4.0 STEP7MicoWIN SP9创建一个名称为“HEATER”的子程序,子程序的名称可以任意命名。在“HEATER”子程序中对照表1添加变量,如图1所示。其中的L0.0~L0.7是软件自动添加的变量,这八个变量属于PLC内部軟元件。在网络1中编写手动控制程序,网络2中编写自动控制程序,如图2所示。自定义功能块的内部程序中手动模式有启动、停止、自锁和传感器高限反馈保护,自动模式依靠传感器低限反馈启动,高限反馈停止,同时也有自锁功能。右击“库”,单击“新建库”,如图3所示。组件中选择“HEATER”——“添加”,属性中输入库的名称及库的文件夹保存地址,如图4所示。“确定”后不保存项目退出软件。
重新打开编程软件,右击“库”——单击“添加删除库”,打开对话框如图5所示,选择heater.mw1文件,点击“添加”。完成添加后在软件界面“指令”——“库”中就会出现添加的库(自定义功能块)。
经过上述设计过程,便可在主程序中对自定义功能块(库文件)进行调用,如图6所示。依据控制对象给自定义功能块的各引脚赋予对应的變量,从而利用自定义功能块实现不同对象的控制。在反渗透膜自动清洗设备中共有五个储液箱加热器,五个补液阀,三个加药泵,共计十三个控制对象利用这个功能块实现控制。
3 自定义功能块的功能验证
通过1#储液箱加热器和1#储液箱补液阀DC2101的控制进行自定义功能块的功能验证。由图6可知加热控制的变量功能分别是SM0.0功能块使能,M1.1手动模式,M0.4自动模式,M18.0、M18.1分别是触摸屏启动/停止1#储液箱加热器按钮对应的变量,I4.5是1#储液箱溶液低温反馈信号,I4.6是1#储液箱溶液高温反馈信号,M2.0自动模式下加热器使能,M2.1手动模式下加热器使能。当选择手动模式,M1.1接通,按下触摸屏的一工位储液箱加热按钮M18.0接通,则M2.1接通。M2.1接通后会接通PLC控制1#补液箱加热器的对应输出点,从而加热器通电运行。同理,补液阀DC2101的控制与加热控制类似。时序图通过描述对象之间发送消息的时间顺序来显示多个对象之间的动态协作[8]。如图7所示,手动控制1#储液箱加热器运行时序图。当SM0.0高电平时功能块使能接通,M1.1手动模式高电平,加热启动按钮高电平,加热停止按钮低电平时,M2.1是高电平,接通加热器。
4 结束语
自定义功能块编程技术在反渗透膜自动清洗设备中已得到实际应用和验证,效果理想。自定义功能块编程降低了程序设计的重复繁琐程度,使程序更趋向于模块化、结构化。在具体工程应用中要结合实际合理进行自定义功能块设计。
参考文献:
[1]张春青,于桂宾.机床电气控制系统维护[M].北京:电子工业出版社,2012:155.
[2]吴合福.自定义功能块在自动化设备中的应用[J].上海电机学院学报,2011(5):343-344.
[3]王艳,陈爱民,史志琴.反渗透膜离线清洗技术研究与应用[J].清洗世界,2010(1):16.
[4]王磊,王峰,胡志强.反渗透膜离线清洗影响因素[J].工业水处理,2013(3):90.
[5]王慧丽.功能块编程技术研究与组态软件设计[D].大连:大连理工大学,2008:8.
[6]王涛.功能块编程在剪板机定长送料伺服控制中的应用[D].青岛:青岛大学,2009:6.
[7]西门子中国.S7-200PLC编程软件V4.0 STEP7 MicroWIN SP9. https://support.industry.siemens.com/cs/document/58523240/step7-microwin-v4-0-sp8-%E5%92%8C-sp9?dti=0&lc;=zh-CN.
[8]马宝剑.开关量时序图在PLC实训教学中的应用[J].河南科技,2012(8):42.