使用OPC UA Java Legacy连接到Matrikon服务器

时间:2019-01-28 14:58:21

标签: java client opc

我正在尝试连接到Siemens S7 1200 PLC的OPC服务器。为此,我使用了Matrikon application 那是在我的本地机器上配置的。使用JeasyOPC library,我可以建立连接,就像这样:

  

JOpc jopc =新的JOpc(“ localhost”,“ Matrikon.OPC.SiemensPLC.1”,“ JOPC1”);

     

JOpc.coInitialize();

但是该库只能在Windows中使用,并且在64位编译二进制文件时会遇到问题。

因此,我尝试使用OPC Foundation UA JAVA Legacy,并希望建立相同的连接,但是在示例中,我们要求做更多的事情:

String publicHostname = InetAddress.getLocalHost().getHostName();
String url = "opc.tcp://localhost:102/"; // ServerExample1
// String url = "Matrikon.OPC.SiemensPLC.1"; // This not work for me
EndpointDescription[] endpoints = myClient.discoverEndpoints(url);

我想尽可能地模仿jeasyOPC的操作,无论如何我都找不到适合我的示例。

我会很高兴有任何示例可以帮助我拥有可以与Matrikon服务器一起使用的基本客户端

谢谢。

2 个答案:

答案 0 :(得分:0)

好的。我对自己说。 经过多次搜索,我发现了自己的错误: OPC有两种类型:DA和UA。

首先(DA)是我可以连接的:

  

JOpc jopc =新的JOpc(“本地主机”,“ Matrikon.OPC.SiemensPLC.1”,“ JOPC1”);

此协议的版本是使用过的历史窗口,使用COM库,并且只能在Windows计算机上实现。

第二个是OPC UA,它是新的实现,它的连接方式如下:

  

String url =“ opc.tcp://本地主机:102 /”; // ServerExample1

此版本已经与Windows,Linux和任何能够运行libria的系统兼容。

问题是,就我而言,S7 1200仅使用OPC DA,如果不使用兼容的网关,则UA选项对我来说不可行。

我希望这些信息能对处于我状况的人有所帮助。

问候。

答案 1 :(得分:0)

相反,您可以尝试jinterop库。它支持x64。

相关问题