使用 xml 模式中的节点填充 opcua 地址空间

2024-02-21

我正在开展一个项目,根据规范构建 opc ua 服务器,

我在实现方面已经走得足够远,目前正在处理写入请求,我已经在服务器地址空间中有一些节点。

看起来有很多节点,实际上也有很多。几乎不可能创建 并一一添加节点。

无论如何回到问题,我已经从 opc 基金会下载了一个 xml 文件,其中包含地址空间中所有节点的架构,这是 xml 文件的链接 https://github.com/OPCFoundation/UA-Nodeset/blob/master/Schema/Opc.Ua.NodeSet.xml

从 xml 文件创建节点的最有效方法是什么?我正在 c95 编译器上编写。

下面是节点集 Xml 文件中节点如何表示的快速视图,

<Nodes>
<Node i:type="DataTypeNode">
  <NodeId>
    <Identifier>i=1</Identifier>
  </NodeId>
  <NodeClass>DataType_64</NodeClass>
  <BrowseName>
    <NamespaceIndex>0</NamespaceIndex>
    <Name>Boolean</Name>
  </BrowseName>
  <DisplayName>
    <Locale></Locale>
    <Text>Boolean</Text>
  </DisplayName>
  <Description>
    <Locale></Locale>
    <Text>Describes a value that is either TRUE or FALSE.</Text>
  </Description>
  <WriteMask>0</WriteMask>
  <UserWriteMask>0</UserWriteMask>
  <RolePermissions />
  <UserRolePermissions />
  <AccessRestrictions>0</AccessRestrictions>
  <References>
    <ReferenceNode>
      <ReferenceTypeId>
        <Identifier>i=45</Identifier>
      </ReferenceTypeId>
      <IsInverse>true</IsInverse>
      <TargetId>
        <Identifier>i=24</Identifier>
      </TargetId>
    </ReferenceNode>
  </References>
  <IsAbstract>false</IsAbstract>
  <DataTypeDefinition i:nil="true" />
</Node>

以编程方式用节点填充正在运行的 OPC-UA 服务器的速度慢得令人无法接受。

你可能想调查模型编译器 https://github.com/OPCFoundation/UA-ModelCompiler。 我发现填写一个相当简单模型设计 https://github.com/OPCFoundation/UA-ModelCompiler/blob/master/ModelCompiler/UA%20Model%20Design.xsdXML 包含数据并生成代码和 NodeSet2.xml。因此,即使您不需要生成的 C# 代码(我怀疑您的情况就是这样),这种方法也可能有用。

您可能还想查看 UA-.NETStandard 存储库。 它提供了一种方法从XML加载 https://github.com/OPCFoundation/UA-.NETStandard/blob/946741b4bf078388cbee61bf6c2c3e834affe8b2/Stack/Opc.Ua.Core/Stack/State/NodeStateCollection.cs快速读取节点集的方法。您可能会在这种方法中找到灵感。

