APP下载

基于OPC技术实现西门子数控系统的数据采集*

2016-10-29张腾飞

组合机床与自动化加工技术 2016年4期
关键词:数据项数控系统西门子

王 帅,胡 毅,何 平,安 涛,张腾飞,郭 安

(1.中国科学院大学, 北京 100049;2.中国科学院 沈阳计算技术研究所高档数控国家工程研究中心,沈阳 110168;3.沈阳高精数控智能技术股份有限公司 总线技术部,沈阳 110168)



基于OPC技术实现西门子数控系统的数据采集*

王帅1,2,胡毅2,3,何平2,3,安涛1,2,张腾飞1,2,郭安1,2

(1.中国科学院大学, 北京100049;2.中国科学院 沈阳计算技术研究所高档数控国家工程研究中心,沈阳110168;3.沈阳高精数控智能技术股份有限公司 总线技术部,沈阳110168)

文章通过对工业OPC标准和西门子数控系统OPC服务器的研究,介绍了OPC标准的相关技术和西门子OPC服务器的具体内容。同时针对具体的西门子数控系统,实现了数控系统与上位机的DCOM通信配置和数控系统的实时数据采集,为实现数控车间的联网管理奠定了基础。

OPC技术;西门子数控系统;DCOM通信;数据采集

0 引言

“工业4.0”战略的核心环节是建立数字化车间,实现生产过程的自动化、智能化、信息化。在工业数字化生产管理的发展要求中,实现数控系统的实时数据采集、数控车间的联网管理是推进数字化车间发展的一个重要基础[1]。

OPC技术实现了硬件设备与应用程序之间的软件接口标准化、工业过程控制中的数据交换标准化,对于实现跨平台的数据采集、数据通信具有重要意义[2]。与此同时,支持OPC标准的西门子数控系统在工业现场被广泛的使用。

本文以西门子数控系统为平台,在介绍西门子与上位机之间的DCOM通信配置的基础上,通过访问西门子OPC服务器实现实时的数据采集。

1 OPC技术

1.1OPC标准

OPC(OLE for Process Control)是基于微软的OLE/COM技术实现的用于规范硬件驱动程序与应用软件之间接口的一种工业标准[3]。OPC实现了客户程序对硬件设备访问的透明性、解决了应用程序对硬件固有数据类型的依赖性,因此已经广泛的被各种数控系统所支持。目前通用的标准主要有:数据访问标准(Data Access)、数据交换标准(OPC Data Exchange)、事件和报警标准(Alarm & Event)、历史数据访问标准(Historical Data Access)、安全性标准(Security)、过程数据的XML标准(OPC XML-DA)[4]。

1.2OPC服务器

OPC服务器是由硬件供应商提供的用于提供OPC标准化接口和过程数据的专用软件,由服务器对象(OPC Server)、组对象(OPC Group)、数据项对象(OPC Item)三部分组成。

OPC服务器对象负责维护服务器内部的状态信息、提供OPC客户程序与服务器通信的访问接口,并作为OPC组对象的容器向OPC客户程序提供创建和管理组对象的接口。OPC组对象负责管理OPC组对象的内部信息、创建和管理OPC项对象并提供OPC服务器内部实时数据的存取服务。OPC项对象用于描述实时数据,代表了服务器到数据源的一个物理连接[5-6]。

OPC服务器中各个部分具有如图1所示的组织方式。每个OPC服务器中包含一个OPC服务器对象,一个OPC服务器对象包含一个OPC组集合来维护管理多个OPC组对象,每个OPC组对象包含一个OPC项集合来管理多个OPC数据项对象。此外,OPC服务器还维护一个可选的用于浏览OPC服务器名称空间的OPC浏览器对象。

图1 OPC服务器数据组织方式

1.3OPC服务器接口

OPC客户端的开发过程实际上就是对服务器接口的声明和调用。如图2所示,OPC服务器支持两种类型的接口:客户化接口(Custom Interface)和自动化接口(Automation Interface)。自动化接口封装COM的底层实现,提供自动配置和存取过程控制数据的方法,使开发者可以轻松的获取数据。客户化接口通过对OPC组对象进行操作来实现数据的访问,可用于实现最佳性能的OPC客户程序[7]。

图2 OPC接口示意图

1.4OPC通信方式

OPC客户程序与服务器之间的数据通信方式有同步通信、异步通信以及订阅三种方式[8-9]。

采用同步通信方式,OPC服务器将客户端请求的数据访问结果作为方法参数返回给客户程序,在接收到访问结果之前客户端一直处于等待状态。

