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);
//第五步,
--
发布评论