求助:OPC 客户端CPU占用率,刷新问题, 点击:1982 | 回复:8



雷高

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2004年3月03日
发表于:2004-03-26 11:03:00
楼主
具体情况是这样: 厂家用了欧陆的DCS,组态工具是fix 7.0,用欧陆的一个网关机(一个小模块,串口转TCP/IP),传送数据到接口机上,接口机上起一个OPC Server,我们用了http://www.win-tech.com/上载的WTClient.dll做工具引用,用VC写了OPC 客户端.大概4000个点,客户端全部获取,服务器1秒刷新一次点的数据。结果CPU占用率80%(查看了一下进程,除了我们跑的程序外,还有一个AWHost32,这两个相加80%左右)。现在想求助的是有办法解决CPU占用率高的方法么?OPC Server有数值变化才刷新客户端的办法么(西门子的XU是数值变化才发的)? 我的联系方法: xqxu@wiscom.com.cn



deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2004-03-29 08:37:00
1楼
有两个办法解决您说的占用率高的问题: 1.优化您的数据刷新查找算法.(当然不能是冒泡) 2.对多个点同时刷新作异步处理. 3.可用wtclient.dll进行hush 算法设置. 估算可作到 6000点.

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-03-29 09:20:00
2楼
非常感谢deng_lp

xuexixuexi

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 41回
  • 年度积分:0
  • 历史总积分:105
  • 注册:2003年12月05日
发表于:2004-04-01 15:57:00
3楼
写OPC服务器是用MFC 还是用ATL来写COM程序呀/?????

雷高

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2004年3月03日
发表于:2004-04-06 15:07:00
4楼
我只是写客户端,还引用了别人的dll

xuexixuexi

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 41回
  • 年度积分:0
  • 历史总积分:105
  • 注册:2003年12月05日
发表于:2004-05-12 10:37:00
5楼
请问你写客户端时是要实现:::  1.优化您的数据刷新查找算法.(当然不能是冒泡)    2.对多个点同时刷新作异步处理.    3.可用wtclient.dll进行hush 算法设置. ???????

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-05-12 11:01:00
6楼
服务器不是你自己写的话只能从客户端下手了。 尝试去掉不必要的带 OPC_DS_DEVICE 参数的同步读取操作,尽量采用订阅方式,根据具体情况尽可能加大 OPC Group 的刷新率。

xuexixuexi

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 41回
  • 年度积分:0
  • 历史总积分:105
  • 注册:2003年12月05日
发表于:2004-05-14 10:07:00
7楼
to kking 但如果是你自己写OPC SERVER的话,是不是自己在OPC服务器中实现数据查找算法呢??但这个又是在OPC SERVER中怎么去实现呢,因为OPC SERVER中的接口和函数都定义好了呀??是否是在OPC SERVER的定义好的函数中去实现数据结构呢???那又是那几个函数呢??? 盼回答!!!!!

kking

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 116回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年7月09日
发表于:2004-05-14 12:10:00
8楼
接口函数是定义好了,但函数内容要你自己去实现。那些[out]型的参数需要你在函数内部进行填充,等等。

热门招聘
相关主题

官方公众号

智造工程师