采用异步通信方式,OPC服务器在接收到客户请求后立即将方法返回,OPC客户端随后可以进行其他操作。当OPC服务器处理完数据访问后,处理OPC客户程序的异步访问完成事件会将访问结果返回给OPC客户端。

采用数据订阅方式,OPC客户程序并不需要向服务器发送数据访问请求,服务器会按一定的更新周期更新OPC服务器的数据缓冲器中的数据,在发现数值发生变化时就以数据变化事件通知OPC应用程序。

2 OPC通信配置

使用OPC技术实现西门子数控系统数据采集的基础是实现OPC客户程序与西门子OPC服务器的通讯连接[10]。在建立通讯连接的过程中,对西门子数控系统和PC客户机进行OPC通信的DCOM配置是其中的一个难点问题,因此本节将分别介绍在PC客户机和西门子服务器上进行DCOM配置的过程。

2.1PC客户端的DCOM配置

①在PC上创建与西门子数控系统相同的账户,此账户隶属于Users组;

②启用Guest用户,将Guest用户从本地安全策略中的“拒绝从网络访问这台计算机”中去掉;

③勾选文件夹选项中的“使用简单文件共享(推荐)”;

④在组件服务中,设置计算机属性为启用分布式COM、默认协议为面向连接的TCP/IP;同时在COM安全中设置访问权限为允许Administrator用户、ANONYMOUS LOGON用户、Everyone用户的所有权限,设置COM安全的启动和激活权限为允许Everyone用户、Administrator用户的所有权限;

⑤设置组件服务中的OpcEnum对象的属性为在此计算机上运行应用程序、选用交互式用户,安全选项卡中的权限全部设置为允许所有用户的所有权限。

2.2西门子服务器的DCOM配置

①启用Guest用户并添加到Administrators组,从本地安全策略的“拒绝从网络访问这台计算机”中去掉Guest用户;

②修改本地安全策略中的“网络访问:本地账户的共享和安全模式”为“经典-本地用户以自己的身份验证”;

③按照客户端中组件服务的修改方案对服务器中的组件服务进行配置;

④对于服务器中的OpcEnum对象,除了将身份验证级别改为“连接”以外,其余的配置与客户端一致;

⑤对于OPC.SINUMERIK.Machineswitch项,勾选“在数据所在计算机上运行应用程序”和“在此计算机上运行应用程序”,安全选项卡中的权限全部设置为允许所有用户的所有权限,标识选项卡中设置为交互式用户。

至此,西门子数控系统就可以与PC客户程序进行OPC通信连接和数据交换了。

3 数据采集客户端的实现

3.1采集模块功能

实现数控系统的实时数据采集是进行车间机床联网管理的重要基础,可以为车间管理系统监控机床实时加工状态、分析机床加工效率、查看和统计历史作业信息提供依据。

在数据采集模块中,需要完成对西门子数控机床的运行模式、运行状态、运行时间、当前加工程序、轴编程值、轴剩余值等信息的采集,并将采集结果传输给车间管理系统。

3.2OPC数据采集流程

如图3所示,OPC客户端进行数据采集的流程主要包括COM环境初始化、连接OPC服务器、创建OPC组和数据项、读取OPC数据项等[11-12]。

①COM环境初始化

OPC标准是基于OLE/COM技术实现的,因此在使用OPC相关接口时必须首先使用Colnitialize方法对COM库进行初始化。

②连接OPC服务器

OPC客户程序连接到OPC服务器是保证数据访问机制实现的基础。OPC客户程序通过连接OPC服务器获取服务器句柄,进而实现创建OPC组和OPC数据项、读取OPC数据项等功能,实现对数控系统的数据采集。

③创建OPC组

OPC客户程序对OPC数据项的操作必须通过OPC组对象提供的接口实现,因此在添加OPC数据项之前必须添加一个OPC组。

④添加OPC数据项并读取数据

OPC数据项中存储了数控系统中相应的数据,将相关的OPC数据项对象添加到OPC组中,就可以通过OPC组对象访问读取相关的数据信息。

图3 OPC客户端数据采集流程图

3.3数据项与实时数据的对应关系

机床加工过程中产生的数据保存在不同的OPC数据项中,确定OPC数据项与相关实时数据的对应关系是保证数据采集模块正确运行的前提条件[13],表1中列出了部分OPC数据项与不同实时状态之间的对应关系:

表1 OPC数据项与实时数据的对应关系

3.4数据采集结果

