首页/网络/工控与物联网速查/OPC UA会话建立与订阅机制
工业协议80 条

OPC UA会话建立与订阅机制

会话是安全通道之上的应用层登录态,订阅让服务器按发布间隔主动推送变化值;采样间隔、队列大小与死区决定推送的数据量与时效,服务器修正后的参数必须读回。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​‌​‌‌​​​‌​​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​​​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

会话与订阅的关系

安全通道负责加密与完整性,会话负责应用层身份与状态:创建会话后激活会话完成用户验证,客户端才被授权调用读写、浏览、方法调用等服务。订阅建立在会话之上,是实时数据的推荐获取方式:客户端声明发布间隔,为每个监控项声明采样间隔、队列大小与死区,服务器在后台采样并只在确实需要时推送通知,客户端用发布请求接收通知并同时完成保活。

基本信息

核心服务创建会话、激活会话、关闭会话、取消请求
会话保活客户端按保活计数持续发送发布请求
订阅参数发布间隔、生命周期计数、最大保活计数、优先级、每次发布最大通知数
监控项参数采样间隔、队列大小、是否丢弃最旧、死区
服务端修正服务器可调整请求值并返回修正后的实际值
订阅转移断线重连后可接管原订阅,减少数据缺口

典型使用场景

  • 过程量实时刷新:用订阅替代高频轮询,降低网络与设备负载
  • 慢变量批量监控:把同一采样节奏的变量放进一个订阅,减少连接开销
  • 模拟量降噪:用死区过滤无意义的小幅波动,减少无效推送
  • 断网续传:重连后接管原订阅,避免重建期间的数据空洞
  • 容量评估:按监控项数量与发布间隔估算服务器负载上限
  • 协议调试:观察修正后的参数,判断服务器实际能力

参数与判读

参数含义判读要点
发布间隔服务器向客户端推送的节奏修正值才是实际节奏,务必读回
采样间隔服务器读源数据的频率小于发布间隔时多次采样只推最后一次
队列大小两次发布之间可缓冲的数值个数取 1 只保留最新值,适合状态量
死区波动小于阈值不推送绝对值或百分比,按工程量纲选择
通知溢出队列被填满后的状态码出现溢出说明采样过密或客户端取数太慢

典型调用顺序

典型调用顺序
# 1 打开安全通道
# 2 创建会话(携带客户端证书与描述)
# 3 激活会话(匿名 / 用户名 / 证书身份)
# 4 创建订阅:发布间隔、生命周期、保活计数
# 5 创建监控项:采样间隔、队列大小、死区
# 6 循环发送发布请求,接收通知并保活
# 断线重连后优先用订阅转移接管,而不是重建全部监控项
服务器几乎总会修正发布间隔与采样间隔:它有自己的最小周期与资源上限。任何性能估算如果不使用修正后的值,结论都会偏乐观。
会话超时配置过长,客户端异常退出后会长期占用连接名额与许可资源;调试结束后应关闭会话,不要靠超时被动回收。

易错点

  • 按请求的采样间隔估算负载,忽略服务器修正值,上线后 CPU 与带宽超预算
  • 所有变量塞进一个订阅,个别高频量拖慢整个订阅的发布节奏
  • 队列大小设置为很大却不及时取数,内存被通知堆积占满
  • 断线后重建订阅而不做转移,短时间内产生大量数据缺口与设备重复读取

数据来源与参考

  • OPC 10000-4:Services(Subscription / MonitoredItem 服务)
  • OPC 10000-5:Information Model
  • IEC 62541 系列标准

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/opc-ua-session-subscription.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​‌​‌‌​​​‌​​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​​​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​