随着科学技术的不断提高,设备管理系统作为制造执行系统(Manufacturing Execution System,MES)中一个重要的子系统,是现代企业物质技术的基础,是生产经营顺利进行的前提以及提高经济效益的保证。目前,我国大部分企业的数控设备信息化程度不高,导致在企业执行层的MES设备管理系统不能及时、准确的获取设备控制层的相关信息,造成管理鸿沟。其次,现有的MES设备管理系统虽然方便了数控设备台帐管理、基本信息记录等一些静态信息管理,但不能针对数控设备的实时状态变化进行动态管理。
(资料图)
网络化分布式数字控制(Distributed Numerical Control,DNC)可以把数控设备作为一个信息节点连接到企业的信息管网中,实时、准确、自动的为整个信息系统提供及时、有效的数据,为网络化制造提供技术支撑。本文将网络化DNC融入到MES设备管理系统的目的在于可以使企业执行层与控制层无缝连接,消除底层设备的信息孤岛,同时获取数控设备的实时状态信息,对控制层设备进行动态管理,实现企业执行层与控制层之间的信息交换和协同工作。
1 系统总体框架结构及功能设计
系统主要是针对工业现场的数控设备开发的,选用的网络主要用于承载数控加工程序、设备运行状态等信息,为了满足高实时性、可靠性和可扩展性的网络要求,系统通过工业以太网与企业管理层进行连接,采用TCP/IP协议,很容易集成到管理办公网络。同时,系统通过串口服务器与数控系统的RS-2232串行口进行连接通信。串口服务器将来自TCP/IP协议的数据包解析为串口数据流;反之也可以将串口数据流打成TCP/IP协议的数据包,从而实现数据的网络传输。系统利用串口服务器虚拟串口的功能,可将数控系统的数据信息透明的传输到上位机。也就是说,将串口服务器连接到网络中,上位机对数控系统的串口通信就相当于对上位机本身的串口通信一样。
系统采用客户端/服务器的通讯方式,上位机为融入网络化DNC的MES设备管理系统的客户端,系统的服务器端安装在数控系统上。系统结构如图1所示。
图1 系统结构图
由图1可以看出,系统由通讯管理模块、机床状态监控模块、设备数据查询模块、设备故障维修管理模块和系统资料管理模块这五大模块组成,数据库为整个系统提供数据支持。
通讯管理模块和机床状态监控模块属于网络化DNC的控制层模块。通讯管理模块主要对控制命令及数控程序进行传输和管理。控制命令的传输主要是当客户端需要对数控设备下达命令时,先从客户端传送命令到服务器端,当服务器端接收到该命令后,利用数控系统的内部命令控制数控设备。数控程序的传输是双向的,可以从客户端向服务器端传输,也可以将服务器端的数控程序传输到客户端。
机床状态监控模块主要是客户端对数控设备运行状态的数据采集、控制。此功能模块的实现可以及时快速地使执行层和管理层全面了解设备状态信息和加工操作信息,并合理的做出决策控制。另外机床状态监控模块也为企业生产的统计分析工作提供了重要的数据来源。
机床数据查询模块从数据库中获取机床状态监控模块采集来的数据,根据用户需要将数据进行统计分析,生成报表,并完成打印和管理功能。
设备故障维修管理模块对设备维修计划进行管理、对设备维修情况进行录入,并保存在数据库之中。
系统资料管理模块主要是对数控设备资料、参数资料、部门资料和人员资料进行录入及日常管理。
2 关键技术的研究与实现
由于控制命令传输的信息数据较短,可以一次性的将控制命令传送给系统的服务器端,因此控制命令的传输相对简单。只需把控制命令信息转换成二进制数据后,在其前后加上特定的标识信息,然后发送给服务器端。服务器端辨识到首尾标识后按照约定提取二进制数据信息,再转换为控制命令控制数控设备。
数控文件的传输相对比较复杂。数控文件的长度较长,超出了通信链路的限制,因此要将数控文件拆分成若干个数据包。在传输的时候,首先将文件名、文件长度等与文件有关的相关信息打成一个包,发送给服务器端。服务器端接收到该信息包后,将收到的信息保存起来并根据文件名创建对应的文件。接下来客户端将要传输的文件转换成二进制数据,按数据包的限定长度将文件分为若干个数据块,再将数据块按一定的格式打成数据包,一包一包地发送给服务器端。服务器端将接收来的数据包进行拆包,提取数据块信息,保存到对应的文件中,直到文件传输完成。服务器端发送数据的方法类似,不再详述。整个传输过程是按照事先规定好的通信协议执行的,发送与接收数据的流程图如图2、图3所示。
图2 通讯管理模块发送数据流程图
图3 通讯管理模块接收数据流程图
考虑到客户端和服务器端同时互传数据的情况,为了避免单线程不能及时处理连接请求,系统采用多线程技术。系统设置主线程为监视线程,负责响应连接请求。当有请求连接时,创建一个新的线程负责发送或接收数据,这样便可使两端同时进行数据传输,提高传输效率。
对数控程序的管理是MES设备管理系统中网络化DNC的核心功能之一,有效的数控程序管理,可以保证程序的准确性,避免事故损坏机床,提高生产效率,达到安全生产的目的。本系统对在生命周期内的数控程序进行内部信息管理。数控程序管理流程图如图4所示。
图4 数控程序管理流程图
从程序的生成到程序的消亡,系统对数控程序有一套严格的管理方法。编程人员首先编辑数控程序,然后将程序相关信息填入数据库中作为备份,此状态下的数控程序是不能上传到数控系统的。管理人员有权查看数控程序,若程序有错误,则重新编辑;若程序正确,则可以进行试切。如果试切失败需返回重新编辑,如果试切成功,管理人员将程序定型,程序一旦定型便无法修改,需要在数据库中更新程序相关信息,此时的程序可以上传到数控系统。数控程序的相关信息主要通过数据库进行管理,包括程序号、程序名称、所加工的零件号、零件图号、加工工序号、机床信息、程序状态等信息。
机床状态监控功能是网络化DNC中不可缺少的一部分,是MES设备管理的核心内容之一。本系统的机床状态监控主要是通过用于过程控制的OLE技术实现的。用于过程控制的OLE(OLE for Process Control,OPC)是工控行业的软件接口标准,它试图按照标准的方法完成不同设备之间数据的交换。OPC规范提供了两套接口方案,即定制化接口和自动化接口。由于OPC的定制化接口效率高,可以使OPC服务器发挥其最佳性能,因此系统采用定制化接口。
OPC数据访问可以提供一种通过OPC客户端读取和写入数控系统特定数据的手段。利用OPC技术,机床状态监控模块的开发流程如图5所示。
图5 机床状态监控模块OPC类模型的开发流程
在开发过程中,首先要在工程中包含四个OPC基金会提供的OPC标准库文件,对开发环境进行相关配置;OPC是基于COM技术制定的,接着初始化COM库用以使用其接口类;通过OPC服务器的ProgID得到其唯一的CLSID;只有当用户连接到OPC服务器后才能对组对象和项对象进行操作,因此连接OPC服务器是获取机床状态数据的必要过程;应用QueryInterface()方法请求IOPCSever接口指针,创建OPC组对象;通过AddItem()添加想要访问的特定数据项;添加数据项后,便可获取机床状态数据或对机床状态进行控制;最后,需要删除对象、释放内存,值得一提的是,删除对象要先删除项对象,最后删除OPC服务器对象。
3 实例验证
本系统开发环境选用VC++610及SQL Server 2000,采用装有Windows95操作系统的西门子840D数控系统对融入网络化DNC的MES设备管理系统进行实例验证。
设置串口参数如下:波特率9600Bps、数据位8位、停止位1位、无校验码。分别选取控制命令及三个不同长度的数控程序,在系统客户端和服务器之间传输数据,每个程序发送或接收20次并取其平均值,结果如表1所示。由表1可以看出,系统客户端能向服务器快速发送控制命令使数控系统做出较快的反应,同时对于一个给定的数控程序,平均每行数据发送和接收的时间几乎相同,说明数据传输稳定,达到了执行层与控制层信息交互的目的。
表1 数控程序传输性能
图6 数控程序管理的实现界面
图7 机床监控模块的实现界面
图6为数控程序管理界面。系统根据用户权限,可对数控程序进行管理。通过低权限用户身份登陆系统,无权修改程序状态,保证了程序的安全,满足设计要求。
系统可以对数控机床的状态变化快速做出反应,准确捕获数控设备实时状态信息,使执行层与控制层协同工作。如图7所示,系统客户端检测到数控系统当前主轴工作模式值为2(自动),正在发送控制命令setopMode0改变其工作模式值为0(手动),服务器端接收到该命令后正确执行。
以上实例表明,在MES设备管理系统中可以简单、方便地使用网络化DNC的功能,证明了网络化DNC在MES设备管理系统中的设计具有可行性,其实现具有实用性。
4 结束语
本文分析了MES设备管理系统对网络化DNC的需求,提出了融入网络化DNC的MES设备管理系统的体系结构,采用模块化设计方法设计了MES设备管理系统中的网络化DNC系统,并详细论述了其关键技术的实现。通过在西门子840D数控系统上的实例验证进一步表明了系统工作状态良好,运行安全可靠,有效地保障和促进了企业执行层与控制层之间的信息交换和协同工作,达到了预期的设计要求,具有良好的应用价值。