OPC通信速度不慢! 点击:11737 | 回复:64



tcs

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2007-10-28 16:40:00
楼主
“创世纪32”GENESIS32的好处是OPC核心软件,不像其他软件如inTouch、iFix、Citect、TracMode、紫金桥、组态王、力空、杰空、易控、世纪星、开物…等等,他们都有自己的IO驱动程序,都是专用的、封闭的,他们各自开发的IO驱动程序只能够在自己的系统运行,不能互用。

OPC是一个标准、开放的IO服务器(等于他们的IO驱动程序),但是OPC可以安装和运行在任何SCADA/HMI系统,当然这些系统必须支持OPC啦,对最终用户是一件好事情,因为他们就不会受限制于这些专用的、封闭的软件系统,如果他们不给你开发一些新的IO驱动程序,你根本不可能把现有的系统连接到一些新的设备或者系统,用户根本就没有办法,只能够忍耐、等待他们大发慈悲给您开发,或者您要付出一笔可观的费用请他们帮您开发IO驱动程序。

此外,这些SCADA/HMI系统都说可以连接OPC,其实,他们只是写了一个OPC的IO驱动程序去连接OPC服务器,做工程时要建立2个数据库:
1)如果您用Kepware OPC服务器,首先您要建立Tag在KepwareOPC服务器中,
2)然后,再利用这些软件的OPC IO驱动程序去连接Kepware OPC中的Tag,把这些Tag连接到自己数据库的Tag。
等于做了两次数据库,比较麻烦!

“创世纪32”GENESIS32的优点是可以直接浏览Kepware中的Tag,马上可以连接到动态图上,不需要再建立Tag才可以连接到动态图,很方便,做工程会节省不少时间,时间就是金钱啊!

有不少人都说OPC很慢,其实他的观点有些不对,由于过去他们只用这些非OPC核心的软件去连接OPC服务器,感觉上动态图的动态点刷新时间会比用他们自己的IO驱动程序慢,问题不是在OPC服务器上,问题是在这种接法而产生的,事实上肯定会慢,动态图的动态点首先从他们自己的OPC IO驱动程序去读/写Kepware OPC的Tag,然后Kepware OPC服务器又去读/写PLC的点,中间就多了一层通信,肯定慢。

但是,“创世纪32”GENESIS32是OPC核心软件,动态图中的动态点直接就访问Kepware OPC中的Tag,是直接读写,是很快的,这是我做工程的经验。



harry_qj

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2006年4月21日
发表于:2008-01-03 16:58:00
41楼
正想研究opc,
说起速度,
大家比较一下:
三菱、西门子等pcl都有一个通信动态库,也有opc server
如果我用vc等语言编写程序,这两个方法,那个快些呢

harry_qj

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2006年4月21日
发表于:2008-01-03 17:01:00
42楼
如果我通过以太网一次访问opc上的1000WORD,要多长时间呢

tcs

  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2008-01-08 02:11:00
43楼
这个问题可能要kking来解答了!但是不同的硬件的通信速度有不同,例如RS232(9600bps)跟用Ethernet 的OPC速度又不同,是没有一个标准。

myopc

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 43回
  • 年度积分:0
  • 历史总积分:159
  • 注册:2002年9月05日
发表于:2008-02-03 14:10:00
44楼
加了中间点是要慢点,但我想也不会慢的离谱。
一般来说如果是轮询方式监控数据的话扫描周期一般100ms/每数据。计算机的处理速度远高于这个。
所以我觉得速度的瓶颈在于与现场硬件的io,而不是计算机的软件opc什么的。opc充其量也就是驱动程序的封装而已,是个纯软件东西。如果有速度问题,不应该先考虑是否opc出问题。

myopc

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 43回
  • 年度积分:0
  • 历史总积分:159
  • 注册:2002年9月05日
发表于:2008-02-03 14:11:00
45楼
我也准备做一个以opc为核心的scada系统。

kking

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 116回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年7月09日
发表于:2008-02-04 14:53:00
46楼
tcs,你的结论有一定道理,所谓“非OPC核心”组态软件的滞后在理论上是肯定存在的。
但在实际应用中,如果那些“非OPC核心”的组态软件的实现机制是在接收到OPC数据变化消息后,更新它们的实时数据库,然后立即转发给GUI部分的话,那么这个滞后几乎可以忽略不计了。但如果只是更新实时数据库缓冲区,而GUI部分是靠另一套机制定期读取缓冲区并更新的话,那么就可能会出现较明显的滞后。至于目前流行的组态软件在这方面具体的表现到底如何,我没有实际测试比较过,但印象中我接触过的并没有这方面的问题。
不过,关键的问题是,这种滞后是否严重?个人认为对于大多数的过程控制来说,1秒以内都是可以接受的。

