当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

JEsayOpc使用心得

发表于: 2010-06-12   作者:cisumer   来源:转载   浏览:
摘要:        前段时间做一个自动化的项目,由于种种原因需要使用swing开发客户端监控系统。由于使用了OPC作为数据采集和转发服务器,于是开始研究JEsayOpc,期间种种在此略过,最终总结了一些心得体会拿来与大家分享。 1、JCustomOpc是提供基础方法的抽象类,所有的与服务器通信,初始化等方法全在此类。尤其注意dll加载在此类一个sta
  
    前段时间做一个自动化的项目,由于种种原因需要使用swing开发客户端监控系统。由于使用了OPC作为数据采集和转发服务器,于是开始研究JEsayOpc,期间种种在此略过,最终总结了一些心得体会拿来与大家分享。
1、JCustomOpc是提供基础方法的抽象类,所有的与服务器通信,初始化等方法全在此类。尤其注意dll加载在此类一个static块中。

2、JOpc提供了操作group和item以及读写的基本方法。它是JCustomOpc的子类。

3、JEasyOpc是一个简单实现了JOpc的类,它实现了一个线程来异步读item。可以参考此类的实现,但不建议直接使用此类。

4、OpcItem代表了OPC服务器中的一个Item/Tag,在应用程序中它应该包含在一个OpcGroup中,注意OpcGroup和OPC服务器中的group没有关系。

5、OpcItem的name属性表示OPC服务器中的ItemID。

6、coInitialize在最开始,coUninitialize在最后。

7、正常的加载顺序为,创建OpcItem和OpcGroup,使用OpcGroup.addItem(OpcItem item)添加OpcItem;将所有的item加载后,调用JCustomOpc.connect()连接服务器;调用JOpc.registerGroups(),注册所有的组;调用JOpc.synchReadItem(OpcGroup, OpcItem)同步读数据,调用JOpc.synchWriteItem(OpcGroup, OpcItem)同步写数据。

8、注意使用registerGroups()方法注册则OpcItem不用单独注册。如果调用registerGroup(OpcGroup)注册OpcGroup,则还需调用registerItem(OpcGroup,OpcItem)注册该OpcGroup中的OpcItem。否则在读取是会出现javafish.clients.opc.exception.SynchReadException: Synchronous reading error.

9、注册OpcGroup后如果向Group添加了新的OpcItem,要调用registerItem(OpcGroup,OpcItem),否则在读取时会出现javafish.clients.opc.exception.SynchReadException: Synchronous reading error.

10、在注册新OpcItem前一定要调用JOpc.updateGroups()更新组,否则注册时会出现javafish.clients.opc.exception.ComponentNotFoundException: The component (group/item) wasn't found: componentname

转载请标明出处~!谢谢 http://cisumer.iteye.com/blog/690420

JEsayOpc使用心得

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号