面向用户: 现场运维 / 实施人员 版本: v2.1
本手册介绍 viSCADA 平台中「模板属性」的使用方法,帮助实施人员在批量接入同型号设备时,通过一次定义自动生成每台设备的个性化属性,避免逐台手工配置。
1 功能说明
举一个典型场景:
你有一个设备类「阀门控制器」,下面挂了 50 台阀门。现在要给每台阀门都加一个属性,属性名叫
valve_001_开度、valve_002_开度……也就是属性名字里要带上设备自己的标识。
- 老办法:进到 50 台设备里,一台一台改名字。
- 新办法:在设备类里定义一个带占位符的属性模板
{DEVICE_NAME}_开度,点一下同步,系统自动在 50 台设备上生成 50 条不同的属性。
这就是模板属性——写一次,批量生成。
1.1 适用场景
以下情况推荐使用模板属性:
- 属性名字需要和设备标识挂钩
- 属性名字需要体现设备的某个技术参数
- 批量接入大量同型号设备,每台要有自己个性化的属性
2 三种属性对比
进入设备类物模型页面后,属性列表会出现三种不同标签:
| 标签颜色 | 名称 | 说明 | 是否实际采集数据 |
|---|---|---|---|
| 灰色 | 普通属性 | 传统属性,直接给每台设备使用 | 是 |
| 蓝色 | 模板属性 | 带占位符的「模具」,本身不直接使用,需同步后生效 | 否 |
| 琥珀色 | 模板生成 | 由模板属性同步产生、每台设备真正使用的属性 | 是 |
ℹ️ 重点:模板属性只是「模具」,本身不采集数据、不下发控制、在设备中也不可见。点击同步后,系统以它为模板在每台设备上生成一批「模板生成」属性,后者才是真正在工作的属性。
3 支持的占位符
| 占位符 | 替换规则 | 替换后示例 |
|---|---|---|
{DEVICE_NAME} | 替换为设备标识 | device1、valve_007 |
{DEVICE_STANDARD_NAME} | 替换为设备标准化名称 | valve_001、sensor_a |
{DEVICE_ATTRIBUTE:xxx} | 替换为设备技术参数中 key 为 xxx 的值 | {DEVICE_ATTRIBUTE:A} → 该设备技术参数 A 的值 |
⚠️ 占位符严格区分大小写,必须严格按上表书写,写错将不会被系统识别。
4 操作流程总览
5 操作步骤
5.1 添加模板属性
-
进入**「设备类管理」**模块,选中目标设备类并进入详情页。
-
切换至**「物模型」** Tab。
-
点击**「+ 添加属性」**按钮。
-
在弹窗中将**「属性类别」选为「模板属性」**。
图 1 添加模板属性入口 -
在以下字段中按需使用占位符(弹窗内提供可点击的占位符标签,点击后自动填入光标所在输入框):
字段 填写示例 属性标识 {DEVICE_NAME}_temp属性名称 {DEVICE_NAME}温度标准化名称 {DEVICE_STANDARD_NAME}_temperature -
填写其余字段(数据类型、读写模式、单位等),操作与普通属性一致。
-
点击**「保存」**完成模板属性定义。
图 2 模板属性字段填写界面
图 3 占位符填写示例
保存后,属性列表中会出现这条属性,并带有蓝色「模板属性」标签。
5.2 配置设备技术参数
📌 仅在模板中使用了
{DEVICE_ATTRIBUTE:xxx}时需要此步骤。
如果模板中使用了 {DEVICE_ATTRIBUTE:xxx},必须先让每台设备都有一个 key 为 xxx 的技术参数并填好值,否则同步后该占位符位置将为空。
- 进入该设备类下的目标设备详情页。
- 切换至**「技术参数」**区域。
- 添加与占位符对应的 key(例如
A),并填写实际值。 - 点击**「保存」**。
图 4 为设备填充技术参数
5.3 同步模板属性
-
返回设备类详情页 → 「物模型」 Tab。
-
找到**「同步模板属性」**按钮。
ℹ️ 此按钮仅在设备类中存在模板属性时显示,按钮上会展示当前设备类下的设备数量。
图 5 同步模板属性按钮 -
点击**「同步模板属性」**按钮。
-
系统弹出确认对话框,显示本次同步的影响范围:
- 模板属性数量
- 目标设备数量
- 预计生成的属性数量
图 6 同步确认弹窗 -
确认无误后点击**「确定」**。
-
系统提示「正在生成模板属性,请在任务中心查看具体进度,完成后刷新即可查看」。
-
进入右上角**「任务中心」**查看同步任务状态。
-
任务显示「成功」后,返回物模型页面并刷新。
图 7 任务中心同步进度
图 8 同步完成后的物模型列表
5.4 验证同步结果
-
进入该设备类下的任意设备详情页。
-
切换至**「物模型」** Tab,查看是否已生成由模板展开后的属性(带琥珀色「模板生成」标签)。
-
核对占位符是否已被正确替换:
占位符 应替换为 {DEVICE_NAME}该设备的设备标识 {DEVICE_STANDARD_NAME}该设备的标准化名称 {DEVICE_ATTRIBUTE:A}该设备技术参数 A 的填充值 -
将鼠标悬停在「模板生成」标签上,气泡弹窗会显示来源模板 ID,方便追溯该属性由哪条模板生成。
-
抽查多台设备,确认结果一致。
图 9 多台设备的模板生成属性一致性验证
6 ⚠️ 同步覆盖规则
⚠️ 重要提醒:这是最容易踩坑的地方,务必看清。
假设你完成过一次同步,随后进入某台设备的物模型,手工修改了某条「模板生成」属性的内容(例如修改了它的名称)。此时该属性仍带有「模板生成」标签,外观无异常。
但下次点击**「同步模板属性」**时,所有手工修改都会被原样覆盖。
6.1 核心规则
⚠️ 规则:每次同步都会以模板为准重新生成所有「模板生成」属性。手工修改过的内容如需保留,不要放在「模板生成」属性上,应使用「普通属性」代替。
6.2 同步不影响的内容
同步操作以下内容不会被影响,可放心使用:
- 设备类中的普通属性
- 在设备上后期手工新增的其他属性
7 模板属性的使用限制
模板属性本身无法执行以下操作,必须由同步生成的「模板生成」属性来完成:
- 模板属性本身不参与数据上报
- 模板属性不直接出现在设备物模型中
- 模板属性不支持控制下发
8 常见问题
| 问题 | 原因与解决方式 |
|---|---|
| 同步后生成的属性里,占位符原样保留未被替换 | 目标设备的技术参数中缺少对应 key。补充技术参数后重新同步即可。 |
| 手工修改过的「模板生成」属性被覆盖,能否找回? | 不能。需要个性化修改的属性建议使用普通属性,避免使用模板生成属性。 |
| 找不到**「同步模板属性」**按钮 | 设备类中没有任何「模板属性」时该按钮不显示。请先添加一条模板属性。 |
| 50 台设备的同步需要多久? | 属于后台任务,视属性条数与设备数量而定,通常几十秒到几分钟。可在任务中心查看进度。 |
| 占位符大小写能否随意书写? | 不能。严格区分大小写,书写错误不会被系统识别。 |
💡 最佳实践总结
- 先规划占位符命名规范,再批量添加模板属性
- 使用
{DEVICE_ATTRIBUTE:xxx}前,先确保所有目标设备都已配置对应技术参数- 需要个性化修改的属性一律使用普通属性,避免同步覆盖
- 每次同步前确认对话框中的影响范围,防止误操作