感谢您为 OPC-UA 世界做出的贡献。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 xml 模式中的节点填充 opcua 地址空间 的相关文章

  • 博途V17(S7-1200)OPC-UA通信测试

    文章目录 环境 步骤 安装 博途端 UAExpert端 参考 环境 S7 1200 TIA Portal V17 笔记本 与PLC网线连接 Windows10 UaExpert 步骤 安装 TIA Portal v17 博途 安装教程附安装
  • OPC UA性能评估

    本文是对这篇论文的总结 xff0c 该文章从性能和资源使用方面比较了工业4 0的4个主要协议 xff1a OPC UA xff0c DDS xff0c ROS和MQTT 这4个协议都是基于以太网 xff08 Ethernet based x
  • Softing的OPC UA C++ SDK全面升级:具有高功能性和易用性

    为支持反向连接 Reverse Connect 和访问全局发现服务器 Global Discovery Server GDS Softing的OPC UA C Software Development Kit SDK 已全面升级 OPC U
  • OPC UA协议报文,基础介绍+Hello报文解析

    消息主要分为 消息头和附加字段 通讯过程 协议标准第一部分进行总体介绍 协议标准第四部分有详细介绍通讯过程 流程介绍 整体流程 连接套接字 Hello 打开安全信道 创建会话 关闭安全信道 关闭套接字 订阅等事件 服务器审核行为 聚合的服务
  • OPC服务器简介和入门介绍

    什么是OPC OPC代表OLE 对象链接和嵌入 过程控制 OPC是最流行的数据连接标准 用于在控制器 设备 应用程序和其他基于服务器的系统之间进行通信 而无需进入数据传输的自定义驱动程序 工厂自动化系统或过程由来自不同供应商或供应商的不同协
  • 工业物联网协议对比:MQTT Sparkplug vs OPC-UA

    引言 工业系统需要确保数据的无缝交换 因此对于高效 安全的通信协议具有极高的依赖性 MQTT Sparkplug 和 OPC UA 是两个经常被提到的工业协议 本文将全面比较 MQTT Sparkplug 和 OPC UA 以及它们的衍生版
  • Movicon/Connext设备连接实例(四)——Movicon.NExT与西门子1200PLC 以太网通讯

    Movicon Next是全新一代的HMI SCADA解决方案 拥有众多超越传统的扩展功能 Movicon平台有着广泛的应用场景 且在众多行业中继承了优秀的解决方案 得到了市场广泛认证 针对不同的行业都能对快速找出解决方案并快速部署 且整个
  • 物联网平台如何为OPC服务器创造新生命力

    在前一篇的 OPC服务器简介和入门介绍 中为大家介绍了OPC的体系结构 传统opc服务器具有的如下几个优势特点 1 支持与不同的供应商沟通 2 消除系统中对自定义驱动程序的需求 3 减少设备负载 4 方便访问数据 这让我们在纷繁的工业设备和
  • Matrikon OPC常见问题及解决方案(一)

    本文主要分享了使用MatrikonOPC服务器时遇到的一些最常见的问题和相应的解决方案 在联系MatrikonOPC支持团队之前 你可以看一下以下问题 解决方案和问题 答案部分是否能帮助你解决目前问题 问题和解决方案 安装时出现 aprxd
  • 使用 opc ua .net 库在 Unity3d 中创建一个非常简单的 OPC 客户端

    我在尝试实现一个简单的方法时遇到这些错误OPC使用 Unity3D 的 Net 客户端 这些错误出现在 Visual Studio 中 Severity Code Description Project File Line Suppress
  • OpenOPC Gateway 在 OsX 或 Linux 中运行使用客户端

    我用OpenOPC图书馆python https sourceforge net projects openopc https sourceforge net projects openopc 在网关模式 网关在 Windows 上运行 客
  • OPC 节点路径中的“ns=2;s=”有何意义?

    我注意到所有 OPC 标签 ID 的前缀都是ns 2 s 可能的 NodeId 值的一些示例是 ns 2 s AcquisitionTimeRemaining ns 2 s Status ns 2 s Time 我想知道这个前缀的意义是什么
  • 使用 xml 模式中的节点填充 opcua 地址空间

    我正在开展一个项目 根据规范构建 opc ua 服务器 我在实现方面已经走得足够远 目前正在处理写入请求 我已经在服务器地址空间中有一些节点 看起来有很多节点 实际上也有很多 几乎不可能创建 并一一添加节点 无论如何回到问题 我已经从 op
  • DYMOLA:opc 服务器如何使用 MATLAB 使用 dsin.txt 或 mat 文件进行初始化

    我在 DYMOLA 中创建了一个 OPC 服务器 现在我在 DYMOSIM 中有这个可以单击并初始化 使用 dsin txt 的 MAT 文件 现在我在 MATLAB 中创建了一个 GUI 文件 并获取变量的输入并创建了一个 mat 文件
  • OPC-UA 的替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 作为访问由各种 PLC 组成的系统的过程数据的解决方案 是否有 OPC UA 的合适替代方案 独立于平
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • opc ua客户端到服务器

    我想知道是否可以将数据从 OPC UA 客户端发送到服务器 我有一台设置了 OPC UA 服务器的 Windows 10 PC 和一些 Raspberry Pi 作为客户端 我已经编写了 Python 代码来将数据从服务器发送到客户端 现在
  • 使用 pywin32com 进行 opc 的内存泄漏

    我很难弄清楚如何解决内存泄漏问题 我认为这可能是 pywin32 的问题 但我不完全确定 我用于读取 写入单个项目的代码似乎工作得很好 但是当使用组函数时 它会慢慢泄漏内存 我怀疑这是来自必须在 server handles 中传递的基于
  • OPC UA 协议与 MQTT 协议

    我想根据两种协议的一般特征 例如开销 数据包 安全性 信息建模和可靠性 来比较 OPC UA 与 MQTT 我在哪里可以找到每个协议的开销和其他特征的一些示例数据 以便我对它们进行比较 我需要你的建议 您可以推荐任何工具来比较这些协议 MQ
  • 具有模型导入功能的免费 opc ua 服务器

    我想为我的应用程序实现 OPC UA 通信 c 我发现一些 OPC UA 服务器模拟 Prosys 和 Softing OPC UA 我可以毫无问题地连接和读取数据 我想要的是实施 Euromap 77 标准 http www euroma

