当前位置:首页 期刊杂志

基于OPC UA的828D数控机床群远程监控系统设计

时间:2024-07-28

张弛,吴明亮,陆军强,许正军,吴明永

(1. 兰州理工大学 机电工程学院,甘肃 兰州 730050; 2. 青海华鼎重型机床有限责任公司,青海 西宁 810000; 3. 兰州城市学院 培黎石油工程学院,甘肃 兰州 730070)

0 引言

“中国制造2025”中指出我国制造业的主攻方向为“智能化、服务化、环境化”,但是我国制造业在实际生产过程中,仍然存在着生产过程与企业的管理系统相脱节的问题。对此,不少科研单位都给出了相关的解决方案,但是在实际的生产过程中,尤其是轨道机车的轮轴加工过程中采用数控机床却没有具体的解决方案。

OPCUA技术是基于OPC基金会提供的新一代技术,安全、可靠,独立于厂商,实现原始数据和预处理的信息从制造层级到生产计划或ERP层级的传输。通过OPCUA,所有需要的信息在任何时间、任何地点对每个授权的应用,每个授权的人员都可用。这种功能独立于制造厂商的原始应用,编程语言和操作系统[1-2]。OPCUA是目前已经使用的OPC工业标准的补充,提供重要的一些特性,包括如平台独立性、扩展性、高可靠性和连接互联网的能力[3-4]。而C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言;相较于VB、Java等其他面向对象语言,尤其是基于微软的操作系统,C#提供了丰富的类库。基于以上两点,文章中提出了一种基于OPCUA的数控机床群远程监控系统解决方案,在这个方案中综合利用了C#、数据库技术、数据同步技术和相关的通信等技术,实现了加工过程的实时监控、机床状态的实时诊断以及客户端之间的数据同步。与其他的机床监控解决方案相比[5-7],本文提出的方案具有以下3个优点:一是采用了基于C#的监控界面设计方法;这种方法具有移植性强和易于实现具体功能的优点;二是采用了基于OPCUA的数据通信协议,在这种通信框架下,数据的通信速度不仅得到了提升,并可同时监控的变量数量得到了大大的提升;三是采用了基于数据库技术的数据同步技术,这样可以在配置一个服务器的情况下,不同的客户端之间的数据同步得到可靠保证。因此,系统的开发和研究均具有很强的探索价值和实际意义。

1 监控系统总体设计

1.1 监控系统总体方案分析

研究对象为5台双西门子SINUMERIK828D系统的数控机床,因此总的监视容量为10套SINUMERIK828D系统。同时机床监控系统要求系统的实时性强,因此选择了如下方案:整个系统采用C/S架构,采用面向对象的C#软件作为上位界面的开发软件,采用OPCUA通信协议作为系统数据采集以及数控系统与上位机之间的通信协议,选择SQLServer2008作为服务器上的数据库软件,其他的客户端通过实时访问服务器的数据库实现客户端与服务器之间的数据同步。其主要的功能模块可分为数据采集单元配置、数据采集、数据同步通信、故障报警以及数据分析等,具体如图1所示。

图1 系统主要功能模块组成

1.2 系统网络构架的搭建

图2为系统网络构架图,整个监控系统可以分为三级:现场设备级、服务器级和远程客户端级[8-9]。现场设备级主要包括SINUMERIK828D数控系统以及自身伴随

图2 系统网络构架

的一个西门子S7-200系列CPU;服务器级主要指的是通过OPCUA协议将采集到的机床信息存入到服务器的数据库中。在此过程中,数控系统作为OPCUA协议的服务器,而上位机作为客户机,通过配置数控系统的MiniWebserver,设定管理员账号、密码和IP地址,打开4840端口,激活OPCUA服务器,即可完成数控系统OPCUA服务器的配置;远程客户端级的主要用户有机床的生产厂家以及机床拥有企业的监控管理员,可以通过使用“IP+端口”的方式实时地访问指定的数据库表,获得机床的实时信息。

2 各分系统的功能实现

2.1 基于C#的OPC UA数据访问及数据访问配置

OPCUA读取数据的方式有3种,分别为:同步、异步和订阅。其中,同步通讯适用于客户程序比较小,并且数据量也小的操作;异步通讯相比于同步通讯的效率更高;而订阅的方式当Group组内的数据有改变的时候,会对相应的OPC客户端定期更新数据。因此本系统采用了订阅的方式以实现OPCUA数据访问[10-12]。

OPCUA的接口主要有两种:一种是自定义接口,即CUSTOM标准接口,是服务商必须提供的,主要用于C++编写的客户程序;而另一种是OLE自动化标准接口,主要用于C#、VB等语言所开发的应用程序。而SINUMERIK828D数控系统提供了OLE自动化标准接口,同时采用C#在HMI设计中较MFC更具有优势,因此本项目采用了OLE自动化标准接口。

系统针对SINUMERIK828D数控系统OPCUA数据访问过程中,需要添加如下的命名空间:usingOpc.Ua和usingSiemens.OpcUA;其他的主要程序如下:

