opc - 如何创建 OPC 变量运行时

标签 opc opc-ua

我有一个 Kepware OPC 服务器,我能够连接到我的客户端(OPC Foundation UA lib)。我在 Kepware 中创建了一个设备,并在其中创建了一个组。我想从数据库中读取 opc 标签并动态创建它们。

如何在 PLC 中动态创建带地址的项目?

最佳答案

我可以推荐你看看 KepServerEX Configuration API .基本上,它为您提供了对所有 KEPServerEX 实例的完整远程管理和配置控制。在您的情况下,您可以在从数据库中读取所需信息(例如标签名称、标签地址、标签数据类型)后,通过简单的 RESTful API 调用在设备级别动态生成标签。

请引用this guide获取更多信息以启用和测试配置 API。

我还从 Kepware 的示例项目中复制了以下代码来给您一个想法:

function createTag(inputServer, inputChannel, inputDevice, inputTag, inputTagAddr) {
    console.log("Creating " + inputTag + " with address " + inputTagAddr);
    $.ajax({
        type: 'POST',
        url: 'http://' + inputServer + '/config/v1/project/channels/' + inputChannel + '/devices/' + inputDevice + '/tags',
        data: '{"common.ALLTYPES_NAME":"' + inputTag + '","servermain.TAG_ADDRESS":"' + inputTagAddr + '","servermain.TAG_DATA_TYPE":' + inputTagType + '}',
        contentType: 'application/json',
        xhrFields: {
            withCredentials: false
        },
        headers: {
            'Authorization': 'Basic ' + encodeAuth
        },
        success: function(JSON, status, xhr) {
            console.log(inputTag + " created under " + inputDevice);
        },
        error: function(JSON, status, xhr) {
            console.log("Creation of " + inputTag + " failed!");
        }
    });
}

关于opc - 如何创建 OPC 变量运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49364162/

相关文章:

node.js - OPC-UA开源框架

java - XML 编码器还是二进制编码器? - Eclipse Milo(客户端-服务器)

java - 阅读 OPC 值(value)观 Utgard

c# - 具有模型导入功能的免费 opc ua 服务器

azure - OPC 发布者 2.8.4 : BadMonitoredItemIdInvalid

python - 连接和断开连接时 OPC UA 客户端 python asyncua 错误

opc - 将节点添加到 OPC UA ANSI C 堆栈中服务器的地址空间

c# - 在 OPC UA (UA-.NETStandard) 中创建自定义复杂数据类型

Python安装OPCUA包