java代码连接opc.tcp://172.19.177.83:4840服务器地址读取ns=4;s=|var|Inovance-PLC.Application.GVL_MES.Load_1_Hoist_Rfid点位的值
时间: 2024-09-15 12:10:56 浏览: 42
在Java中,使用JOPC (Java OPC) API来连接OPC服务器并读取数据,首先需要添加相应的库依赖。以下是一个简单的示例,展示如何连接到指定的OPC TCP服务器地址,并读取特定的变量值:
```java
import com.nuwave.opec.client.OpcClient;
import com.nuwave.opec.client.OpcItem;
public class OpcClientExample {
public static void main(String[] args) {
String serverUrl = "opc.tcp://172.19.177.83:4840";
String ns = "ns=4;s=";
String itemPath = "|var|Inovance-PLC.Application.GVL_MES.Load_1_Hoist_Rfid";
// 创建OpcClient实例
try (OpcClient opcClient = new OpcClient(serverUrl)) {
// 检查连接是否成功
if (!opcClient.waitForConnection()) {
System.err.println("Failed to connect to OPC server.");
return;
}
// 获取OpcItem对象,对应给定的节点路径
OpcItem opcItem = opcClient.getItem(itemPath);
// 读取值
double currentValue = opcItem.getDouble();
System.out.printf("The current value of '%s' is: %.2f%n", itemPath, currentValue);
} catch (Exception e) {
System.err.println("Error occurred while connecting or reading data: " + e.getMessage());
}
}
}
```
这个例子假设点位的值是双精度浮点数,你可以通过`getFloat()`、`getInt()`等其他方法替换`getDouble()`,取决于实际的数据类型。
阅读全文