《OPC UA实践》 - 阅读笔记 2 OPC UA信息模型及建模

2024-08-24 19:48

本文主要是介绍《OPC UA实践》 - 阅读笔记 2 OPC UA信息模型及建模,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列目录

- 阅读笔记 1 工业4.0基础与OPC UA的实践


目录

    • 系列目录
  • 第二章 OPC UA理论基础
    • 2.5 OPC UA信息模型及建模
    • 信息模型实例
    • 信息模型创建步骤:
    • 2.6 在生产线中的引入

第二章 OPC UA理论基础

2.5 OPC UA信息模型及建模

关于信息模型的基础二手知识可以看我之前的一篇博文:OPC UA 学习笔记(总览介绍与信息模型相关)

OPC UA服务器的地址空间是一个完全互联的、以图状拓扑呈现的信息模型。

  • 信息模型:包括节点、节点本身特性以及之间的相互连接。
  • 节点集合:一组符合相应行业、公司名、项目的节点,通常放在一个命名空间下。但所有的节点都属于<http://opcfoundation.org/UA/>这个命名空间。
  • NodeId:由命名空间索引(URL)+ 节点集合内唯一标识符组成
  • 节点标识符:数字(i)、字符串(s)、全局ID(g)、Opac。例如:《ns=3;s=Deckel_geoeffnet;i=84》
  • 浏览名称:BrowseName,人类可读的节点名称。

节点类型:对象(Object)、对象类型(ObjetcType)、变量(Variable)、变量类型(VariableType)、数据类型(DataType)、引用类型(ReferenceType)、方法(Method)、视图(View)。

其他节点之前都提过了,除了视图。视图时地址空间的一个子集,用于特定场合简化客户端对地址空间的访问。

绘图对应图形语言如下:

类型定义(实例声明)
三个建模规则:

  1. 可选:服务器根据实际应用自由决定该子类型在节点实例中是否存在
  2. 强制:该子类型实例声明存在于每个节点实例
  3. 受限:该实例声明的BrowseName属性无实际意义,也无法设置或者确认。
    • ExposeItsArray
    • OptionalPlaceholder
    • MandatoryPlaceholder

引用类型

  1. HasComponent, 描述从属关系
  2. HasProperty,用于标识节点属性
  3. HasTypeDefinition,用于连接对象或者变量与其所归属的类型定义
  4. HasSubType,用于展示类型层次结构中的继承关系

信息模型实例

烟雾报警器对象的信息模型,整个地址空间中,上面的图代表类型定义,下面是层次结构。
在这里插入图片描述

信息模型创建步骤:

应用评估
正式部署
真实场景完整性检验
修正重新验证
具体实现
存储格式和文档
知识结正式展现
重力的数据模型
模型设计
收集或组织概念,属性和相互关系
各模块之间的低相关性
自上而下设计
自下而上设计
一致命名规则,定义共同概念,排除不一致
对概念进行系统化整理
在概念之间建立联系
分析
伴随标准
需求分析
应用场景

2.6 在生产线中的引入

在这里插入图片描述

  1. 信息系统
  2. 信息交互
  3. 数据采集

这篇关于《OPC UA实践》 - 阅读笔记 2 OPC UA信息模型及建模的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103437

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按