关于OPCGROUPS的求助 点击:935 | 回复:2



dachuan

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 11回
  • 年度积分:0
  • 历史总积分:108
  • 注册:2003年7月14日
发表于:2007-09-27 21:53:00
楼主
以VB例,在OPC Client中,一般作如下定义:
   Dim WithEvents MyOPCGroupl As OPCGroup
   Dim WithEvents MyOPCGroup2 As OPCGroup
然后异步订阅读取
   Private Sub MyOPCGroupl_DataChange (...)  
   Private Sub MyOPCGroupl_DataChange (...)
如果有多个Group,岂不是要一大堆Dim WithEvents?
因此,改用 
   Dim WithEvents MyOPCGroup As OPCGroups
   Private Sub MyOPCGroup_GlobalDataChange(...)
向各位高手求教:
  1、一次性向一个Group添加所有Item与多个Group依次添加Item,哪种方式更省资源(C/S两方面)
  2、在GlobalDataChange使用中发现,只在刚连接时获取了一次数据,以后就不更新了,Why?
  3、是不是只用GlobalDataChange并不够,还要添加别的代码,请明示!
谢谢




kking

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 116回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年7月09日
发表于:2007-10-09 10:26:00
1楼
多个Group通常会消耗较多的资源,在很多OPC服务器的实现中,每个Group要由一个独立的线程来管理。
客户程序一般不要建立多个Group,除非有特殊需要,比如要对Item设置不同的更新速率、死区等。
至于GlobalDataChange,应该与DataChange的实现类似,没有什么额外的要求。你说的仅更新一次的问题,建议从其它方面找原因。

张琦

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 47回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月25日
发表于:2007-10-12 11:50:00
2楼
支持楼上,说得不错!

有时会对读写分别创建两个groups.




热门招聘
相关主题

官方公众号

智造工程师