m_Server=newServer();//定义OPCUA服务器

m_Server.CertificateEvent+=newcertificateValidation(m_Server_CertificateEvent);//定义服务证书

m_Server.Connect("opc.tcp://192.168.1.20:4840","APC","123456");//连接OPCUA服务器

m_Server.Disconnect();//断开OPCUA服务器的连接

m_Subscipition=m_Server.AddSubscription(100);//采用订阅的方式进行数据读取,最大的数据监控数量为100个

m_Subscipition.AddDataMonitoredItem(newNodeId("/Channel/MachineAxis/actToolBasePos[u1,1] ", 2),Mnt_Lb1,ClientApi_ValueChanged, 100,outmonitoredItemServerHandle);//读取刀具位置的X坐标

NodeIdCollectionnodesToWrite=newNodeIdCollection();

DataValueCollectionvalues=newDataValueCollection();

StatusCodeCollectionresults;

Variantvalue=newVariant();

value.Value=textBoxR1.Text;

nodesToWrite.Add(newNodeId("/Channel/Parameter/rpa[u1,1] ", 2));

values.Add(newDataValue(value));

m_Server.WriteValues(nodesToWrite,values,outresults);//写R1到数控系统

以上程序完成了对SINUMERIK828D数控系统OPCUA数据访问,在这个过程中由于SINUMERIK828D数控系统版本的问题,需要注意如下的不同,一是SW4.7版本支持的最大监控变量个数为100个,而SW4.5版本支持的最大监控变量个数为20个;二是SW4.7版本中的连接字符串中新增加了账户名和密码,这些需要在数控系统中进行设置。

2.2 机床数据分析

机床监控系统的另一个主要作用就是在获取的机床工作数据的基础上,对机床的工作效率进行分析,能够给车间及工厂的效率管理提供可靠而简洁的数据。因此在这个功能模块的设计中,首先从服务器的数据库中获取机床的工作信息,例如已加工零件个数、故障时间、故障频率以及机床工作时间等,而后对这些数据进行分析,评估机床的状态,对于机床的检修等具有现实的指导意义。

如上所述,第一步是获取服务器端通过OPCUA读取的SINUMERIK828D数控系统数据,下面以机床的运行时间为例,通过执行SQL查询的方式,将已定义的各个不同的数控系统的运行时间存入数组中。

第二步是将读取过来的数据以图表的方式直观地呈现给管理员或者用户,需要添加usingSystem.Drawing命名空间,在上位画面上添加用于输入统计时间的文本框。通过执行SQL指令,从数据库中查找相应的数据,而后通过画笔完成较为直观的条形图或者饼图等实现机床数据的分析。 统计效果如图3所示。

图3 运行时间条形图统计

2.3 故障报警

在任何一个系统中,明确而有效的故障或者消息系统对于系统的使用者和维护者都具有极强的实际意义,使得其在该系统的使用过程中,能够明确地了解到该系统的实时信息,因此在系统中开发故障、消息系统非常必要[13-14]。在系统中,首先将存入服务器数据库中的报警消息数据表数据进行查询,而后采取服务器主动更新的方式,最后采用了C#的datagrid表格控件,将机床的报警信息、机床工作消息、系统工作消息等显示出来;在此处应注意需要将该控件的焦点设置为最后一行数据处,以方便使用者查看消息。

2.4 数据同步

在监控过程中,为了方便企业其他部门监控机床和机床生产厂家进行远程故障诊断,此处进行了服务器和各个客户端之间的数据同步,主要思路如下:在服务器的数据库SQLserver2008 内的数据库中设置事务发布,即可实现当服务器的数据发生更新时,服务器上的SQLserver2008主动将数据对各个客户机上的数据库进行更新,而后客户机进行显示。

其主要流程如图4所示。

图4 数据同步流程

3 系统运行测试

在完成了系统的设计和初步调试之后,对系统进行了运行调试。在调试过程中,运行了6套数控系统(由于每台机床均有2套数控系统,故实际运行了3台机床),在完成各个数控系统MiniWeb的配置后,连接服务器,机床运行,实际运行效果如图5所示(以3#数控系统为例)。

图5 3#数控系统监控界面

4 结语

设计的数控机床群监控系统实质上构建了机械加工企业中车间机床的物联网监控管理系统,包括SINUMERIK828D数控系统群、交换机、企业服务器、用户浏览客户端等,开发了客户端监控界面、配置了数据库,实现了如下功能:1) 基于OPCUA技术,实现了对数控系统的远程操作和数据的采集,能够将需要的信息实时地存储于服务器的数据库中;2) 利用数据库的事务发布功能和C#对数据库的访问,实现了服务器与各个客户端之间的数据同步。3) 利用C#的System.Drawing命名空间,对采集到的数据进行了分析。综上,各个功能模块的实现以及系统的稳定运行,为SINUMERIK828D数控系统用户提供了有效的监控解决方案。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!