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