在开发过程中,首先要在工程中包含四个OPC基金会提供的OPC标准库文件,对开发环境进行相关配置;OPC是基于COM技术制定的,接着初始化COM库用以使用其接口类;通过OPC服务器的ProgID得到其唯一的CLSID;只有当用户连接到OPC服务器后才能对组对象和项对象进行操作,因此连接OPC服务器是获取机床状态数据的必要过程;应用QueryInterface()方法请求IOPCSever接口指针,创建OPC组对象;通过AddItem()添加想要访问的特定数据项;添加数据项后,便可获取机床状态数据或对机床状态进行控制;最后,需要删除对象、释放内存,值得一提的是,删除对象要先删除项对象,最后删除OPC服务器对象。
3 实例验证
本系统开发环境选用VC++6.0及SQL Server2000,采用装有Windows 95操作系统的西门子840D数控系统对融入网络化DNC的MES设备管理系统进行实例验证。
设置串口参数如下:波特率9600Bps、数据位8位、停止位1位、无校验码。分别选取控制命令及三个不同长度的数控程序,在系统客户端和服务器之间传输数据,每个程序发送或接收20次并取其平均值,结果如表1所示。由表1可以看出,系统客户端能向服务器快速发送控制命令使数控系统做出较快的反应,同时对于一个给定的数控程序,平均每行数据发送和接收的时间几乎相同,说明数据传输稳定,达到了执行层与控制层信息交互的目的。
表1 数控程序传输性能
图6为数控程序管理界面。系统根据用户权限,可对数控程序进行管理。通过低权限用户身份登陆系统,无权修改程序状态,保证了程序的安全,满足设计要求。系统可以对数控机床的状态变化快速做出反应。
图6 数控程序管理的实现界面
准确捕获数控设备实时状态信息,使执行层与控制层协同工作。如图7所示。系统客户端检测到数控系统当前主轴工作模式值为2(自动),正在发送控制命令set opMode 0改变其工作模式值为0(手动),服务器端接收到该命令后正确执行。
图7 机床监控模块的实现界面
以上实例表明,在MES设备管理系统中可以简单、方便地使用网络化DNC的功能,证明了网络化DNC在MES设备管理系统中的设计具有可行性,其实现具有实用性。
4 结束语
本文分析了MES设备管理系统对网络化DNC的需求,提出了融入网络化DNC的MES设备管理系统的体系结构,采用模块化设计方法设计了MES设备管理系统中的网络化DNC系统,并详细论述了其关键技术的实现。通过在西门子840D数控系统上的实例验证进一步表明了系统工作状态良好,运行安全可靠,有效地保障和促进了企业执行层与控制层之间的信息交换和协同工作,达到了预期的设计要求,具有良好的应用价值。