OPC Publisher订阅OPC UA服务器模拟数据相关技术问题咨询
OPC UA 与 Azure OPC Publisher 常见问题解答
1、全量数据订阅相关
- OPC UA 协议本身没有原生的全量节点自动订阅能力,Azure OPC Publisher 也不支持直接订阅服务器全量数据。
原因是 OPC UA 服务器的地址空间通常包含大量节点,除了业务需要的变量节点外,还有方法、对象类型、引用等非数据类节点,直接全量订阅会产生极高的性能开销,对服务器和 Publisher 端的运行稳定性都会造成很大影响,因此官方要求明确指定需要订阅的变量节点 ID,你当前使用的手动指定节点的配置方式是官方推荐的标准用法,资源开销和稳定性都是最优的。 - 如果不想手动逐个录入节点,可以使用 OPC Publisher 的节点发现功能,批量筛选出需要的变量节点后自动生成配置文件,无需手动编写每个节点的配置项。
2、历史数据读取与断连补发相关
- 中途接入的订阅方默认无法直接获取接入前的全量历史消息:该能力取决于 OPC UA 服务器是否开启了历史数据存取(HA)功能,如果服务器开启了该功能且做了数据持久化存储,你可以主动调用 OPC UA 的历史读取接口拉取接入前的历史数据,但默认的订阅推送逻辑不会主动推送订阅建立前的历史数据。
- 短时间断连的补发逻辑:能否补发取决于你配置的订阅保持存活时间、消息队列大小以及服务器的支持情况。如果你的断连时长小于订阅配置的保持存活时间,且服务器为该订阅配置的消息队列大小足够缓存断连期间产生的所有数据,恢复连接后服务器会自动补发断连期间的消息。2-3秒的短时间断连属于常规场景,只要没有特意将订阅保持存活时间改到低于3秒,队列容量配置足够,基本不会出现数据丢失的情况。
内容的提问来源于stack exchange,提问作者Santhosh Annamalai Sakthivel
相关产品推荐
相关产品推荐

