朱 林 李兰云
(内蒙古科技大学信息工程学院,内蒙古 包头 014010)
在稀土元素生产过程中,要求能够对每种料液的流量进行准确、可靠、便捷的控制[1-2]。早期流量控制采用各种耐腐手动阀门、电动阀门等,这些阀门改变流量时均需反复标定才能达到要求,这给生产人员带来了极大不便,且准确度也较差。随着工艺的提高,这些阀门已很难满足要求。此外,以往使用的流量控制器所控制的输送水车经常出现转动不稳定等现象,直接影响了萃取质量。现有的一些常规流量控制方法,如采用自动调节阀、流量计和回路调节器构成的流量控制系统,其精度虽高,但是造价昂贵、可靠性差,尤其当物料中含有固体异物杂质时更易出现故障[3]。
针对以往流量控制设备的不足,提出采用嵌入式系统对液体流量进行控制。该嵌入式系统使用的应用软件为北京昆仑通态生产的嵌入版组态软件MCGSE,嵌入式设备为TPC7062K。TPC7062K是一套以嵌入式、低功耗CPU为核心的高性能一体化工控机。MCGSE使TPC7062K具有丰富的人机界面、标准的逻辑控制功能和数据存储功能,可以使其实现现场工作站级计算机的功能[4]。
生产现场所使用的流量自动控制装置是通过嵌入式系统、变频调速系统和水车式流量计相组合实现的,调整水车式流量计的转速可以精确地控制液体的流量。流量控制系统由液位自动调节装置、水车式流量计、异步电动机、变频器和嵌入式工控机TPC7062K组成,其结构如图1所示。
图1 流量控制系统结构图Fig.1 The structure of flow control system
流量控制执行机构包含液位自动调节装置、水车式流量计和异步电动机。液位自动调节装置使液位在一定范围内保持恒定,以满足流量控制精度的要求。液位自动调节装置是一个浮子结构,当液位高于某一值时,活塞堵住液体入口,使液体不能进入;当液位低于某一值时,入口打开,使液体流进装置内。水车式流量计将液体以与转速成正比的速度输出,然后流进萃取槽中。设水车上每个斛斗的有效容积为V,斛斗的个数为M,水车转速为n,则液体流量Q为:
V由所控制的流量值的大小决定(流量范围为1~80 L/min),M为8个,即 V和 M是常数,则流量Q∝n。因此,控制水车的转速就可以控制液体的流量。由图1可知,水车式流量计与异步电动机同轴相连,即水车的转速与电机的转速相同,所以可以通过控制电机的转速来控制液体的流量值。
生产现场使用的电机为感应式交流异步电动机,其旋转速度近似地取决于电机的极对数和电源频率,即n=60f/p。电机一旦生产出来,其极对数p将固定不变,而电源供电频率f可以在外部调节好后再供给电机,因此,以控制频率为目的的变频器是电机调速的优选设备。
在稀土生产过程中,需要控制萃取剂、稀土料液和洗涤剂的流量,因此需要安装3台变频器。生产现场安装了嵌入式工控机TPC7062K,通过工控机可以完成对现场3台变频器频率的快速准确控制,并读取变频器的运行状态。
TPC7062K是一种带微处理器的智能终端、具有计算机功能但又不称之为计算机的设备,其操作系统是Wince.NET,与 之 匹 配 的 应 用 软 件 是 MCGSE。TPC7062K具有 RJ45接口、RS-485/232串口和两个USB接口,生产现场安装的是英威腾系列的变频器,只具有RS-485串口,所以本系统选取RS-485串口作为变频器和工控机的通信接口,通信协议采用Modbus RTU协议。
在PC机上,通过MCGSE组态软件,对流量控制系统进行组态。MCGSE的功能强大,人机界面丰富,“设备驱动子流程库”内部兼容了常用的硬件设备[5]。由于英威腾变频器的特殊性,需要用户自行开发该设备的驱动脚本。因此,组态过程包括组态界面的绘制和脚本驱动的开发。将组态好的系统通过USB接口或以太网口下载到TPC7062K工控机实时运行,使其具备现场工作站级计算机的功能[6-7]。
现场操作人员和变频器之间的信息交互是通过工控机上实时运行的人机界面实现的。根据生产工艺,确定稀土料液流量,并按一定的换算关系计算出变频器的频率值。按下“启动”按钮,启动变频器,设置好频率后按“发送”按钮,频率值将通过RS-485总线发送到变频器的控制端。操作人员还可以通过人机交互界面读取变频器的状态以及变频器的运行频率,真正实现人机信息交互。
在生产过程中,需要控制稀土料液流量、萃取剂流量和洗涤剂流量。在稀土料液流量控制界面中,点击右侧“萃取剂流量”、“洗涤剂流量”按钮即可进入相应的控制界面。此外,当变频器遇到故障或萃取槽运行状态需要停止时,可以通过“复位”和“停止”按钮使变频器处于复位和停止状态。要实现上述功能,必须解决变频器和工控机之间的通信问题。
MCGSE功能强大,“设备管理器”工具箱内部兼容了常用硬件设备的脚本驱动。设备窗口通过设备构件采集外部数据,并将这些数据送入实时数据库,或将实时数据库中的数据输出到外部设备。
生产现场使用的是英威腾变频器,工具箱内部没有该系列变频器的设备驱动,所以需要用户自行编写该设备的脚本驱动,以完成嵌入式系统与变频器的通信。
嵌入式工控机与变频器之间通过RS-485串口进行数据交换,通信协议采用 Modbus RTU协议[8]。Modbus是一种主从网络,主站可向从站发送多个数据请求,每个从站都有自己的地址编号。主站首先向从站发送通信请求命令,从站根据主站指令中的功能码向主站返回数据。主站所发的请求帧和从站所发的应答帧都是以从站地址开始的。从站只读取发给自己的指令,保证一对一传输[8-9]。在本系统中,工控机作为主机,变频器作为从机。生产现场安装的控制稀土料液、萃取剂、洗涤剂流量的变频器地址分别为01H、02H和03H。
在RTU通信模式中,新的通信帧总是以一定的传输时间静默,每个从机设备始终监视着通信总线的活动(即使在静默时间间隔内)。当接收到第一个域(地址信息)后,从机设备都对该字节进行确认[10]。随着最后一个字节的传输完成,又有一个类似的传输时间间隔,用来标志本通信帧的结束,在此之后将开始一个新帧的传输。RTU帧格式如表1所示。
表1 RTU帧典型帧格式Tab.1 Typical format of RTU frame
下面结合一个具体的实例来阐述RTU主机命令信息和RTU从机回应信息。在将5000(1388H)写到从机地址02H变频器的0008H地址处时,设备地址为02H。由于是由主机对从机的写操作,所以功能码为06H(03H为读操作);数据包含写数据地址高位00H、写数据地址低位08H、数据内容高位13H、数据内容低位88H;CRC校验是根据数据内容得出的校验结果,包含校验内容的高位和低位。
每个从机接收到主机命令后都要进行地址判断,只有从机地址为02H的变频器回应主机命令信息,RTU从机回应信息帧格式和RTU主机命令信息帧格式完全一样。根据RTU通信帧的格式可知,若已知变频器某些功能所对应的寄存器地址和该寄存器所存放的数据代表的意义,就可以轻松实现对变频器寄存器的读写操作。本系统需要通过工控机设置变频器的频率、读取变频器的状态和运行频率以及控制变频器的启停。变频器功能地址说明如表2所示。
表2 变频器功能地址说明表Tab.2 Description of the function and address for inverter
利用MCGS脚本驱动开发工具V2.0编写变频器的设备驱动。脚本驱动屏蔽了大量技术细节,操作简单是脚本驱动最大的特点,只要会使用MCGS软件,初学者在4~5 h内就可以全面掌握脚本驱动程序的开发过程[6]。在整个开发过程中,用户只需分析设备的通信协议并解析从设备读取回来的数据,这样就可完成设备驱动的编写、调试和现场应用。文中已经对设备的通信协议进行了详细的分析,且已知变频器特定功能的地址和数据代码,接下来可以快速编写此设备的驱动程序。
以控制稀土料液流量的变频器为例,此变频器的设备地址为01H,变频器的启动代码如下:
人机交互界面上变频器的“启动”按钮属性设置为“按下为1、松开为0”,按下启动按钮,则Start=1;工控机将通过RS-485串口,向变频器内部地址为1000H的寄存器写入数据0001H,启动变频器。为了保证数据的准确传输,需要对数组SendByteArr进行CRC校验;!DevWriteAndReadByteArr()函数的作用是向串口发送SendByteArr数组的前8个字节,发送完毕后再从串口读取数据。如果已经读取了RecByteArr1数组的8个字节,或是在通信延时时间(200 ms)内未读取完毕,则返回,该函数的返回值是读取的字节数;如果读取的字节数不是8,则说明存在通信故障,将通信状态设置为2,通信正常时通信状态值为0。变频器停止和故障复位的代码以及设置变频器频率的代码与此代码类似,都是向变频器写数据,只需改变寄存器的地址和相应的数据内容即可。
读取变频器的状态和运行频率时的代码与上述代码类似,只需将功能码06H改为03H,将读取的数据个数写到数组的对应位置上,代码的其他部分不变。读取回来的数据需要进行解析,读取变频器运行状态的部分解析代码如下。
其中“!SvrGetShortFromByteArr()”函数用于将字节数组DataByteArr中从起始位置开始的内容输出到变量“开关数据”中,输出的格式为4字节整型。然后通过“!SetSingleChannelValueByName”函数将解析好的数据送入相应的通道。
由上述代码可以看出,脚本驱动程序的开发是相当简单的,开发好的程序以mdr格式保存。然后将编辑好的mdr文件拷贝到MCGSE安装包D:/program files/MCGSE/Program/Drivers文件夹下,即可在设备管理器中调用此设备驱动,实现工控机与变频器的通信。
将变频器脚本驱动加载到MCGSE设备窗口后,在软件的实时数据库中添加相应的数据类型;接着对所添加的数据进行设置,使组态软件数据库中的数据与变频器寄存器内的数据相对应;然后根据绘制好的人机交互界面重新设置组态系统的相关特性;最后将组态好的系统下载到TPC7062K工控机上,实现工控机与变频器的通信[11-12]。
稀土萃取流量控制系统通过自行开发的变频器设备驱动,真正实现了人机信息交互,大大提高了整个生产系统的自动化程度。系统性能稳定可靠,适于长期连续工作,故障率低。本系统已在稀土生产单位投入使用,它很好地完成了流量控制任务,取得了较大的经济效益。
[1]徐光宪.稀土[M].北京:冶金工业出版社,1995.
[2]柴天佑,杨辉,张肃宇,等.稀土萃取分离过程综合自动化系统[J].控制工程,2005,12(1):1 -7.
[3]韩旗英.稀土萃取分离技术现状分析[J].湖南有色金属,2010,26(1):24-27.
[4]汪小利,蒋金周.基于MCGS的供水泵站远程监控系统[J].南通职业大学学报,2007,21(3):92 -94.
[5]孟凡德,张颖,罗玲.MCGS组态软件的应用及驱动程序开发[J].化工自动化及仪表,2004,31(1).
[6]邹伟,杨平,徐德.基于MCGS组态软件的上位机控制系统设计[J].制造业自动化,2008,30(12):103 -107.
[7]姚文轩.MCGS与三菱FX系列PLC通讯方法的探讨[J].企业技术开发,2010,29(1):97 -98.
[8]王力.ModBus RTU从站通信协议在嵌入式系统中的实现[J].石油化工自动化,2011,47(5):46 -48.
[9]王兆华,孟文,王文玺.ModBus协议在变电站监控组态软件中的实现[J].自动化与仪表,2007(3):46-50.
[10]吴杰.MODBUS通讯协议在水厂供电系统中的应用[J].微计算机信息,2006(7):248-250.
[11]钟绍俊,黄镇海,黄艳岩.LabVIEW与三菱变频器的通讯实现[J].微计算机信息,2006,22(1):104 -106.
[12]孔祥艳.基于虚拟仪器的变频器测试系统的设计与实现[D].苏州:苏州大学,2008.