在线工博会

基于ZK框架的MES状态监控技术研究
崔万瑞 李愈馨 姜合萍
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
制造执行系统(Manufacturing Execution System,简称MES)是现代集成制造系统中制造管理自动化的一项重要技术。它定位于企业上层管理和底层设备之间,面向车间层的管理控制,收集生产过程中的大量的实时数据,反馈处理结果和生产指令,对生产过程中发生的事件及时进行处理,保持计划层与生产控制层的信息通畅。可以说,MES是制造企业生产管理控制信息集成的枢纽,而其中生产过程状态信息又是MES得以正常运行的重要信息来源。
1 车间制造执行系统构建
为应对当代车辆关键零部件研制提出的周期短、交货期紧、批量品种变化的挑战,提高车辆关键零部件快速研制能力和自主创新能力。针对某车辆关键零部件车间的实际需求,设计并开发车辆关键零部件车间制造执行系统,该系统面向车辆关键零部件制造车间,有效地储存和传递生产信息,监控生产状态及计划信息执行情况、产品质量情况、资源配置情况等,优化车间的生产过程。实现车间级制造信息的管理与集成,利用计算机辅助进行信息管理、生产工艺计划制定和生产过程控制,完成车间内的信息集成,驱动生产的有序、高效运行。该系统的软件架构如下图所示:

(图片)

图1 车间制造执行系统软件架构

本系统采用基于WEB 的多层技术架构。为了满足系统的实际功能及性能需求并适应车间管理的业务模式,本系统特别采用了ZK框架来实现其表现层。ZK是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架。利用ZK框架,不需撰写JavaScript,即可开发出具有Ajax丰富互动效果的网页型应用程序。即软件系统的结构是B/S 的,而软件的操作风格是C/S 的,把两种软件结构的特点有机的结合了起来,且不增加系统的开发难度。
2 制造执行系统状态监控技术整体架构
车间制造执行系统需要对底层设备生产状态进行采集和监控,生产状态是车间制造执行系统得以正常运行的主要信息和数据来源。本车间是数控机加车间,生产设备主要是离散的数控机床,数控机床生产状态信息采集技术难题的解决是制造执行系统实现的关键。数控机床的参数,生产状态,刀具信息,主轴信息,NC程序信息等都是需要重点进行监控的。机床状态监控功能主要是在制造执行系统的机床状态监控模块中实现的。
本系统是基于Web的制造执行系统,要实现对底层数控机床的状态监控需要解决两个层面的技术难题。一个是软件架构的,一个是状态采集技术的。第一个问题就是如何在本系统的软件架构下实现基于Web的状态监控软件设计与开发,另一个问题是如何实现对车间内各种类型的数控机床进行采集,并最终把采集到设备状态信息集成到软件系统中,从而达到对车间数控机床的状态监控。
为解决实时显示生产状态信息的问题,在软件实现方面采用ZK框架的服务器推(Server-push)技术,负责对状态信息的处理。状态信息由负责状态采集的软硬件采集到,存储在生产状态数据库中。制造执行系统实时监控数据库中状态信息的变化,并实时根据数据的变化把状态数据推到每个ZK页面中去。这样车间工作人员就能及时掌握到各机床状态信息的变化。
根据数控机床种类的不同,主要是FANUC数控机床和西门子数控机床,采用不同的状态采集技术。对于FANUC数控机床使用串口宏技术采集机床状态,对于西门子数控机床采用PLC接口技术进行采集。图2为机床状态监控的整体软硬件技术架构。

(图片)

图2 机床状态监控的整体架构

