初探MODBUS通讯转换OPC通讯 点击:2218 | 回复:1



blue_eleven

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 20回
  • 年度积分:0
  • 历史总积分:75
  • 注册:2006年8月27日
发表于:2009-06-12 15:57:26
楼主
初探MODBUS通讯转换OPC通讯

    本人对OPC通讯比较感兴趣,因为其稳定可靠,以以太网通讯载体,这个也是大势所趋,MODBUS-TCPIP就是很好的例子。所以老想着将在从站不做任何变化,Modbus主站通讯转换成OPC服务器通讯,以此便于我的一些后续具体工作。
先讲讲背景吧,Modbus协议是MODICOM公司(现从属于施耐德公司)开发的一个为很多厂商支持的开放协议,是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
Modbus通讯方式一般有二种:RTU方式和ASCII方式 ,本论主要对RTU方式讨论。
     OPC (用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
基于微软的OLE (现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
Active X/COM技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口
     由此可见,以上两种协议都作为行业内一种标准,使用用途极为广泛,两种通讯各有自己本身的优势。
测试过程:ModBus有自己的弱点,一般只适用于点对点的通讯,例如本人在做项目的过程中,在做此类通讯的时候,业主要求网络上所有计算机都要读取数据,在这种情况下,Modbus通讯就凸现起劣势,如何将Modbus从站作为一个OPC服务器,在一个网络里可以自由的访问这个OPC服务器,服务器在后台默默的去访问那些从站(本文只对单站测试了)。我在网上找了2个工具,一个是win-tech网站上下的(http://www.win-tech.com)的工具,叫OPCserver,但我咨询了工控网友,据说测试效果不好,后来又去KepserverEX官网上下载了Kepserver,以前用过这个做过一些测试工作,由于当时版本低,不支持Modbus驱动,目前最新的版本是V4.270.416.0-U,测试工具是Modbus Slave,2个测试工具均需要授权方能使用。
本例在PC1仿真了从站,用02 、03功能码分别仿真了一个数据。


    在PC2上用KEPserverEX加载modbus驱动后,设置相应的通讯参数,图2中建了2个点,a读取的是PC1上的地址40001的数据,b读取的是PC1上的地址10001的数据,KEPserverEX会周期性的去访问PC1上的从站数据,自己既是主站,又完成了角色的转换,变成了一个网络OPC服务器。有兴趣去看看它的官网。


    下面就轮到OPC客户端来发挥了,客户端可以对采集来的数据进行做相关处理,数据的传输,报表,数据库(ACCESS、SQL、ORACLE均以测试过),也可以编程直接写入HMI监控软件,


     注:该OPC Reader原版由华北电力大学秦雨飞编写,初版支持ACCESS,后来本人改造了一下,支持SQL2000 ,SQL2005, ORACLE数据库,用途还是比较广泛的。
     本文只是初步的介绍了MODBUS通讯转换成OPC通讯的一个大致过程,具体细节没有仔细讨论,如Modbus协议,OPC协议的本质等等,网上此类文章不计其数,具体项目具体分析,^_^。经过本人测试,这个转换过程是稳定可靠的,在一些特殊的场合或者要求,此种方式还是有一定的用武之地,因为不花任何成本,全由软件后台实现。
笔于 2009-06-12 张家港垃圾电厂



王者之师--马儿你好

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 24回
  • 年度积分:0
  • 历史总积分:278
  • 注册:2006年10月09日
发表于:2009-06-15 16:29:28
1楼

感谢楼主的分享!

使用紫金桥组态软件可以方便的提供MODBUS于OPC服务间的相互转换


热门招聘
相关主题

官方公众号

智造工程师