基于OPC技术实现WINCC与FANUC数控机床的监控系统设计

基于OPC技术实现WINCC与FANUC数控机床的监控系统设计
高罗卿;庄源昌
【摘 要】针对WINCC软件不能直接与FANUC数控系统网络通讯的问题,设计了一个OPC客户端软件.利用OPC技术,通过C#为编程语言,调用FANUC的FOCAS 1/2函数库采集数控系统的报警信息,读写数控系统的宏变量区,编写OPC客户端软件,实现对WINCC软件中OPC服务器的自动连接与变量更新,实现WINCC软件与FANUC数控系统的网络通讯.
【期刊名称】《制造技术与机床》
【年(卷),期】2019(000)001
【总页数】4页(P169-172)
【关键词】OPC;WINCC;FANUC;FOCAS 1/2
【作 者】高罗卿;庄源昌
【作者单位】常州轻工职业技术学院,江苏常州213164;中科院常州数控技术研究所,江苏常州213164
【正文语种】中 文
【中图分类】TH122
SIMATIC WINCC组态软件是德国西门子公司的一款产品,属于HMI/SCADA类型的软件系统,主要用于对工业控制过程中各类设备、标签、控制画面等资源进行配置和编辑,并且可以方便地处理事件报警和系统报警,完成各类报表的统计生成和打印,支持多种数据通讯驱动接口,方便各类设备的实时数据采集与归档,在工业生产中应用极广.
WINCC与PLC的通讯连接应用比较常见,WINCC可以通过PROFIBUS、TCP/IP等协议与西门子PLC建立通讯,与不同品牌的PLC也可以通过MODBUS协议或者OPC协议进行连接.但是WINCC与不同品牌的数控系统之间通讯,则由于厂商之间的协议不同,通常无法直接建立通讯连接.
一般现有的对数控系统的数据采集,多数都采用数控系统厂商所提供的专用数据采集软件或
者二次开发函数库(例如FANUC的FOCAS函数库),自行进行二次开发.有的工业场合也采用WINCC通过PLC与数控系统的PMC模块进行I/O之间的状态变化来交互信息.然而,这些方法都无法使WINCC与FANUC系统之间进行直接的数据通讯.
OPC技术的应用为解决这一问题打开了一条通道,可以通过高级语言VB或C#编写OPC客户端程序,OPC客户端程序通过FANUC公司提供的FOCAS函数库采集数控系统状态信息.同时,WINCC作为OPC的服务器,可以被OPC客户端连接,并且遵循OPC协议,读写服务器上的FANUC系统缓冲数据,从而实现WINCC与FANUC系统的数据通讯连接.
1 系统通讯方案
1.1 OPC标准
OPC协议是基于 Microsoft Windows技术,使用COM/DCOM(分布式组件对象模型)在软件组件之间交换数据.OPC规范定义了客户端和服务器、服务器和服务器之间的通讯接口,包括访问实时数据、监控报警和事件、访问历史数据等应用.
OPC标准于1996年首次发布,最初的目标是将PLC特定协议(MODBUS、PROFIBUS等)抽
表面电晕处理机象成标准化接口,允许HMI系统通过OPC的协议对设备进行读与写的操作,OPC协议标准仅限于Windows操作系统,现在广泛应用在工业自动化、制造业、石油和天然气、可再生能源和公共事业中.
1.2 WINCC读取FANUC系统的通讯结构
系统主要通过WINCC后台变量管理作为OPC的服务器,建立内部变量及变量名称,通过本地网络与本机上的OPC客户端软件通讯,OPC客户端软件应用FOCAS 1/2函数库与FANUC机床通过以太网建立TCP连接,FANUC数控系统通过FOCAS接口,接受OPC客户端的读写操作.如图1所示.
2 系统设计与实现
液氨化工厂制备
2.1 WINCC的OPC服务器设置
道路交通事故现场图
OPC的服务器主要功能是提供通讯程序和数据存储程序,通过OPC标准接口供其它软件使用.OPC(DA 2.0)标准定义了两个对象OPCServer和OPCGroup,OPCServer负责 OPCGroup对象的管理、OPCItem属性查询、连接点管理、地址空间浏览等.OPCGroup对
象负责管理数据项(Item),包括数据项的同步/异步访问、添加删除、属性查询等.
混凝土包管WINCC在软件启动的时候默认开启了OPC服务器功能,默认的服务器名称为“OPCServer.WinCC.1”,在变量管理中,建立OPC服务器的变量名,指定变量的数据类型及长度,如图2所示,建立FanucAlarmstr变量,数据类型是文本变量8位字符集,支持UTF-8中字符集,在OPC客户端中就可以寻到该变量名,并读写该变量值.
2.2 OPC客户端设计
OPC客户端的主要任务是创建服务器对象、建立与服务器的连接、浏览OPC服务器、通过OPC接口读写数据、断开连接等.
OPC的客户端接口方式有很多种,主要有:(1)OPCNetAPI接口,需用OPCNetAPI.dll,OPCNetAPI.dll.(2)自动化接口,需用OPCDAAuto.dll.(3)自定义接口.使用C#语言开发时,一般采用自动化接口.
大理石清洗剂
本项目的OPC客户端程序的主要功能是随WINCC软件开机自启动,启动后分别枚举本地的WINCC服务器和使用FOCAS接口连接FANUC机床,客户端一直尝试连接,直到两部分都连
接成功.具体流程图如图3所示.
连接上WINCC服务器后,OPC客户端会自动遍历服务器上的Item,寻和加载要更新的变量,然后开启一个定时器,按照固定的周期,不断的将FANUC的数据缓冲区数据刷新到WINCC服务器对应Item变量中,并接受服务器写数据操作,更改缓冲区的数据.
当OPC客户端连接上FANUC系统后,会返回正确的句柄,此时客户端会开启一个定时器,按照固定的周期,通过cnc_rdmacror函数批量地读取机床的宏变量区数据,通过cnc_rdalmmsg2函数批量地读取机床的多种报警信息,同时检查数据缓冲区,判断写入FANUC系统数据区的数据有没有改变,如果有改变,则通过cnc_wrmacro函数修改有变化的数据到FANUC系统宏变量区.通过缓冲区的数据交换和FOCAS接口,实现WINCC对FANUC机床的信息采集和数值写入功能.
2.3 FANUC系统的连接
工业应用中与FANUC的系统连接一般有3种方式:(1)以太网方式,要求FANUC系统具备以太网功能,通过FOCAS开发软件包开发数据采集软件.(2)串口数据采集,在加工宏程序中加入F
ANUC的串口打印输出指令将数据从串口输出.但是输出数据有限,操作方式、报警状态、倍率信息等输出比较困难.(3)PMC交互,通过IO电平状态交互信息,只能交互简单的点位状态信息.
本文采用的系统是FANUC 0i-MD,系统默认支持FOCAS网络功能,采用FANUC提供的FOCAS 1/2函数库编写程序就可以与机床进行网络通讯.使用系统的FOCAS功能只需要对系统的IP地址和TCP的端口号进行配置,如图4所示,使IP地址与OPC客户端所在主机在同一个网段内就可以使用了.
OPC客户端程序通过使用Focas 1/2函数库接口函数与FANUC系统建立连接:
Focas1c_allclibhndl3("192.168.0.100",8193,10,out Flibhndl);
连接成功返回EW_OK状态,表示与机床的网络通讯连接成功.运行Focas 1/2函数库需要两个必不可少的链接库 Fwlib32.dll和 fwlibe1.dll.其中Fwlib32.dll负责CNC/PMC数据读写接口,fwlibe1.dll负责网络连接和TCP服务的接口.
2.4 FOCAS接口报警采集
猎结构针对FANUC 0i-MD系统,读取系统报警主要有cnc_rdalarm2和cnc_rdalmmsg2.其中cnc_rdalarm2的返回是数控机床报警号,cnc_rdalmmsg2的函数返回是数据结构体Focas1.ODBALMMSG2,该结构体可包含多条报警信息,每条报警信息包含报警号、报警类型、哪个轴报警、中文报警详细信息等,可以同时了解同一时期系统的报警情况.函数应用流程如图5所示,读取报警信息的函数体为:

本文发布于:2024-09-23 00:34:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/244429.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   报警   系统   服务器   变量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议