随机推荐

  • Gson 在转换时忽略我的字段

    我创建了一个模型 public class UserRequest extends DefaultRequest public String username public String password public String id
  • 翻译 Angular-UI 分页

    如何翻译 Bootstrap UI 分页指令中的文本 我已经为法语翻译覆盖了这样的常量 angular module myapp ui bootstrap constant paginationConfig itemsPerPage 10
  • 我怎样才能完成“组”活动?

    我的 Android 应用程序中有一个操作 其中包括几个活动 在此操作结束时 我需要关闭所有这些活动并返回到启动此操作的屏幕 下图解释了它是如何工作的 有什么选择可以做到这一点吗 P S 片段在我的情况下不是一个选项 有很多方法可以做到这一
  • Django 1.4 用户管理 list_filter 使用 UserProfile 字段

    编辑 我更新了代码以反映查询集过滤器中的一个错误 其中我的 user user type 已被正确的 userprofile user type 替换 我正在使用 Django 1 4 并且我知道有一个新功能可以为管理员创建自定义 list
  • R - 使用字体(extrafont)时不打印空格

    我想使用特殊字体生成 R 图 即 Cormorant Garamond Light Cormorant Light 也是可能的 问题是它适用于所有其他字体 但对于这种字体 所有空格都被忽略 library ggplot2 library e
  • 我如何知道证书的 storeName 是什么?

    我在 Windows Server 2003 中安装了证书 我从MMC看到的路径是 证书 本地计算机 个人 证书 我想在我的 wcf 配置中配置它 我如何知道 storeName 是什么 这是我到目前为止在 wcf 配置中得到的
  • 命令行开关阻止 Inno Setup 安装程序创建桌面图标

    我正在尝试为 Balsamiq Mockups 创建静默安装 该安装似乎是使用 Inno Setup 编译器创建的 作为标准静默安装的一部分 它会创建一个我希望阻止的桌面快捷方式 有谁知道相关的命令行开关来防止创建桌面图标 我尝试过使用 M
  • 如何在sql server中进行交易技术分析计算?

    我如何像在 Excel 中一样使用 T SQL 在 SQL SERVER 数据库中进行技术分析指标计算 例如平均方向指数 随机振荡指标等 如果可以的话 是否可以像在excel中做宏一样制作程序呢 提前致谢 程序代码是在 MS SQL Ser
  • 将没有“timevar”的数据帧从长格式转置/重塑为宽格式

    我有一个遵循以下长模式的数据框 Name MedName Name1 atenolol 25mg Name1 aspirin 81mg Name1 sildenafil 100mg Name2 atenolol 50mg Name2 ena
  • 使用 clojure-csv.core 解析巨大的 csv 文件

    到目前为止我有 require clojure csv core as csv require clojure java io as io def csv file getFile clojure java io resource verb
  • 从电子邮件中删除不需要的标头(出于安全风险)

    我刚刚注意到 使用 mail 函数从我的主机发送的电子邮件也会发送标头中的内部数据 例如 这是我在 Gmail 中找到的内容 通过单击显示原件 X AntiAbuse This header was added to track abuse
  • 可以在生产 Laravel 网站上运行 php artisan :clear 命令吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一个托管在 DigitalOcean NGINX 服务器上的生产 Laravel 网站 每次 git 推送新更新时 我总是运行以下命令 ph
  • MySQL 左连接多对一行

    为了简化我的问题 假设我有 3 个表 Rooms People Things id name id name fk rooms id name fk rooms 1 kitchen 1 John 1 1 TV 2 2 bedroom 2 M
  • 下载 .zip 文件会运行损坏的文件 php

    我试图强制下载受保护的 zip 文件 我不希望人们在没有先登录的情况下访问它 我为以下创建了函数login等等 但我遇到了下载的文件损坏的问题 这是我的代码 file downloads filename header Content ty
  • 尝试使用 TkAgg 后端绘图时 Mac 操作系统崩溃

    当我尝试使用 TkAgg 后端进行绘图时 我的计算机将我注销 崩溃 请参见下面的示例 我正在使用 mojave 10 14 6 和 python 3 7 3 from sys import platform as sys pf if sys
  • 如何替换分页中的文本“行”

    In the 分页示例 http issues wenzhixin net cn bootstrap table options client side pagination html 如何用另一个单词替换底部的文本 行 例如 产品 显示
  • Spring Bean 在自己的线程中运行

    在我的 Web 应用程序中 我尝试使用 Java SDK7 WatchService 创建目录轮询 bean 我想要实现的是在它自己的线程中运行这个bean 这样它就不会阻塞应用程序 就像是
  • 如何将希伯来语字符放入Android JAVA文件中?

    对于安卓平台 I need to put Hebrew Character and some more like in string to check with the incoming data in java file When I p
  • 从表 b 更新表 a 其中(条件)

    晚上大家 事实上 已经是晚上了 晚上11点左右 我的大脑正在停止运转 我需要一些帮助 这样我才能完成并回家 我有两张表 表 a 和表 b 当其他两个字段匹配时 我需要使用表 b 中的字段值更新表 a 中的字段 表中的每条记录没有唯一的 ID
  • 使用 xml 模式中的节点填充 opcua 地址空间

    我正在开展一个项目 根据规范构建 opc ua 服务器 我在实现方面已经走得足够远 目前正在处理写入请求 我已经在服务器地址空间中有一些节点 看起来有很多节点 实际上也有很多 几乎不可能创建 并一一添加节点 无论如何回到问题 我已经从 op