胥 军,孟新委,翁启孟,李刚炎
(武汉理工大学 机电工程学院,湖北 武汉 430070)
由于近年来的不断开采,天然彩砂资源濒临枯竭;另一方面,各种天然彩砂品质不一、批次色差大,且品种逐年减少,无法满足目前建筑市场的需求[1-2]。因此,以矿物颗粒为原料,混合无机颜料,经高温烧结而成的人工烧结彩砂得到了有力发展,逐渐成为满足市场需求的主流产品[3-4]。
面对具有巨大潜力的国内彩砂市场,不少企业开始增大人工烧结彩砂的生产规模,而彩砂生产控制与管理水平逐渐成为制约彩砂大规模生产的主要因素。国内对于彩砂生产的研究主要集中在生产工艺方面,而对于彩砂生产实施过程中设备监控与管理方面的研究极少。目前,建材制造业传统的监控系统大多以二维平面为主[5-6],管理人员在生产过程中难以直观地定位监测点。同时,在连续大批量生产过程中,若生产设备无法得到有效管理、故障未能及时侦测并排除,将会导致产线停产,甚至引发重大安全事故。
笔者面向人工烧结彩砂生产制造过程,基于实时数据采集、传输与处理以及WebGL(web graphics library)三维可视化技术,设计开发了彩砂生产线三维可视化监控系统,其能实时动态监控彩砂生产线运行情况,提升彩砂生产线管理效率。使设备的维护和管理从人工被动看守向计算机集中管控的模式转变,解决上层管理与底层控制脱节的问题,实现管理、控制、决策一体化操作。
某厂彩砂生产线布局如图1所示,生产线总长达125 m,各工艺段设备相距较远,涉及的设备种类和数量繁多。彩砂的制备过程主要包括原砂与色浆混合、烘干、煅烧和冷却等工序。彩砂生产线产能要求不低于10 t/h,同时需要根据生产批量大小与工艺要求灵活地调整彩砂生产速度。
图1 彩砂生产线布局图
彩砂生产线跨度大,生产线各个设备分布较为分散,系统采用本地控制模式会增加线材损耗,过长的线路不仅会给控制系统带来隐患,还会使后期设备和线路检修难度加大。因此,需要合理设计控制方案,对生产线实现有效控制的同时减少线材损耗。此外,生产不同型号的彩砂前需重新手动调整多台设备的控制参数,不利于实现快速转产,需要合理设计控制模式对生产线设备能够集中控制,实现彩砂生产线的快速转产。
监控对象主要有原料、设备、产品、检修计划等。原料监控包括原料库存状态、原料消耗速率等。设备监控包括设备运行实时状态和异常状态等。产品监控内容包括彩砂产量等。检修计划监控包括检修任务完成情况、异常状态处理情况等。
生产数据的实时采集与处理是实现彩砂生产线可视化监控的基础。传统彩砂生产线的不同设备之间存在“信息孤岛”,数据利用率低,对生产线管理难以起到实时有效的指导作用。因此,彩砂三维可视化监控系统需要实现对所有设备的生产数据进行实时采集并集中统一处理。
传统彩砂生产线的管理人员难以实时全面掌握各个设备的运行状态;设备技术资料管理不规范,不利于设备维护与管理;设备巡检工作量较大,且设备巡检周期各不相同,容易出现漏检;设备出现故障时维修人员无法及时定位故障源,导致应急处理滞后。因此,可视化监控不仅需要对彩砂生产线生产数据进行高效处理以便于对生产线的生产进行管理,还要对各个设备运行状态进行监控以及反馈以便于维修人员对设备的维护。
基于以上对彩砂生产线三维可视化监控系统的功能需求分析,需合理设计实现该系统的技术框架。
基于现场总线的控制方式能兼容不同类型设备,且具有控制结构分散、通信数字化等特点,适用于彩砂生产线设备多且分散的状况,同时又能满足各工段间生产工艺相互关联的需求。通过本地控制与远程I/O模块控制结合的方式,在CC-Link现场总线的基础上搭建主从分布式实时通信网络,互联各站点设备,实现对彩砂生产线的分布式控制[7],彩砂生产线分布式控制方式如图2所示。
图2 彩砂生产线分布式控制
集中控制柜中主站负责对采集的数据进行运算处理和逻辑判断,并发出控制指令;控制柜1、控制柜2、控制柜3、控制柜4中各从站分别对彩砂生产线4个工作段内的设备进行控制,并采集设备运行数据,实现设备分组分站控制与数据分布式采集。
彩砂生产线可视化监控系统,包括物理层、数据服务层与设备管理层,其总体技术框架如图3所示。
图3 系统总体技术框架
(1)物理层是彩砂生产线的制造资源层,包括生产线的生产设备、传感器以及数据采集总线等,是完成设备控制、生产数据采集、彩砂生产的基础。
(2)数据服务层主要对生产数据进行存储、处理分析,同时实现具体的业务逻辑。系统采用MySQL数据库存储历史数据,采用Redis数据库对实时数据进行处理,数据经处理后将为设备可视化管理功能提供数据支撑。
(3)设备管理层面向生产管理人员,使用Three.js框架完成对三维场景的渲染,通过可视化图表动态显示生产数据。管理人员可对设备进行基础信息管理及状态监控,同时也可进行设备异常状态管理。
在现场控制层中,通过读取PLC(programmable logic controller)中的数据信息,能快速获取彩砂生产线设备的运行数据。生产线采用三菱Q系列PLC作为主控制器,其源地址属于物理层地址,无法直接被上层网络识别,利用Modbus映射规则将PLC内部元件的源地址转为Modbus地址[8]。
为监控彩砂生产线设备运行状态,需要采集输出线圈、离散输入和数据寄存器中的数据,采用Java编程语言,通过Modbus-Master-TCP类库设计Modbus/TCP客户端,通过定时轮询方式周期性获取PLC运行数据。采用多线程的方式对生产数据进行获取与处理,主线程创建轮询线程、解析线程和控制线程3个子线程。
静态数据由人工手动录入系统数据库中进行集中管理,而对于生产实时数据,需进行及时处理,防止数据可视化出现明显滞后。系统选择内存数据库Redis对实时数据进行处理,可以在极短时间内完成数据集成和转换[9],通过发布订阅推送机制向客户端提供实时数据。由于内存限制,Redis数据库中的数据不能永久地在内存中保留,需要将超出时限的数据移入历史数据库。实时数据对象D包含有3个分量,可表示为:
D=d(value,time,period)
(1)
式中:value为实时数据的值;time为数据采样时间;period为数据有效期。
用向量V表示在数据有效期内采集到的数据,Di表示标识为i的某个采集数据,将在时刻j采集到的数据表示为:
(2)
式中:period[p,q]为开始时刻p到结束时刻q之间的数据有效期时间段区间。
在period[p,q]的时间区间内系统实时数据处理的能力Cas可表示为:
(3)
式中:q为当前时刻;Cas为具体某个某检测信号的实时数据范围,将在此范围内采集到的数据标定为实时数据,超过此范围的数据标定为历史数据,分别存入对应数据库中。
系统采用Websocket协议传输彩砂生产线实时数据,在减小系统资源消耗的同时降低了数据传输时延。相比于Ajax长轮询、Comet等通信技术,Websocket支持服务端主动推送实时数据,能有效提高数据传输的实时性[10-11]。
数据访问与传输方式如图4所示。客户端能主动发起HTTP(hyper text transfer protocol)请求,从服务器数据库获取不经常变动的“冷数据”;对于实时数据的传输,可从访问请求中获取所要监测设备数据发布的通道,并订阅该通道,从而和服务器之间建立起数据推送,当检测到数据变化时可以实时主动推送至客户端,对监控页面的数据进行局部的刷新。
图4 服务器数据访问方式
WebGL作为主流的Web端3D绘图技术,通过提供硬件3D加速渲染,实现了三维交互场景模型在Web端的流畅展示[9]。Three.js是基于JavaScript的第三方库,对WebGL的原生API(application program interface)进行了很好的封装,只需少量易读的JavaScript脚本即可在Web端构建彩砂生产线的三维场景。
采用SolidWorks与3D Max协同的方法搭建彩砂生产线三维模型,然后将其转换成Three.js框架支持的文件格式,并以文本形式存放于服务器中。用户通过浏览器下载后由对应函数解析模型文件,生成模型对象及其材质信息,同时添加到构建完成后的场景中。Three.js场景创建流程如图5所示,通过调整模型位置、相机和光源的参数,使得彩砂生产线三维模型在Web端进行可视化展示。
图5 Three.js场景创建流程
浏览器加载彩砂生产线三维模型时的平均阻塞时长为18 s。模型渲染性能较低,模型实时渲染性能过低会出现掉帧、卡顿等现象,不仅会影响可视化管理系统运行的流畅度,有时甚至会影响系统的正常运作。因此需对模型数据传输及渲染过程进行优化。
三维网格模型的基本构成为点、线和面,模型简化操作中最小的维度也分为对点、线和面的操作。QEM(quadic error metrics)简化算法以边折叠为基础,有较高的模型简化效率,同时能保留模型主要特征的优点[12]。通过将模型顶点的二次误差度作为简化目标的度量准则,选取一条边上的两个顶点进行合并处理,并更新网格顶点与法向量等信息。边折叠算法原理如图6所示。
图6 边折叠算法原理图
以烘干机模型为例,将其简化到原始模型顶点数的50%,简化前后的网格模型对比如图7(a)所示,简化后模型大小减小了37.7%。简化后模型能保留细节部分,但圆柱形滚筒会有较为明显的分段感,采用Three.js提供的THREE.SmoothShading(平滑着色属性)优化模型显示效果,如图7(b)所示。
图7 Three.js烘干机模型网格简化及渲染优化
采用Draco算法对三维场景模型进行压缩处理,Draco算法主要用于三角网格数据和点云数据的压缩,在没有牺牲渲染速度和质量的前提下,可大幅提升模型文件压缩率,减少模型数据传输对网络带宽的压力[13]。经压缩后烘干机模型大小仅为简化后模型大小的7.17%,说明Draco算法可以显著减小三维模型文件体积,同时不与轻量化策略冲突。此外,使用Three.js实例化并克隆场景中的重复模型,有效降低数据传输负载及GPU(graphics processing unit)渲染负载。
彩砂生产线三维模型整体大小为591 Mb,经简化与压缩处理后减小至12 Mb左右,优化处理后模型实时渲染效果良好,系统持续运行时的帧率保持在60左右,确保了系统运行流畅度。
根据所设计的分布式控制方案,完成集中控制柜以及4个分控制柜的接线及调试工作。控制柜通过面板指示灯显示关键设备启停状态,并提供控制按钮对彩砂生产线中关键设备进行控制,集中控制柜实物如图8所示。
图8 集中控制柜实物
控制柜提供关键设备的手/自动控制的切换功能,设备操作人员能通过控制柜面板独立操作单个设备,进行控制主和检修,完成生产与设备日常维护工作。系统控制柜为独立供电,在局部设备发生故障时不影响其余设备正常工作。
可视化管理平台分为基础信息管理、设备状态监控、设备异常状态管理、检修计划管理等功能模块。基础信息管理界面如图9所示,点击场景中对应模型,可查看设备台账信息及历史运行数据,点击面板定位标签,三维场景视角将快速跳转至模型所在位置。
图9 实物基础信息管理界面
设备监控模块结合三维模型动态显示设备启停状态、实时运行数据等。管理人员可在工艺参数设置面板上预先设定参数,只需选择彩砂品种便能完成生产参数设定,且能根据现场生产情况在线调整工艺参数,实现快速转产。设备异常管理模块可检测异常电气设备并高亮显示对应模型以便快速定位故障。检修计划管理模块可结合三维模型,显示设备检修位置,查看设备检修计划进度和检修任务统计信息。
在完成彩砂三维可视化系统开发后,需依照软件测试要求对系统进行性能测试。测试内容主要包括三维场景渲染帧率、系统实时性和系统安全性测试等,系统测试环境如表1所示。
表1 系统测试环境配置
(1)三维场景渲染帧率测试。渲染帧率是三维可视化系统运行效果最直观的评价指标,当帧率达到30 帧/s(frames per second)以上时,人眼不会明显感受到卡顿。采用Three.js提供的性能监视器Stats类对三维场景渲染帧率进行测试,判断系统在各个功能模块下系统的渲染性能表现是否满足使用要求,并随机选取20次帧率平均值作为测试结果,如表2所示。结果显示各功能模块下帧率值均在60 帧/s附近波动,表明了系统整体的可视化呈现效果较好,能够满足应用的需求。
表2 三维场景渲染帧率测试
(2)系统实时性测试。在相同的网络环境下记录系统取得单位数量监测数据所消耗的时间,重复进行10次测试,每次测试的样本数为100,取测试结果的均值,结果如图10所示。
图10 系统实时性测试
由此可知,采用Websocket协议及Redis内存数据库发布订阅推送机制,使系统具备较高实时性能,数据延时小于1 s,契合实际生产需求。
(3)系统安全性测试。彩砂生产线分布式控制与设备可视化管理系统对操作安全性有较高的要求,因此有必要对系统进行安全测试,验证系统的保护机制是否满足实际使用要求,其中部分安全测试项如表3所示。结果显示系统安全性能满足彩砂生产使用需求。
表3 系统安全测试
笔者针对目前彩砂生产线的实际需求,设计了彩砂生产线三维可视化监控系统,完成了生产线实时数据的采集、传输及处理,利用WebGL技术和模型轻量化的关键技术完成了彩砂生产线的三维可视化,降低了设备检修难度与维护成本,有助于提升彩砂生产线的综合管理水平。