[英]Connect to Matrikon server with OPC UA Java Legacy
我正在尝试连接到 Siemens S7 1200 PLC 的 OPC 服务器。 为此,我使用了在本地机器上配置的Matrikon 应用程序。 用JeasyOPC库我可以建立连接,所以它是这样的:
JOpc jopc = new 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 服务器一起使用的基本客户端的示例
谢谢你。
好的。 我自己回答。 经过多次搜索,我发现了我的错误:有两种类型的 OPC:DA 和 UA。
首先(DA)是我可以连接的:
JOpc jopc = new JOpc ("localhost", "Matrikon.OPC.SiemensPLC.1", "JOPC1");
该版本的协议是使用历史悠久的 windows 协议,使用 COM 库,只能在 Windows 计算机下实现。
第二个,OPC UA,是新的实现,连接如下:
String url = "opc.tcp://localhost:102/"; // 服务器示例1
此版本已与 Windows、Linux 和任何能够运行 libria 的系统兼容。
问题是,就我而言,S7 1200 仅使用 OPC DA,如果它不使用兼容网关,那么 UA 选项对我来说是不可行的。
我希望这些信息对处于我这种情况的人有所帮助。
你好。
相反,您可以尝试jinterop库。 它支持x64。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.