参考
OPC UA 术语表
每页一个概念,精确定义,并附上工程师在实际使用中真正会犯的错误。这些是规范所使用的术语,也是出现在错误消息、厂商文档和职位描述中的术语。
134 个页面
地址空间 20
BrowseName在 OPC UA 中,BrowseName 是节点的机器可读名称:一个 QualifiedName,把命名空间索引与一个非本地化文本字符串配对。浏览路径与DataType在 OPC UA 中,DataType 是定义 Variable 取值类型的 NodeClass。DataType 节点构成以 BaseDataType 为根的层级,涵盖DisplayName在 OPC UA 中,DisplayName 是节点的可读标签,以带语言标识和文本的 LocalizedText 保存。客户端在浏览树和HasComponent在 OPC UA 中,HasComponent 是表达组成关系的层次型 ReferenceType:目标节点是源节点的一个组成部分。它的标识HasProperty在 OPC UA 中,HasProperty 是把一个节点连接到 Property 的层级型 ReferenceType:Property 是 PropertyType 类型的 Variable,持有关于其父HasSubtype在 OPC UA 中,HasSubtype 是构建类型层次的层次化 ReferenceType:它从父类型指向子类型,反向名称为 SHasTypeDefinition在 OPC UA 中,HasTypeDefinition 是把实例连接到其类型的非层次型 ReferenceType:每个 Object 指向一个 ObjectType,每个 Var方法在 OPC UA 中,Method 是表示可调用的服务器端过程的 NodeClass。它通过 Call 服务针对一个对象 NodeId 加上命名空间索引在 OPC UA 中,命名空间索引是某个命名空间 URI 在服务器 NamespaceArray 中的 UInt16 位置,它是每个 NodeId 和 Qual命名空间 URI在 OPC UA 中,命名空间 URI 是标识谁定义了一组节点的全局唯一字符串,例如 http://opcfoundation.org/UA/MachineryNamespaceArray在 OPC UA 中,NamespaceArray 是 Server 对象上的一个 String 数组 Variable,按数组位置把命名空间索引映射到命名空间 URI。索引 0NodeClass在 OPC UA 中,NodeClass 是说明你正在查看哪一类节点的必选属性。恰好有八种:Object、Variable、Method、ObjecNodeId在 OPC UA 中,NodeId 是节点在服务器地址空间内的唯一地址。它把命名空间索引与一个标识符组合起来,该标识符可以是 NumericObject在 OPC UA 中,Object 是构建地址空间结构的 NodeClass:它本身不持有数值,而是把 Variable、Method 和其他 Object 组织起来,ObjectType在 OPC UA 中,ObjectType 是定义 Object 形态的 NodeClass:规定其实例拥有哪些 Variable、Method、子 Object 和事件。Organizes在 OPC UA 中,Organizes 是表达松散归属关系的层级型 ReferenceType:目标节点出现在源节点(通常是 Folder)之下,且ReferenceType在 OPC UA 中,ReferenceType 是定义两个节点之间引用含义的 NodeClass。每个引用都由它确定类型、方向和名Variable在 OPC UA 中,Variable 是持有值的 NodeClass。它的 Value 属性是一个 DataValue(值、StatusCode 和时间戳)由 DaVariableType在 OPC UA 中,VariableType 定义 Variable 的形态:其实例所采用的 DataType、ValueRank 和 ArrayDimensions,以及它们携带的 Propert查看在 OPC UA 中,View 是定义地址空间受限子集以供浏览的 NodeClass。客户端在 ViewDesc 中传入该 View 的 NodeId
建模 15
地址空间在 OPC UA 中,地址空间是服务器向客户端暴露的全部节点和引用的集合。它是有向图而不是树,入口位于伴随规范在 OPC UA 中,伴随规范是由 OPC Foundation 与某个行业组织共同标准化的信息模型,规定一台机器DataTypeDefinition在 OPC UA 中,DataTypeDefinition 是 DataType 节点上的属性,逐字段描述服务器定义的结构、联合或枚举。引入Enumeration在 OPC UA 中,Enumeration 是取值为一组固定命名整数的 DataType。无论声明为何,每个枚举在传输时都编码为 Int32信息模型在 OPC UA 中,信息模型是一组在自己的命名空间中发布的类型定义和标准实例,使同一个机器概念实例声明在 OPC UA 中,实例声明是属于类型定义而非运行实例的节点:ObjectType 或 Variable接口在 OPC UA 中,Interface 是一种类型,它为任何用 HasInterface 引用它的节点添加一组具名子节点,与该节点所处的位Mandatory / Optional在 OPC UA 中,Mandatory 和 Optional 是决定实例是否必须带有已声明子节点的两条建模规则。Mandatory 子节点会建模规则在 OPC UA 中,建模规则是通过 HasModellingRule 引用挂在实例声明上的节点,用于说明该类型被实例化NodeSet2在 OPC UA 中,NodeSet2 是地址空间的规范 XML 序列化形式,在 Part 6 附录 F 中定义为 UANodeSet。每一个已发布的伴随规可选字段在 OPC UA 中,可选字段是 Structure 中可以逐值存在或缺失的字段。声明了它们的结构体其 StructureType 为 StructureWithOptStructure / ExtensionObject在 OPC UA 中,Structure 是带具名字段的 DataType,而 ExtensionObject 是承载它的报文容器:一个编码 NodeId 加上编类型字典(旧版)在 OPC UA 中,类型字典是 1.04 之前用于描述服务器定义结构的机制:一份 OPC Binary .bsd 或 XML schema 文档,发布于类型层级在 OPC UA 中,类型层次是由 HasSubtype 引用构建的类型节点树。共有四棵,分别以 BaseObjectType、BaseVariabUnion在 OPC UA 中,Union 是 Structure 的子类型,每次只承载其所声明字段中的一个。在报文上它是一个 UInt32 开关值,指明
连接 19
ApplicationUriApplicationUri 是单个 OPC UA 应用程序实例的全局唯一标识,例如 urn:edge01:Contoso:Publisher。它出现在 Applica发现端点发现端点是无需建立会话即可响应 Discovery Service Set(FindServers 和 GetEndpoints)的端点,通常端点在 OPC UA 中,端点是连接到服务器的一种具体方式:一个 URL、一个安全策略、一个 MessageSecurityMode,以及一份可接受的用户身份EndpointDescriptionEndpointDescription 是 GetEndpoints 为每个端点返回的结构。它携带 EndpointUrl、服务器的 ApplicationDescription、服务GetEndpointsGetEndpoints 是向服务器询问它发布了哪些端点的服务。它在发现端点上运行,不需要会话,并且按惯例HTTPS 传输OPC UA over HTTPS 使用 opc.https:// 或 https://,共三种 profile。https-uabinary 把 UA Binary 安全通道消息按每个 HTTP POST 一个分块隧道传输Keep-aliveOPC UA 中的 keep-alive 指两种不同机制。会话 keep-alive 是客户端定期发起的廉价读取,用于证明会话仍然存活并Local Discovery Server本地发现服务器是运行在某台主机上的小型 OPC UA 服务器,监听 4840 端口,并维护该机器上 OPC UA 服务器的注册表opc.tcpopc.tcp:// 是 OPC UA 原生传输的 URL 方案,profile 为 uatcp-uasc-uabinary:UA Binary 消息承载于 UA Secure Conversation 通道内,位于OpenAPI / REST 映射OpenAPI 映射是 OPC UA 服务集的 REST 风格接口:向 POST /<service> 以 JSON 形式发送裸的服务请求。OPC Foundation 发端口 48404840/tcp 是 opc.tcp 和本地发现服务器的注册默认端口。相关的默认值也值得了解:4843 用于安全 WebSocket,ProductUriProductUri 标识的是软件产品而不是运行中的实例:同一产品的每个副本都带有相同的 ProductUri,由反向连接reverse connect 颠倒了谁来拨号。服务器向正在监听的客户端发起出站 TCP 连接,发送一个 ReverseHello,然后客户端ReverseHelloReverseHello 是服务器在向监听中的客户端主动拨出连接后立即发送的 OPC UA TCP 消息,类型码为 RHE。它携带服务器安全通道安全通道是客户端与服务器之间的传输层安全上下文,由 OpenSecureChannel 创建。非对称握手会认证会话会话是客户端与服务器之间的应用层上下文,由 CreateSession 创建、由 ActivateSession 变为可用。它携带认会话超时会话超时是服务器在该会话上没有收到任何请求的情况下保持会话存活的时长。客户端在 Cre传输 profile传输 profile URI 命名端点所使用的 URL 方案、线上编码和安全机制的确切组合:uatcp-uasc-uabinary 用于 opcWebSocket 传输基于 WebSockets 的 OPC UA 使用 opc.wss:// 或 wss:// 方案,默认端口 4843,有两种形态。wss-uasc-uabinary 承载普通的 UA Bin
订阅 19
DataChangeFilterDataChangeFilter 是附加在数据类 MonitoredItem 上的过滤器。它有三个字段:Trigger(Status、StatusValue、StatusValueTimestamp)、DeadbandTDataChangeTriggerDataChangeTrigger 是 DataChangeFilter 中定义什么算作变化的字段:Status 只报告 StatusCode 变化,StatusValue 则是默死区(绝对)绝对死区会抑制数据变化,除非新值与上一次报告的值相差至少 DeadbandValue,该值以数值本身的死区(百分比)百分比死区把阈值表示为该项 EURange 量程的百分比,因此在 0 到 200 bar 的量程上取 1.0 即表示 2 bar。它要求该节丢弃最旧的DiscardOldest 是每个 MonitoredItem 上的布尔量,决定队列满时丢弃哪一条通知。取 True(通常的默认值)会丢弃最EURangeEURange 是 AnalogItemType 变量上的一个 Property,持有一个 Range 结构,包含该值的工程单位上下限。它正是心跳心跳是客户端侧或网关侧的看门狗,当服务器在一段时间内未报告某个 monitored item 的任何内容时,它会重新发出该项的最后一个值KeepAliveCountMaxKeepAliveCount 是订阅在服务器发送一条空的保活消息之前,允许连续多少个发布间隔不产生任何通知生存周期计数LifetimeCount 是订阅在被服务器删除之前,可以连续多少个发布间隔收不到 Publish 请求。服务器MonitoredItemMonitoredItem 是服务器端对象,监视一个节点的一个属性(通常是 Value)按自己的采样间隔采样,并应监视模式MonitoringMode 是逐项的开关,有三种状态。Disabled 表示服务器完全不对该项采样。Sampling 表示它采样并入队溢出位当 MonitoredItem 队列溢出时,服务器会在幸存的 DataValue 的 StatusCode 中置一个 InfoBit,而不是返回错误。该代码Publish 请求Publish 是把通知从服务器送到客户端的长轮询服务。客户端在会话上保持若干个 Publish 请求处于未完成状发布间隔发布间隔是订阅把其 MonitoredItem 队列汇入一条 NotificationMessage 的周期速率。它是一个投递速队列大小QueueSize 是 MonitoredItem 在两次发布周期之间可以保存多少条通知。取值应按发布间隔除以采样间采样间隔采样间隔是服务器对一个 MonitoredItem 的属性采样并求值其过滤器的速率。它是按监控项而不是按订阅订阅订阅是服务器端的容器,把 MonitoredItem 分组,并按一个周期性的发布间隔投递它们的通知,作为对TransferSubscriptionsTransferSubscriptions 把已有订阅从上一个会话转移到新会话,因此重连的客户端可以保留它的 MonitoredItem、队列和触发触发机制把多个 MonitoredItem 关联起来,当触发项上报时,一组被关联的项会释放各自已排队的内容。用 SetTrigger
数据 14
AccessLevel在 OPC UA 中,AccessLevel 是 Variable 上的位掩码属性,声明服务器在该节点上允许什么:当前值读、当前值写、历史读、ArrayDimensions在 OPC UA 中,ArrayDimensions 是 Variable 的可选属性,给出数组值每一维的长度。它为声明的每一维各有一DataValue在 OPC UA 中,DataValue 是每一次读、写和订阅通知所使用的容器。它持有作为 Variant 的 Value、一个 StatusCode 用于给出工程单位(UNECE)在 OPC UA 中,工程单位由 AnalogItemType 变量上的 EUInformation 结构携带,使用 UNECE Recommendation 20 的代码表IndexRange在 OPC UA 中,IndexRange 是 Read、Write 和 CreateMonitoredItems 上的字符串参数,用于选取数组值的一部分而不是整体。一不可逆 JSON 编码在 OPC UA 中,非可逆 JSON 编码是舍弃类型信息、产生朴素可读数值的紧凑 JSON 形式。它无法往可逆 JSON 编码在 OPC UA 中,可逆 JSON 编码是保留完整类型信息的 JSON 形式,因此解码器可以重建原始的 Variant、NodeId 等ServerTimestamp在 OPC UA 中,DataValue 中的 ServerTimestamp 是 OPC UA 服务器接收该值、或在自己地址空间中最后一次更新该值的时刻。它的度量SourceTimestamp在 OPC UA 中,DataValue 中的 SourceTimestamp 是数据源本身产生或最后一次确认该值的时刻。它才是应当存入StatusCode在 OPC UA 中,StatusCode 是每个服务响应、操作结果和 DataValue 都携带的 32 位数值结果。它的高位给出严重TimestampsToReturn在 OPC UA 中,TimestampsToReturn 是 Read、HistoryRead 和 CreateMonitoredItems 上的参数,告诉服务器在每个 DUA Binary 编码在 OPC UA 中,UA Binary 是默认的报文编码:对每一条服务消息和数据类型进行紧凑、小端、无填充的序列化。它正是ValueRank在 OPC UA 中,ValueRank 是 Variable 或 VariableType 的属性,声明取值的维度。负一表示标量,一或更大表示Variant在 OPC UA 中,Variant 是自描述的数值容器,可以承载任何内置类型,或它们的数组或矩阵。它自带
PubSub 10
DataSetReader在 OPC UA PubSub 中,DataSetReader 是 DataSetWriter 在订阅侧的对应物。它按 PublisherId、WriterGroDataSetWriter在 OPC UA PubSub 中,DataSetWriter 把一个 PublishedDataSet 发布到一个 WriterGroup 中。它拥有在线路上标识其消息的 DataSetWriterId增量帧在 OPC UA PubSub 中,delta frame 是只携带自上一条消息以来发生变化的字段的 DataSetMessage,每个字段都标有其关键帧在 OPC UA PubSub 中,关键帧是一条携带 PublishedDataSet 全部字段而不只是变化字段的 DataSetMessage。正是它让订阅PublishedDataSet在 OPC UA PubSub 中,PublishedDataSet 定义发布方提供什么:一份从地址空间中选出的已发布字段的有序列表,外加安全密钥服务在 OPC UA 中,Security Key Service 是分发 PubSub 用于签名和加密消息的对称组密钥的组件。PubSub 没有Sparkplug BSparkplug B 是 Eclipse Foundation 的一份规范,它在普通 MQTT 之上增加了确定的主题命名空间、Protobuf 负载和严格的连接状态处理UADP在 OPC UA 中,UADP 是 PubSub 使用的紧凑二进制消息映射,定义在 Part 14 中。它承载一个 NetworkMessage,其中包含一条或多条 DataSetMessa统一命名空间统一命名空间是一种架构模式,不是 OPC UA 的特性:一个由 broker 承载、按层次命名、始终保持最新的工厂状态视图WriterGroup在 OPC UA PubSub 中,WriterGroup 把多个 DataSetWriter 汇集到一条 NetworkMessage 中,并掌管时序:PublishingInterval、KeepAliveTime、优先级、
安全 18
匿名访问在 OPC UA 中,匿名访问指以 AnonymousIdentityToken 激活的会话:不提供任何用户凭据。它与通道安应用实例证书在 OPC UA 中,应用程序实例证书是标识客户端或服务器某一个已安装实例的 X.509v3 证书。它的 Subject Al审计事件在 OPC UA 中,审计事件是服务器生成的、记录安全相关动作的事件:通道打开、会话创建或激活、证证书 push 与 pull在 OPC UA 中,pull 和 push 是 Part 12 中配发证书的两种模型。在 pull 模型中,设备向 Global Discovery Server 申请证书CRL在 OPC UA 中,CRL 是 CA 发布的证书吊销列表,列出它在到期日之前撤销的证书。你信任Global Discovery Server在 OPC UA 中,Global Discovery Server 是 Part 12 的基础设施服务器,保存全企业范围的应用注册表,并充当它们的证签发者存储在 OPC UA 中,issuer 库存放补全证书链所需的 CA 证书,但并不因此赋予它们信任。它被有意地与MessageSecurityMode在 OPC UA 中,MessageSecurityMode 是逐端点的设置,规定对安全通道上的每条消息做什么:None、Sign 或 SignAndEncrypt。Nonce在 OPC UA 中,nonce 是在 OpenSecureChannel 和 ActivateSession 期间交换的一次性随机值。通道 nonce 是对称密钥Permission / RolePermissions在 OPC UA 中,RolePermissions 是列出哪些角色可以对该节点做什么的节点属性:浏览、读、写、调用、读或修改历史、被拒绝存储在 OPC UA 中,rejected 存储是应用存放刚被它拒绝的证书的 PKI 目录。它只有一个用途:让管理Role(Part 18)在 OPC UA 中,Role 是 Part 18 的授权单位:一组具名权限,身份被映射到其中,而不是把权限直接授予安全策略在 OPC UA 中,安全策略是一组具名的加密算法套件(由类似 Basic256Sha256 或 Aes256_Sha256_RsaPss 的 URI 标识)它自签名证书在 OPC UA 中,自签名证书是自己给自己签名、而非由 CA 签发的应用程序实例证书。它对对端进行认证Sign 与 SignAndEncrypt 对比在 OPC UA 中,Sign 通过证书认证双方应用并检测篡改,但消息内容在传输中仍可读。SignAndEncrypt主题备用名称在 OPC UA 中,Subject Alternative Name 是承载应用身份声明的 X.509 扩展。它必须包含作为 URI 条目的 ApplicationUri信任列表在 OPC UA 中,信任列表是应用接受为信任锚的证书集合:自签名的对端证书,或根 CA 与子 CA 证UserIdentityToken在 OPC UA 中,UserIdentityToken 是客户端在 ActivateSession 中出示的凭据,用于说明用户是谁,区别于是哪个应用程序在连
一致性 7
认证测试实验室OPC Foundation Certification Test Lab 是按指定 Profile 和 Facet 对产品(而不是对个人)进行认证的独立实验室,运Compliance Test Tool (CTT)OPC UA Compliance Test Tool (UACTT) 是 OPC Foundation 的官方一致性测试工具。它按一致性单元以脚本驱动,逐项验证一致性单元在 OPC UA 中,一致性单元是一致性体系中最小的可测试要求:一项具名能力,其行为已定义,可由 ComFacet在 OPC UA 中,Facet 是可复用的一致性单元集合,由 Profile 组合而成:Data Access、Methods、Reverse Connect、Historical Raw Data 2022Profile在 OPC UA 中,Profile 是一组具名、已发布的 Facet,它们共同定义应用必须实现什么,例如 Standard UA Server P服务器能力代码服务器能力代码是取自规范性 OPC UA 能力列表的短字符串,例如 DA、HD、AC、HE、DI、S95、PUB、PACKML、MTC、AUTOID 或 VROServerProfileArrayServerProfileArray 是 Server.ServerCapabilities 下的一个 Property,保存服务器声称实现的 Profile 和 Facet URI 列表,例如 http
报警 7
确认 / 证实Acknowledge 和 Confirm 是 AcknowledgeableConditionType 上推动报警走完操作员响应生命周期的两个 Method:Acknowledge 表Condition在 OPC UA 中,Condition 是有状态的事件:一个 ConditionType 对象,或诸如 AlarmConditionType 的子类型,服务器会保留其当前状ConditionClassIdConditionClassId 是每个 OPC UA Condition 上的 Property,保存某个 ConditionClassType 的 NodeId,用以说明这是哪一类问题,独立于ConditionRefreshConditionRefresh 是 ConditionType 上的 Method,使服务器把每个保留的 Condition 的当前状态重新发送到某个指定订阅。调EventFilterEventFilter 是你附加到事件 MonitoredItem 上的过滤器,该 MonitoredItem 建立在 EventNotifier 属性已置位的节点上。它由两部分构成:SelectClauSelect 子句 / Where 子句在 OPC UA EventFilter 中,select 子句以 SimpleAttributeOperand 的形式列出要返回的事件字段,每个由一个 typeDefinitionId 加一条浏览路径构SeveritySeverity 是每个 OPC UA 事件上必备的 UInt16 字段,取值 1 到 1000,1 最不重要,1000 最紧急。它是提示,不是
历史数据 5
聚合函数聚合函数是服务器端对原始历史值的计算,由服务器 AggregateFunctions 文件夹中的一个 NodeId 标识:Avera边界值边界值是紧邻所请求历史区间之外的原始存储值,服务器用它来确定或插值出该值DurationGoodDurationGood 是 Part 13 的聚合,返回在每个区间内变量保持 Good StatusCode 的时长,以毫PercentGoodPercentGood 是 Part 13 的聚合函数,返回每个区间内变量 StatusCode 为 Good 的时间百分比。它是 DurationGood 表TimeAverageTimeAverage 是 Part 13 中的聚合函数,在每个区间上计算时间加权平均值,按每个原始值持续的时长加权,而不是
最后核对日期 2026 年 9 月 7 日,对照 OPC UA 1.05.07。OPC UA Connect 是教育资源,与 OPC Foundation 无隶属关系。