杨 帆,王钰涌,张馨以,李 博,刘 水
(1.西北工业大学 伦敦玛丽女王大学工程学院,陕西 西安 710072;2.西安捷达测控有限公司,陕西 西安 710199)
选矿企业破碎生产线主要包含震动给料机、颚式破碎机、圆锥破碎机、润滑机、皮带机、筛分机、空压机、仓储料斗等大量重型的机械设备。文献[1]中指出破碎生产线设备能否长时间内安全健康运行对于选矿企业稳定生产至关重要。由于矿山企业一般处于偏远的山野当中,破碎生产线长而复杂,如果某个设备出现问题不能及时发现而耽误处理修复,这势必会给企业带来生命财产安全危险。目前国内大部分选矿企业破碎生产线设备基本采用人工定时巡查的方式现场操控管理,并辅以本地仪器仪表现场监测预警。文献[2]中指出随着矿山企业生产范围越来越广,选矿传统手工方式逐渐显现出较多问题,其表现出工作劳动强度大、出现问题处理滞后性强等缺点。另外选矿设备噪音与粉尘污染较为严重,这对于长时间现场值守的工人身体健康极为不利。
随着互联网与工业4.0的浪潮席卷而来,大部分选矿企业信息化基础设施都已经普及到矿山生产现场,为工人通过移动手机终端远程监控破碎设备提供了必要的基础。Android,其中文名为安卓,是一种由美国Google公司开发的基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备如智能手机和平板电脑,具有非常好的开放性,占据了国内大部分手机终端市场。PLC,其中文名为可编程控制器,文献[3]中指出PLC是专门为恶劣环境下实现逻辑运算、算术运算、故障诊断、远程通信、实时控制等功能的电子装置。文献[4]中提出PLC广泛应用石油、化工、矿山、建筑等行业设备的自动化控制,其非常适合破碎生产线多设备可靠稳定的协同逻辑控制。
因此,该文拟基于Android与PLC技术研究开发选矿设备远程网络测控系统,通过PLC采集选矿生产设备运行电流、电压、温度、油压等各种参数,经企业有线局域网(LAN)传送到服务层中心计算机集中管理存储,最后通过无线WIFI、4G或者5G传送到操作人员的手机APP上,操作人员发现问题可以及时对违章行为和故障设备进行停机处理,从而提高设备运行的安全性和稳定性,保证生命安全和财产安全。
网络拓扑结构(Topology)就是指用有线或者无线传输媒介把各种通信设备或者操作终端互相连接起来形成的逻辑布局结构图形。网络拓扑结构按形状分类有:总线型(Bus)、星型(Star)、环型(Ring)和网状(Mesh)等。根据矿山企业选矿设备位置分散以及不同的设备可能分别由不同的技术人员管理的特性设计出如图1所示的破碎生产线2-Star型网络拓扑结构,它由下星(Down-Star)网络与上星(Up-Star)网络组成。
下星(Down-Star)网络位于整个破碎生产线网络拓扑结构的下半部分,它包含下部中心节点PLC以及与之通过现场总线相连的破碎生产线上各个设备。PLC是整个下星结构的控制中心,它通过4 mA~20 mA A/D实时采集生产线各个设备电流、电压等运行参数状态或者通过D/A信号控制其运转频率、阀门开度,通过24 V开关量DI采集其运行、报警、过载等状态信号以及通过DO控制其启动、停止动作。
图1 破碎生产线2-Star网络拓扑结构
PLC可以选择一体机与机架式机型,考虑到现场设备数量众多与种类繁杂,建议采用机架式结构,这有利于系统后期测控的扩展与升级。机架式结构PLC一般由各种独立的模块如电源、CPU、DI、DO、A/D以及D/A等模块组成[5],其提高常规的RS232/RS485串行通信接口或者新型RJ45网络接口,支持的协议有Modbus RTU与Modbus TCP[6]。常见的可以用于破碎系统的PLC品牌有:Omron CJ2M系列、Siemens S7系列、Mitsubishi A系列等。
下星结构的各设备传感器采集信号与控制输出内容如表1所示。
表1 各设备传感器采集信号与控制输出内容
表格中Current表示电流,Voltage表示电压,Temperature表示油温度,Pressure表示油压力,Level表示物位计高度,On表示开启设备,Off表示关闭设备,Freq表示电机变频器频率,None表示无。该表格列出了典型的破碎系统中常见的测量与控制设备,其数量分别为1到多个,在具体实施部署系统的时候,可以根据选矿企业的实际破碎工艺可以适当增减其设备的种类与数量,同时调整相应的PLC开关量与模拟量模块的数量。
上星(Up-Star)网络是该系统设计与实现的最终目的,是为了方便选矿企业操作人员和技术工程师本地集中操作与远程实时监视与控制。上星网络的中心为ICC(Industrial Control Computer),其中文名为工业控制计算机,简称工控机,它安装于选矿企业的中控室,方便操作员集中测量与控制,其通过RS232/RS485串行通信接口或者RJ45网络接口跟下星PLC的高速通信交换数据,目前主流的通信接口为以太网RJ45,正常情况下ICC与PLC通过企业的交换机(Switch)、路由器(Router)接入到企业的局域网(LAN)。
ICC中安装破碎生产线DCS系统,一方面可以实时采集PLC中分散在生产线各个部位的设备运行状态、控制其启停,另一方面给选矿企业的若干授权Android终端提供网络数据服务,让相关操作人员或者技术人员可以通过企业无线WIFI、4G、5G就可以远程实时查看设备的运行参数、故障状态等信息[7],在权限允许的前提下,可以通过远程指令应急启停工艺前后关联设备进行排查故障,使得生产受损尽可能的小,同时最大程度地保证了设备与人员的安全。
根据前述选矿破碎生产线网络拓扑结构设计可知该系统需要设计对应的PLC软件、ICC软件、Android软件系统。
破碎系统PLC软件根据不同的厂家的PLC开发环境进行编程,其语法基本都支持传统的梯形图(LAD)、类高级语言的结构文本(SCL或者ST)、流程图(Graph)等[8],该文以Omron CJ2M PLC为例介绍其设计思想与算法。根据破碎生产线设备实时采集控制、安全启停、远程通信快速响应的需求,设计的PLC软件模块运行原理结构如图2所示,其包含循环调度模块、信号采集模块、数字滤波模块、逻辑控制模块、故障诊断模块、顺序启动模块、顺序停止模块、通信处理模块等,它们通过共享数据模块进行内部通信与交换数据。
图2 PLC软件模块运行原理结构
PLC循环调度模块为系统主控模块,它以循环扫描的方式动态选择控制其他模块的运行,其算法流程如图3所示。
图3 PLC主控循环调度模块算法流程
在整个程序运行开始即PLC上电后它负责给所有的模块进行初始化破碎控制参数,系统运行过程中,根据事件的取值不同动态调度其他模块的执行。主控模块正常情况下依次通过信号采集模块扫描破碎生产线设备所有的模拟量传感器与开关量传感器数据,将采集到的数据通过数字滤波算法放入共享数据模块的缓冲区中,进而通过逻辑控制模块扫描用户控制柜按钮操作或者设备的本身连锁信号进行继电器开关设备,若采集或者逻辑控制中发现故障信号立刻执行故障诊断模块进行安全智能操控处理。最后查看外部事件Event,如果有顺序启动事件发生即Event=1,则执行顺序启动模块,若有顺序启动事件发生即Event=2,则执行顺序停止模块,若有上位ICC的通信请求即Event=3,则需要执行通信处理模块。
为了提高软件的可靠性与稳定性,PLC软件开发中需要使用很多数据处理或控制算法,限于篇幅只介绍如下主要算法:
(1)数字滤波算法。
考虑到大部分破碎设备都是大电流、高功率机电产品,其运行受到环境噪声的严重周期性干扰,因而需要采用适当的数字滤波算法提高采集数据的可信度。该系统采用工业上比较成熟的递推平均值滤波算法(Recursive Average Filtering Algorithm,RAFA),其数学表达式如公式(1)所示:
(1)
算法主要思想如下:在PLC的共享数据模块中创建一个遵循先进先出(FIFO)原则的队列数组,数组的长度为常量N,每次采集之前将队列从后往前移动淘汰掉一个最老的数据D[0],然后通过AD通道函数GetADData()采集到一个新值放入到队尾D[N-1]中,这样将所有元素进行平均得到该物理量可信的测量值。
(2)线性标度变换算法。
PLC采集的原始传感器数据一般为4 mA~20 mA、1 V~5 V、0 V~10 V,它对应实际设备某个物理量的不同范围的量纲和数值。不同精度等级的PLC A/D模块的转换位数或者分辨率不一样,如12位的A/D通道对应数字量0~4 095,PLC在通道中采集到数字量并进行滤波后,还要转换成用户能直观理解的工程量纲数据[9]。线性标度变换是最常用的标度变换方式,其前提条件是被测参数值与PLC A/D转换结果为线性关系,其数学表达式如公式(2)所示:
(2)
其中,Ao为破碎设备工程量纲的下限值,Am为破碎设备工程量纲的上限值,Ax为破碎设备工程量纲实际值,No为PLC传感器通道下限所对应的数字量,Nm为PLC传感器通道上限所对应的数字量,Nx为PLC传感器通道所对应的当前采集到的数字量。
例如破碎系统中压力测量量程为350 Pa~1 350 Pa,通过PLC 12位A/D采集,经PLC采样及数字滤波后的数字量为819,根据上述算法公式,此时的压力值应为:
(3)故障诊断算法。
破碎生产线包含设备众多,其工艺流程往往一环套一环,若某一个设备故障损坏,势必影响工艺流程上前后设备的正常运行。另外由于设备运行现场环境恶劣,常常因为设备老化或者电网负荷的变化引起某些设备局部异常,对于震动给料机、颚式破碎机、圆锥破碎机这种大功率高耗能设备,用户看不到其内部实际运行情况,传统的手段很难很快给出相应正确的故障判断,往往因为故障解决时间的拖延,给生产上造成很大损失,需要编写PLC故障诊断程序快速定位问题所在[10]。
设计的破碎生产线设备故障诊断专家系统(Expert System)是一种智能PLC程序,其原理结构如图4所示,它包含故障检测机构、破碎故障推理机、破碎故障规则库、报警与处理机构、评价优化机构。
图4 破碎生产线设备故障诊断专家系统结构
破碎故障规则库为存储在PLC保持区(掉电不丢失)中,一般为若干产生式IF-ELSE规则,其通过通信接口接受来自ICC与Android人机画面查询、更新、删除。当然故障检测机构发现某个设备电流、电压、温度、压力等信号异常,系统立刻驱动破碎故障推理机查询破碎故障规则库获取故障原因,然后执行报警与处理机构在条件允许的范围内自行安全顺序停机并上报到ICC与Android人机画面,由技术人员进一步处理。最后评价优化机构判断故障是否解除或者处理良好,并动态更新破碎故障规则库,如果处理失败,自动删除或者提示用户修改该规则,确保规则库中的知识具有时效性。
ICC为破碎系统中控室本地用户操作的人机界面,它要完成实时采集PLC中各个传感器数据、PLC算法参数、故障规则库,在需要时可以更改它们,另外还接受远程授权的Android用户查询控制破碎生产线设备的命令请求[11]。考虑到破碎生产线设备操控的安全性与实时性,本系统用户只限定少数跟破碎设备维护管理相关的技术人员、维修人员、操作人员等,同时为了防止受到外网攻击与入侵[12],系统只允许在选矿企业的局域网范围使用,因此将ICC服务软件与Android软件设计成如图5所示的三层客户机/服务器(Client/Server)结构。
该软件设计包含了后台MySQL数据库服务器、核心中间层ICC服务软件(Server)以及若干编号从1-n的Android APP(Client)。由于PLC的存储容量有限,需要ICC将长期采集到设备所有传感器数据定时存储到后台MySQL数据库服务器中以供后期查询与生产决策使用。MySQL数据库读写一般要遵循如下步骤:(1)通过数据库UserName与Password连接物理数据库;(2)通过Select、Alter、Delete等语句操纵数据库;(3)关闭数据库,使得缓冲区中数据更新到物理存储区。
中间层ICC服务软件(Server)设计一般包括用户登陆模块、破碎工艺流程显示模块、网络通信模块、故障报警显示模块、故障规则库查询更改模块、数据存储与查询模块、传感器动态曲线显示模块、用户管理模块、打印报表模块等。
图5 ICC服务软件与Android软件三层 客户机/服务器结构
终端层Android APP (Client)考虑到只能为专门的技术人员或者操作人员使用,本系统不允许注册移动端用户,相关人员的远程登陆用户名与密码为中间层ICC服务软件提前预置好[13]。Android APP一般由用户登陆模块、破碎工艺流程显示模块、网络通信模块、故障报警显示模块、故障规则库查询更改模块、传感器动态曲线显示模块等组成[14]。
图6 Android APP(Client)程序通信算法流程
该软件系统中最重要的是通信程序的编写,它包含ICC服务软件(Server)与PLC网络通信程序、ICC服务软件(Server)与Android APP(Client)网络通信程序,为了降低编程的工作量与可维护性,系统每一层通信都遵循标准Modbus TCP协议,其各层算法流程类似,其中Android APP(Client)程序通信算法流程如图6所示[6]。
Android APP(Client)每次通信开始,需要执行初始化函数Init(),然后创建客户端ClientSocket(),进而根据远程服务端的IP地址与Port端口号执行Connect(IP,Port)连接函数,如果服务端的ServerSocket侦听到会发出Accept()命令同意连接,客户端连接成功后,可以发出请求命令Send(),同时延时等待通过Rece()函数接收服务端的反馈数据,通信完毕执行CloseSocket()函数关闭套接字,释放网络资源[15]。
运用所提出的2-Star网络结构与相应软件算法技术,对国内某铅锌选矿企业的破碎生产线进行了实际开发与应用。应用系统之前,该企业破碎生产线设备基本处于完全分散相对独立的方式手动控制运行,现场噪音与粉尘给工人带来很大的困扰,设备出现异常后排查故障困难,技术人员因为路途遥远经常不能及时到现场处理,有时出现因为破碎生产停滞时间过长给该选矿企业造成了很大的经济损失。
通过调研该企业的破碎生产线落后现状与企业想高效率、自动化的远程操控需求,利用软件UML设计技术与OOP开发技术,成功地开发出了本系统。系统的下星型结构中心采用高性能的Omron公司的CJ2M PLC,其CPU支持16个Modbus TCP网络通信客户连接,PLC编程采用梯形图LAD与结构文本ST相结合的方式。
图7 Android手机上运行故障点(左) 与设备信息(右)画面
上星型结构的中间层ICC服务软件采用事件驱动的方式编程,多个模块有着不同的优先级分布在前台与后台运行。上星型结构的终端层Android APP(Client)软件采用多线程的方式编程,考虑的破碎系统设备启停事关生命安全的特殊性,大部分情况下技术人员与操作人员只能通过Android查看设备状态,需要远程诊断并排查故障等应急情况下可以授权其启停设备[16],其中Android手机上运行的故障点报警(左)与该用户管控的设备状态信息(右)画面如图7所示。
该系统在国内某铅锌选矿企业实际运行一年多来,为了验证系统的优点,通过查阅企业设备日常维护记录台账,将应用系统之前传统手动(Manuel)方式跟使用该远程(Remote)测控系统之后统计故障、现场维修出勤人员次数与维修配件成本费用月均数据对比反馈如表2所示。
表2 实施该系统前后月均统计技术指标对比
从表2月均统计数据可以看出,该远程测控系统虽然不能明显降低设备发生的故障月次数,但是通过远程诊断自动处理可以大幅降低维修人员现场出勤次数,同时较好降低了企业的设备维修成本。
在充分分析选矿企业破碎生产线当前设备测控存在的众多落后状况与缺点的基础上,提出设计开发基于Android与PLC的远程测控系统,跟传统的手工控制方式比,系统具备如下创新点:
(1)设计了2-Star型网络拓扑结构,它由下星网络与上星网络组成,该种拓扑结构便于实现与实施。
(2)PLC程序中设计的破碎生产线设备故障诊断专家系统,实现了对破碎设备快速定位与诊断,确保了企业的稳定安全生产。
(3)发生故障时,通过手机Android APP系统远程查看并快速故障诊断故障点节约了技术人员与维修人员的时间,提高了设备正常运转的效率,降低了企业破碎生产线维护成本。
企业应用表明,远程测控系统的设计与实现很大程度上改善了选矿企业破碎生产线工人的劳动环境,使得工人在高噪音、高粉尘的现场环境下操控破碎生产线设备的时间大大减少。系统为选矿企业的破碎生产线安全稳定生产提供了非常好的远程测控解决方案,具有较高的示范与推广应用价值。