3 ZK框架服务器推(Ser ver-pu sh)技术
ZK框架是一个支持推模式的框架,即服务器推(Server-push)技术。服务器推技术是说一种基于网络的交流,其请求是由中央服务端发起。与之相对应的是拉模式,拉模式是一种请求由接受方或者说客户端发起的。这种技术也可以叫作反向Ajax(reverse-Ajax)。所谓推模式,就是服务器把数据推到每个ZK页面上,而不是客户端请求后的响应,并且可以实时地反映数据的变化。它的这种特性使得以它为表现层框架的软件系统具备了特殊的功能。利用ZK框架的这一特点,再辅以相应的机床数据采集技术,以数据库集成接口,即状态采集软硬件将机床状态存入生产状态数据库,ZK框架通过把数据库中的机床状态数据推到任意的访问机床状态监控模块的页面上,就可以实现机床状态实时监控。
通过使用服务器推技术,需要启动一个工作线程对相应的数据进行不间断地查询,当预先定义的条件满足时,则可以在工作线程内将内容发至客户端或更新客户端的内容。服务器推技术最适合应用于需要实时动态更新数据的应用场景。机床状态实时监控使用该项技术是再恰当不过的了。在ZK框架下使用服务器推技术很简单,仅需要如下的三步,(1)使用Desktop.enableServerPush(booleanbool)为桌面调用启用服务器推动。( 2 ) 将需要更新的组件、数据传递至工作线程。( 3 ) 在桌面内调用工作线程。
遵照这3 个步骤,就可以实现状态监控页面的开发。服务器推机制是使用客户端轮询(client-polling)技术实现的,即客户端将会反复询问服务器以调用工作线程完成其工作,询问的频率可以调用Executions.setDelay(intmin,intmax,intfactor )手动调整。
4 FANUC机床串口宏状态采集技术
本车间内共有4 种类型的FANUC 机床,分别为FANU C0i、FANUC 16i、FANUC 18i、和FANUC 31i。通过硬件接线引出机床状态信号的技术方式涉及硬件改造,容易破坏数控设备,技术风险大,实施周期长。对于FANUC系统,我们通过FANUC的B 类宏程序进行机床状态采集。FANUC的这些种类的数控系统提供了机床状态的输出功能,可以编写专用的数控机床状态串口采集软件,通过计算机串口与数控系统的串口硬件连接,完成机床状态信息采集。
通过串口采集机床状态信息的原理是在机床执行的NC程序中加入宏指令,宏指令打开串口,向串口输出信息,再关闭串口,上位机通过串口监听线程解析接到的机床状态信息,并把该信息存储到数据库中,从而实现对机床状态信息的实时采集,车间生产管理系统的机床状态监控模块通过实时查询存储在数控库中的机床状态信息,并对其进行解析处理,就实现了对机床的状态监控。下面为各宏指令的含义:
打开指令:POPEN ,建立与外部输入输出设备的连接。
数据输出指令:BPR NT或DPRNT指定需要输出的数据,包括系统地址变量、字符等。
关闭指令:PCLOS,解除与外部输入输出设备的连接。
这些宏指令将系统的地址变量的值从串口输出,而这些变量对应数控机床的状态信息。表1为部分FANUC的系统变量地址 :

表1 FANUC部分系统变量地址

(图片)

如果要采集NC程序的程序号,只要把如下语句加入NC 程序就可以采集到程序号了。
POPEN
DPRNT[NUM#4115[40]]
PCLOS
针对不同的要采集的机床状态信息,通过数据输出指令,就可以把机床状态信息传送到上位机,进而由状态监控模块发布到网络上。
5 西门子机床PLC接口状态采集技术
本车间大部分的数控机床都是西门子840D或810D数控系统,对于西门子数控系统,由于其采用的PLC 是通用的PLC系统,因此可以通过采集数控系统PLC的状态寄存器的值来实现状态信息采集的目的。
由于西门子840D或810D数控系统采用的PLC是西门子的S7-300PLC,故采用Prodave接口开发采集监控软件对其进行状态监控。采集用的硬件是大连德嘉公司ETH _ MPI转换器。将西门子S7-300PLC的MPI接口通过ETH_MPI转换器转换成Profinet协议(TCP/IP),然后用以太网与上位机相连。ETH_MPI转换器与西门子以太网通讯处理器CP343功能相同,可替代西门子CP5611 ,CP5613 通讯卡。
通过查阅数控机床的资料,找到需要监控的状态所在的寄存器地址,通过Prodave接口的编程实现对这些寄存器地址位的读取,同时将这些状态数据写入生产状态数据库,再通过车间制造执行系统的机床状态监控模块发布给局域网上的所有用户。
6 总结
在进行类似上述离散型制造执行系统的开发过程中,数控机床的状态监控是实现状态监控模块开发的主要组成部分。为了降低技术风险、工程造价,缩短工作周期,我们往往采用数控机床原有的状态采集接口,如串行口、MPI 接口等。只有在不得以的情况下才会通过硬件连接的方式采集机床的状态信息。但不论何种状态信息采集模式,ZK框架的服务器推(Server-push)技术都可以把状态信息发布到整个系统网络上。这种结合网络数据库、信息采集、服务器推等相关技术的模式,可以很好地指导未来基于Web 的制造执行系统状态监控模块的构建,而ZK 框架结合Spring框架、Hibernate框架也为制造执行系统软件的实现提供了有力的支撑。 7/10/2013


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站