本文在西门子840D数控系统上进行了OPC数据采集模块的测试和验证。

在某一时刻OPC数据采集模块得到如图4所示的运行结果,通过与当前时刻西门子数控系统显示的实时数据(如图5所示)进行比较,可以确定采集模块获取到的轴编程值、当前加工程序、机器运行时间等数据都是正确的。同时,通过调整数控机床上的F修调值和S修调值按钮,发现采集到的修调值也会随之改变。

图4 数据采集模块采集结果

图5 西门子系统实时数据

4 结束语

通过OPC数据访问接口进行数据采集,实现了客户程序与硬件设备的分离,简化了数据采集流程。同时,快速高效的OPC采集方法保证了数据的正确性和有效性,为实现数字化车间管理奠定了基础[14]。本文在研究分析OPC技术和西门子OPC服务器的基础上,实现了对西门子数控系统的数据采集,对实现车间管理系统具有重要的作用。

[1] 刘涛.智能制造技术在工控自动化领域的应用[J].产业与科技论坛,2015(1):47-48.

[2] 韩洋.OPC接口技术在工业自动化系统中的应用[J].硅谷,2015(4):93-93.

[3] 杨传颖,李赫.OPC技术发展综述[J].仪器仪表用户,2012(4):6-8.

[4] 李博,郑伟丽.基于C#的OPC自动化接口异步访问技术[J].信息技术,2014(8):140-146.

[5] 杜柳青.基于OPC数据的数控机床精度状态实时测评方法[J].组合机床与自动化加工技术,2014(6):46-50.

[6] 程福友,朱泓睿.基于OPC技术和SCADA平台的能源管理系统[J].自动化博览,2014(8):50-52.

[7] 黄娟.基于C#的OPC数据通信的设计与实现[J].工业控制计算机,2013(11):14-15.

[8] 杨鹏,黄文江,李川阳.基于OPC协议的EMS系统数据采集设计与实现[J].新疆钢铁,2014(1):14-17.

[9] 周俊,王德权,王可心.MES在变速箱生产线中的应用[J].组合机床与自动化加工技术,2014(6):147-148.

[10] 姜政华,朱明清,张迁礼.OPC通信中的DCOM配置及问题处理[J].自动化技术与应用,2010(6):53-55.

[11] 张建平,马芳,马利.基于OPC技术的工业现场异构系统集成软件的开发[J].电子技术与软件工程,2014(18):76-77.

[12] 戚宝运,许自力,毛勤俭.数字化车间MES系统构建[J].指挥信息系统与技术,2013(1):25-29.

[13]王雪寒,辇玉玉,姚翠红.实时数据采集技术在生产制造执行中的应用[J].工业控制计算机,2013(2):18-19.

[14]夏志,张洁,张功.数控机床数据采集嵌入式适配器设计与开发[J].组合机床与自动化加工技术,2012(5):57-61.

(编辑赵蓉)

The Realization of Data Acquisition about Siemens CNC System Based on OPC Technology

WANG Shuai1,2,HU Yi2,3,HE Ping2,3,AN Tao1,2,ZHANG Teng-fei1,2,GUO An1,2

(1. University of Chinese Academy of Sciences, Beijing 100049, China;2. National Engineering Research Center For High-End CNC, Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168,China)

Through the research on the industry standard OPC and the OPC server of Siemens numerical control systems, the paper introduces the related technology about OPC and the specific content of Siemens OPC server. At the same time, for a specific Siemens CNC system,the author achieves the configuration of DCOM communication between CNC system and host computer and the real-time data acquisition of CNC system, laid the foundation for the realization of the network management of NC workshop.

OPC technology;siemens CNC system;DCOM communication;data acquisition

1001-2265(2016)04-0069-03DOI:10.13462/j.cnki.mmtamt.2016.04.019

2015-06-03;

2015-07-07

“高档数控机床与基础制造装备”国家科技重大专项、数控机床精度保持性技术研究(2014ZX04014021)

王帅(1990—),男,山东青岛人,中国科学院大学、中科院沈阳计算技术研究所硕士研究生,研究方向为数控技术,(E-mail)sdwsh@mail.ustc.edu..cn。

TH166;TG506

A

猜你喜欢

数据项数控系统西门子
国六柴油车远程排放监测数据项间相关性特征研究*
基于相似度的蚁群聚类算法∗
基于西门子VCS的大型五轴机床空间误差补偿
非完整数据库Skyline-join查询*
基于Python的Asterix Cat 021数据格式解析分析与实现
西门子重型燃机出海
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现