luoyan35714 / OPC_Client

OPC client examples
https://www.hifreud.com/tag/#OPC-ref
Apache License 2.0
210 stars 157 forks source link

关于utgard的问题 #11

Closed JustWantToSee closed 1 year ago

JustWantToSee commented 1 year ago

大佬,您好:

我有一台仅支持OPC DA3.0的仪器,我需要在linux平台上连接到它。我在网上找到了utgard,我认为它有可能实现,因为它依赖的是J-interop。 由于我没有找到utgard的详细说明,但是我看到您曾经使用过它来实现客户端。

我想问下:1、utgard 1.4/1.5是否支持OPC DA3.0的连接?2、我的这个想法(使用utgard来跨平台连接)是否现实?3、我看您在博客中写道 utgard和OPC通信分为两种方式OPC DPI和DCOM DPI,我想了解二者的区别?4、如果utgard不支持OPC DA3.0,我想要实现utgard支持OPC DA3.0通信,我需要修改哪部分的代码,据我所知OPC DA2.0和3.0之间也就增删了一些接口,我需要的改动量大吗?

luoyan35714 commented 1 year ago
  1. 应该是支持的,具体的协议之间的关系我没测试过,需要你具体场景去测试下
  2. 如果是部署在Linux,上位机是windows的话,可以用utgard,不能用jeasyopc(使用了JCustomOpc.dll,所以只能在windows下运行)
  3. 两种API的区别是OPC API相对来说封装的更易于使用,更简单一些,主要是采集数据,DCOM API的话偏底层,能拿到更多的配置类数据,如果有自定义功能建议使用DCOM API,如果只是简单的采集建议使用OPC API
  4. 正常utgard是支持DA的,还是具体场景具体分析吧。我也好久没有使用OPC了,如果不支持,可以找找utgard的官网看看有没有最新版本

以上希望对你有帮助

luoyan35714 commented 1 year ago

https://github.com/luoyan35714/OPC_Client/tree/master/OPC_Client_Utgard/src/main/java/com/freud 以上是utgard所有API的demo,可以作为参考

JustWantToSee commented 1 year ago

十分感谢您的回答,第一点我已经测试过了,理论上OPCDA2.0和OPCDA3.0仅仅是一些接口有些删减,实际测试也可以用utgard访问OPCDA3.0服务器。