kking

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 116回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年7月09日
发表于:2008-02-04 15:12:00
47楼
to harry_qj:
“如果我通过以太网一次访问opc上的1000WORD,要多长时间呢”
这个要看你如何定义“访问”了。按通常的理解,应该是“OPC客户端订阅1000个WORD型的数据”时的数据传输时间吧?正常情况下,OPC服务器对客户端回调,传1000个数据时,应该把这些数据放到一个数组里,调用一次 OnDataChange 即可,耗时是非常短的。

但如果是同步读,并且声明了从设备读的话,当设备I/O速度不高时,就会很慢了,不过这个和OPC没关系。

tcs

  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2008-02-17 20:24:00
48楼
To: kking
我在春节到了台湾,跟一个专门开发OPC的老总谈过 OPC的通信速度问题,他的经验跟我碰到的一样,大部分用户对OPC的 评价是感觉慢的原因是他们都是用非OPC核心的软件来连接OPC。
看起来“创世纪32“的软件是跟OPC搭配最好和通信速度最快的 工控软件了!可以说是第一家OPC核心的监控软件!不错!看起来这 个公司选择是对的,因为OPC越来越多人使用,我看其他的监控软件 也要朝这个方向来走!

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:431帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2008-02-18 11:18:00
49楼
一套多少钱?正好有一个项目在谈。

tcs

  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2008-02-18 19:32:00
50楼
To:myopc , kking 我今天去看了一个用户,他们是用iFix3.5,连接了KepwareOPC, 点数大概是3000点,刷新的速度最慢是3秒。所以客户也说OPC是慢, 但是我用GEN32连接了一个系统,直接连OPC,速度很快,用Load Display方法,刷新速度约一秒,如果用Pop up Window办法,几乎是 没有延时。

tcs

  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2008-02-18 19:39:00
51楼
To: 通讯网
我知道GEN32的价钱跟国产软件差不多,他们在工控网站有联系电邮。
http://www.gongkong.com/company/include/19392.asp?companyid=19392

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:431帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2008-02-18 19:43:00
52楼
谢谢!我去看看!

龙志明

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 91回
  • 年度积分:0
  • 历史总积分:381
  • 注册:2006年5月03日
发表于:2008-02-26 22:43:00
53楼
听的不太懂,呵呵

龙志明

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 91回
  • 年度积分:0
  • 历史总积分:381
  • 注册:2006年5月03日
发表于:2008-06-05 10:42:47
54楼
但是我试过Rslinx OPC server,5000个TAG大约1s左右

死亡骑士

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1774回
  • 年度积分:0
  • 历史总积分:2630
  • 注册:2006年7月17日
发表于:2008-07-24 10:48:05
55楼

瓶颈在IO        

如果情况真像TCS说的那样 那国产的这些声称支持OPC的软件 要改进了

比较 通讯速度有时候很重要

robert_li

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 60回
  • 年度积分:0
  • 历史总积分:121
  • 注册:2003年11月19日
发表于:2008-07-27 08:26:37
56楼
我现在正用VB通过S7-200的OPC编写软件,发现通过OPC存取PLC内的数据极慢,苦恼中.有哪位大侠指导一下该如何提高速度?感谢了!

tcs

  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 526回
  • 年度积分:0
  • 历史总积分:768
  • 注册:2004年8月25日
发表于:2008-07-31 20:17:45
57楼
RSLIN OPC server 是好东西!

王小石

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 72回
  • 年度积分:0
  • 历史总积分:224
  • 注册:2001年12月26日
发表于:2008-08-03 18:12:42
58楼
OPC不慢,瓶颈在I/O上, 至于用Ifix读kepware3000个点用3秒,而用GEN32只需要1秒,假如你的测试结果是真实的(有可能没有针对ifix对当前方案进行优化),我猜可能是这样,ifix是把3000个点都读到PDB里了,而GEN32可以将当前页面数据注册为一个group,直接刷新组数据,如果用异步或同步cache方式读的话,肯定会小于1秒,问题是我们很多时候不是光为了显示,而是要监控所有数据的报警限,不知道怎样高性能实现,另外我还想知道假如当前页面有很多个的不同OPC Server的数据,效果会怎样

DoubleCao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-08-04 14:24:40
59楼

争论这个速度问题似乎没有太大意义,更多的时候,方便和稳定的需要大大超过速度。每个技术都有其成熟应用的场合,如果你觉得一个技术对当前的应用比较勉强,比较好的方法仍然是换一种解决方案。

阿挺

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 38回
  • 年度积分:0
  • 历史总积分:79
  • 注册:2007年12月07日
发表于:2008-08-12 10:32:26
60楼

支持 DoubleCao

我在项目中,也碰到实时性高的场合,OPC读取速度不够快的问题。应该是硬件瓶颈造成的。


热门招聘
相关主题

官方公众号

智造工程师