[英]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.