一、JCustomOpc是提供基础方法的抽象类,全部的与服务器通讯,初始化等方法全在此类。尤为注意dll加载在此类一个static块中。
二、JOpc提供了操做group和item以及读写的基本方法。它是JCustomOpc的子类。
三、JEasyOpc是一个简单实现了JOpc的类,它实现了一个线程来异步读item。能够参考此类的实现,但不建议直接使用此类。
四、OpcItem表明了OPC服务器中的一个Item/Tag,在应用程序中它应该包含在一个OpcGroup中,注意OpcGroup和OPC服务器中的group没有关系。
五、OpcItem的name属性表示OPC服务器中的ItemID。
六、coInitialize在最开始,coUninitialize在最后。
七、正常的加载顺序为,建立OpcItem和OpcGroup,使用OpcGroup.addItem(OpcItem item)添加OpcItem;将全部的item加载后,调用JCustomOpc.connect()链接服务器;调用JOpc.registerGroups(),注册全部的组;调用JOpc.synchReadItem(OpcGroup, OpcItem)同步读数据,调用JOpc.synchWriteItem(OpcGroup, OpcItem)同步写数据。
八、注意使用registerGroups()方法注册则OpcItem不用单独注册。若是调用registerGroup(OpcGroup)注册 OpcGroup,则还需调用registerItem(OpcGroup,OpcItem)注册该OpcGroup中的OpcItem。不然在读取是会 出现javafish.clients.opc.exception.SynchReadException: Synchronous reading error.
九、注册OpcGroup后若是向Group添加了新的OpcItem,要调用registerItem(OpcGroup,OpcItem),不然在读取时会出现javafish.clients.opc.exception.SynchReadException: Synchronous reading error.
十、在注册新OpcItem前必定要调用JOpc.updateGroups()更新组,不然注册时会出现javafish.clients.opc.exception.ComponentNotFoundException: The component (group/item) wasn't found: componentnamejava