You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Camel OPC UA客户端多标签采集配置语法咨询

Apache Camel OPC UA 多标签采集问题

问题背景

我正在使用Apache Camel OPC UA客户端从工业网关OPC UA服务器采集信号,期望在单条Camel路由中配置统一采样间隔并采集一组标签值。当前技术栈为集成Apache Camel OPC UA客户端组件3.22.2 LTS版本的Spring Boot应用。已成功实现单个标签值的采集(采样间隔2000ms),路由代码如下:

from(milo-client:opc.tcp://127.0.0.1:49310?
    keyStoreUrl=file:C:\Temp\application\certificate\clientkeystore.jks
    &keyPassword=123456&keyStorePassword=123456
    &applicationUri=urn:8409:test:camelopcua
    &applicationName=camelopcua
    &node=RAW(ns=2;s=Channel2 SIMUL.SIM_1.BNAp1.18VGG1_1XA)&samplingInterval=2000).log(">>> ${body}")

根据Camel文档,单个标签通过node参数定义,示例:

node=RAW(ns=2;s=Channel2 SIMUL.SIM_1.BNAp1.18VGG1_1XA)&samplingInterval=2000

咨询问题

  1. Apache Camel OPC UA客户端是否支持在单条路由中定义多个标签?
  2. 若支持,对应的正确字符串语法是什么?

回答

  1. 支持单条路由采集多个标签
    Apache Camel OPC UA(milo-client)组件3.22.2 LTS版本支持在单条路由中配置多个标签,共享统一的采样间隔参数。

  2. 多标签配置语法
    通过重复node参数即可定义多个标签,每个标签用独立的RAW(...)包裹节点标识符,全局的samplingInterval参数只需配置一次,会应用到所有标签。

示例路由代码

from(milo-client:opc.tcp://127.0.0.1:49310?
    keyStoreUrl=file:C:\Temp\application\certificate\clientkeystore.jks
    &keyPassword=123456&keyStorePassword=123456
    &applicationUri=urn:8409:test:camelopcua
    &applicationName=camelopcua
    &node=RAW(ns=2;s=Channel2 SIMUL.SIM_1.BNAp1.18VGG1_1XA)
    &node=RAW(ns=2;s=Channel2 SIMUL.SIM_1.BNAp1.18VGG2_1XB)
    &node=RAW(ns=2;s=Channel2 SIMUL.SIM_1.BNAp1.18VGG3_1XC)
    &samplingInterval=2000)
.log(">>> 标签更新: ${body}");

补充说明

  • 每个node参数对应一个OPC UA节点,RAW()用于避免Camel对节点字符串进行额外转义处理。
  • 路由触发时,${body}会以Map<NodeId, DataValue>格式返回所有标签的最新值,可通过NodeId区分不同标签的数据。

内容的提问来源于stack exchange,提问作者Stefano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:40:02