Skip to Content
Docs设备管控314 技术参数在脚本与控制配置映射规则说明

版本: v1.1 修改日期: 2026-05-29

本文档说明 viSCADA 系统中脚本与控制配置引用技术参数的映射规则。阅读本文后,可掌握占位符语法与解析流程,并在 TOML、YAML 等配置中正确引用技术参数。

1 整体流程

图 1 技术参数占位符解析流程

步骤操作目标对应章节
1掌握占位符语法第 2 章
2理解解析流程第 3 章
3查阅应用示例第 4 章
4排查常见问题第 5 章

2 占位符语法规则

2.1 标准格式

${attribute.<key>}

2.2 语法要素说明

要素规则说明
命名空间前缀attribute.固定写法,不可省略或替换
参数键名<key>目标技术参数的唯一标识符,对应技术参数配置列表中的 key
包裹符号${ ... }必须完整成对,替换时整体消失

ℹ️ 大小写敏感:参数键名的大小写以系统底层定义为准。配置时须与技术参数列表中的 key 精确匹配,大小写不一致将导致解析失败。

3 解析流程

解析引擎对配置文本的处理遵循以下四个步骤:

步骤动作说明
1 扫描定位扫描配置文本定位所有符合 ${attribute.<key>} 规则的占位符
2 参数读取提取 <key> 并查表从关联技术参数列表中读取对应 value
3 文本替换整体替换占位符连同 ${...} 一并替换为 value,默认按字符串处理
4 生成输出输出最终文本交由下游引擎执行或下发

ℹ️ ${attribute.<key>} 将被直接替换为技术参数中 <key> 对应的字符串值。

4 应用示例

4.1 示例 A:脚本参数注入(TOML)

前置技术参数

参数键名
address127.0.0.1:4444

脚本模板

urls = [ "http://${attribute.address}/tags" ]

替换结果

urls = [ "http://127.0.0.1:4444/tags" ]

4.2 示例 B:控制配置动态 URL 生成(YAML)

ℹ️ 本示例演示技术参数与物模型属性上下文变量混用的场景。

前置条件

类型键名
技术参数address127.0.0.1:4444
上下文变量tslProperty.nameb.b

配置模板

url: "http://${attribute.address}/tag/${tslProperty.name?url('UTF-8')}"

替换结果

url: "http://127.0.0.1:4444/tag/b.b"

ℹ️ 上述 YAML 配置经系统解析执行后,device-server 日志中记录的实际 HTTP 请求如下:

httpPut: PUT http://127.0.0.1:4444/tag/b.b HTTP/1.1

5 常见问题

现象可能原因处理建议
占位符未被替换命名空间前缀拼写错误确认使用 attribute. 而非 attr. 等变体
替换后 key 对应空值技术参数中未定义该 key检查设备技术参数配置列表
大小写不匹配导致解析失败Addressaddress 混用与技术参数定义保持精确一致
数值类型被作为字符串处理默认按字符串替换如需数值运算,由下游配置自行转换
Last updated on