from opcua import Client
url = "opc.tcp://localhost:4840"
client = Client(url)
client.connect()
print("Client connected")
node = client.get_node("ns=2;s=Temperature")
print("Value:", node.get_value())
client.disconnect()
缺点是性能较差,不适合高并发或大规模监测。
const { OPCUAClient } = require("node-opcua");
const client = new OPCUAClient();
const endpointUrl = "opc.tcp://localhost:4840";
client.connect(endpointUrl).then(() => {
console.log("Client connected");
client.readVariableValue("ns=2;s=Temperature").then((dataValue) => {
console.log("Value:", dataValue.value.value);
client.disconnect();
});
}).catch((err) => {
console.log("Error:", err);
});
缺点是配置复杂,需要深入了解OPC UA协议。
#include "uaclientsdk.hpp"
int main() {
UaClientSdk::UaClient client;
UaString url = "opc.tcp://localhost:4840";
client.connect(url);
UaVariant value = client.readScalarAttribute(
UaNodeId("ns=2;s=Temperature"),
OpcUa_Attributes_Value
);
std::cout << "Value: " << value.toInt32() << std::endl;
client.disconnect();
return 0;
}
缺点是入门难度较高,需要熟悉C++编程。
根据项目需求和团队技能,选择最合适的OPCUA包是