课程 A4 ·基础

把订阅做对

订阅是 OPC UA 项目成功或悄然失败的分水岭。本课程区分 publishing interval 与 sampling interval,在源端应用死区和触发条件,合理设定队列大小以避免静默丢样,并加入告知连接仍然存活的心跳。

课时11
时间约 84 分钟
先修要求A3
成本免费:文字课程开放,视频和实验需要免费账号

学完你将能够做到

  • 你能够解释发布间隔和采样间隔,而不会把两者混淆。
  • 你能应用死区,让噪声永远不离开服务器。
  • 你能够合理设定队列大小,并发现那种以 Good 上报自身的溢出。
  • 你能够为一个工厂而不是一个演示设计订阅集。
  • 你能够区分“没有变化”和“连接已断”。

课程大纲

  1. 1
    用订阅取代轮询

    为什么定时轮询服务器是错误的默认做法,以及当服务器主动推送时会有什么不同。

    资料 一个轮询客户端和一个订阅客户端读取相同节点,附两份网络抓包

    6 分钟
  2. 2
    把发布间隔和采样间隔区分开

    OPC UA 中最容易被误解的一对概念。服务器以一个速率采样、以另一个速率投递,把两者搞混会产生看起来正确、实际却不正确的数据。

    交付物 同一个 MonitoredItem 在四种采样与发布组合下的配置,以及各自实际交付的采样

    9 分钟
  3. 3
    能继承发布间隔时就继承

    采样间隔取 -1 时服务器的处理方式。逐项设置速率在什么情况下值得其代价。

    Asset 同一个订阅分别使用显式和继承的采样间隔,并附带服务器修正后的值

    6 分钟
  4. 4
    读取服务器回传的修订值

    你提出请求,服务器给出修订值。忽视修订后的间隔,正是客户端误以为自己的采样比实际快十倍的原因。

    资料 一次 CreateSubscription 请求与响应,展示请求参数与修订后参数的对比

    7 分钟
  5. 5
    在源头用死区消除噪声

    绝对死区和百分比死区,以及一个陷阱:节点上没有 EURange 时,百分比死区会悄无声息地不起作用。

    交付物 一个有噪声的模拟量,分别在无死区、绝对死区和百分比死区下记录三份数据

    9 分钟
  6. 6
    选择一个 DataChangeTrigger

    Status、StatusValue 还是 StatusValueTimestamp。为什么计数器需要与模拟量不同的触发条件。

    交付物 一个在默认触发条件下停止上报的计数器,以及修复它的触发条件变更

    7 分钟
  7. 7
    规划队列大小并捕获溢出

    由发布间隔与采样间隔之比决定的 QueueSize、discard-oldest,以及那个报告为 Good 的溢出位:这正是“数据看起来没问题,但采样丢了”的原因。

    资料 一次刻意制造的队列溢出,DataValue 中可见的溢出位以及丢失的采样

    10 分钟
  8. 8
    加入心跳

    没有心跳,静默的数据流就是有歧义的。如何让“无变化”和“已失效”可区分,以及应当预料到的 SourceTimestamp 陈旧副作用。

    Asset 一个带心跳的订阅,展示被重新发送的值及其未变的 SourceTimestamp

    8 分钟
  9. 9
    尽量减少不同间隔的数量

    每一个不同的发布间隔都会多出一个订阅。有五十种速率的客户端就有五十个订阅,服务器最终会提出抗议。

    交付物 一台达到订阅上限的服务器,以及用三个订阅交付的同一批数据

    8 分钟
  10. 10
    断线后恢复订阅

    在重建一切之前先用 TransferSubscriptions、GoodSubscriptionTransferred,以及一个能发现订阅在服务器端已静默的看门狗。

    交付物 一个在服务器重启后仍存活、订阅被成功转移的客户端,附日志

    9 分钟
  11. 11
    面向工厂调优,而不是面向演示

    把整套方法应用到两百台机器上:间隔与消费端需要相匹配、模拟量设死区、队列有界、连接错峰,以及不读就关掉诊断。

    资料 一份调优工作表,含 200 台设备、12,000 个标签部署的真实数字

    5 分钟

实验

需要免费账户

在 opc.tcp://opcua.umati.app:4840 上以 1000 ms 的发布间隔订阅两个变化的数值,然后故意重现一次队列溢出,并从 DataValue 证明你丢失了采样,而每个状态都显示 Good。

解锁实验 →
规范背景

最后核对日期 2026 年 9 月 7 日,对照 OPC UA 1.05.07。OPC UA Connect 是教育资源,与 OPC Foundation 无隶属关系。

免费下载
OPC UA 服务器验收测试包
一份 40 项检查的验收测试,在投运签收前对厂商的服务器执行。带加权评分、三个硬性门槛,以及供供应商会议使用的一页结论。
获取免费测试包 →
免费,无需课程,无需登录