0

0

OPC统一架构的XML Schema是什么

月夜之吻

月夜之吻

发布时间:2025-12-31 09:38:02

|

226人浏览过

|

来源于php中文网

原创

opc ua的xml schema是,命名空间为http://opcfoundation.org/ua/2011/03/uanodeset.xsd,专用于地址空间节点导入导出,非通用xsd;必须严格声明命名空间,uax前缀引用基础类型,nodeid需全局唯一,nodeset描述节点实例而非类型定义。

opc统一架构的xml schema是什么

OPC UA 的 XML Schema 是 <uanodeset></uanodeset>,其命名空间为 http://opcfoundation.org/UA/2011/03/UANodeSet.xsd。这是 OPC Foundation 官方定义的、用于序列化地址空间结构的标准 XML 格式,不是通用 XSD 模式文件,而是专用于导入/导出节点定义(对象、变量、方法、引用等)的交换格式。

它不用于校验任意 XML,也不能直接用作 Python 或 C 的类型定义;它的作用是让不同 UA 工具(如 UaModeler、Prosys OPC UA Simulation Server、FreeOpcUa 的 import_xml())能互相理解地址空间拓扑。


XML Schema 命名空间与根元素必须严格匹配

如果你写一个 XML 文件想被 UA 工具识别为有效 NodeSet,<uanodeset></uanodeset> 标签必须声明正确的命名空间,否则导入会失败或静默忽略节点:

<?xml version="1.0" encoding="UTF-8" ?>
<UANodeSet xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"
            xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <!-- 节点定义放这里 -->
</UANodeSet>
  • xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" → 大部分工具报“not a valid NodeSet”或直接跳过解析
  • uax: 前缀用于引用基础数据类型(如 uax:Int32, uax:String),必须声明且路径不能错
  • 版本号嵌在 URL 里(如 2011/03),不是随便改的;新版 UA 规范仍沿用此命名空间(兼容性设计)

NodeSet XML 不是配置文件,而是节点“快照”

它描述的是节点实例(instance),不是模板或类型定义(TypeDefinition)。例如:

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载
  • 你导出一个 UAVariable 节点,它包含 <value><int32>42</int32></value> → 导入后该变量初始值就是 42
  • 但如果你只想要“定义一个整型变量类型”,得用 UADataType + UAVariableType,而非常见的 UAVariable
  • 所有 NodeId 必须全局唯一且符合 UA 编码规则(如 i=85, s=MyDevice.Temperature, g=123e4567-e89b-12d3-a456-426614174000);重复或非法格式会导致导入中断

Python FreeOpcUa 中 import_xml() 的典型坑

server.import_xml("mynodes.xml") 加载时,常见失败原因不是语法错,而是语义错:

  • ParentNodeId 指向一个不存在的节点(比如写成 i=84,但 UA 标准对象文件没加载,也没手动创建)→ 报 BadNotFound 错误
  • ReferenceType 写错,例如该用 HasComponent 却写了 HasProperty → 节点创建成功但关系丢失,浏览时看不到子节点
  • 没提前调用 server.load_type_definitions() 就导入含自定义类型(UADataType)的 XML → 类型无法解析,变量创建失败
  • XML 中用了 uax:DateTime 但值格式不是 ISO 8601(如 2025-12-25T20:30:00Z)→ 解析失败,静默跳过该变量

别指望用浏览器打开 .xsd 查看结构

那个 URL http://opcfoundation.org/UA/2011/03/UANodeSet.xsd 是一个逻辑命名空间标识符,并非可公开访问的 HTTP 地址。你无法 curl 或浏览器打开它获取 XSD 文件——它只是告诉解析器:“按 OPC UA 第 5 部分(Information Model)第 7 节约定来解释这个 XML”。真正的结构定义藏在 OPC UA 规范 Part 5: Information Model 的附录中。

实际开发中,最靠谱的参考方式是:用 UaModeler 导出一个简单节点树,再对比其生成的 XML,而不是从零手写 Schema —— 手写极易漏掉必需字段(如 NodeClassModellingRule)或引用方向(IsForward="true" vs false)。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

335

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

223

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

138

2026.02.12

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

970

2023.08.02

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1944

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2118

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1160

2024.11.28

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

454

2023.06.14

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号