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
转载于:https://my.oschina.net/u/126875/blog/280973