2024年4月19日发(作者:)

.

1. JEasyOpc学习心得

前段时间做一个自动化的项目,由于种种原因需要使用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,使用

m(OpcItem item)添加OpcItem;将所有的item加载后,调用

t()连接服务器;调用erGroups(),注册所有的组;调用

eadItem(OpcGroup, OpcItem)同步读数据,调用

riteItem(OpcGroup, OpcItem)同步写数据。

8、注意使用registerGroups()方法注册则OpcItem不用单独注册。如果调用

registerGroup(OpcGroup)注册OpcGroup,则还需调用

registerItem(OpcGroup,OpcItem)注册该OpcGroup中的OpcItem。否则在读取是会出

现eadException: Synchronous reading error.

--

.

9、注册OpcGroup后如果向Group添加了新的OpcItem,要调用

registerItem(OpcGroup,OpcItem),否则在读取时会出现

eadException: Synchronous reading error.

10、在注册新OpcItem前一定要调用Groups()更新组,否则注册时会

出现entNotFoundException: The component

(group/item) wasn't found: componentname

2. java连接OPC服务调用过程(jeasyopc如何使用)

关于jeasyopc的详细资料可以到/projects/jeasyopc上去下

载。

有了jeasyopc,一切操作都简单的很,如下:

//第一步,初始化

ialize();

//第二步,建立一个JOpc对象,三个参数,分别是OpcServer的IP,Server的name,

还有JOpc的name

JOpc jopc = new JOpc("172.29.10.173", "", "JOPC1");

//第三步,建立连接

t();

//第四步,新建一个OPC的group和item,并把item加到group中

OpcGroup group = new OpcGroup("group", true, 500, 0.0f);

OpcItem item = new OpcItem("Door1", true, "");

m(item);

//第五步,

--