VisualHMI 告警参数:{#0:num1.num2} 占位符与 on_get_warning_param

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

本文目录
  1. 1. 1. API:on_get_warning_param(warning_id)
  2. 2. 2. 告警内容格式:{#data:num1.num2}
  3. 3. 3. 应用案例:电流/温度告警带参数
  4. 4. 3.1 画面配置
  5. 5. 3.2 Lua:按告警 ID 返回参数

告警参数让告警文本能嵌入实时寄存器值——比如「1#压缩机电流过高:当前 12.5A」这种动态告警,而不是死板的固定文本。系统支持最多 4 个独立参数字段,每个字段可单独配显示格式(整数位前置空格、小数位补零),告警内容自动拼接。适用 HMI&M 系列&Dx 系列。

1. API:on_get_warning_param(warning_id)

工程告警设置里启用了「告警参数」后,系统在显示告警详情时自动调用此回调。参数 warning_id 是告警唯一标识符,按 ID 区分业务逻辑,返回最多 4 个数值/状态参数:

返回值 必填 用途
data0 填充告警设置里的 {#0:num1.num2},或 on_parse_warning 的 p0
data1 填充 {#1:num1.num2},或 on_parse_warning 的 p1
data2 填充 {#2:num1.num2},或 on_parse_warning 的 p2
data3 填充 {#3:num1.num2},或 on_parse_warning 的 p3

2. 告警内容格式:{#data:num1.num2}

在告警设置里写告警内容时,参数占位符要遵循这个格式:

字段 含义 示例
data 告警参数 ID,最多 4 个,从 0 开始 {#0:2.2} 用 data0
num1 整数位前置空格个数 num1=2:值 12.5 显示成「 12.5」(2 个前导空格)
num2 小数位个数,显示补零 num2=2:值 12.5 显示成「12.50」

例:告警内容写「1#压缩机电流过高:{#0:2.2}A」,data0 返回 12.5,显示为「1#压缩机电流过高: 12.50A」。

VisualHMI 告警参数:{#0:num1.num2} 占位符与 on_get_warning_param插图

3. 应用案例:电流/温度告警带参数

3.1 画面配置

告警显示控件:告警模式=历史告警、时间顺序、显示日期和时间、时间在前、列宽比例 20;100;20;20、每页 5 行、滚动条√。

两个位状态指示灯触发/解除告警:读取地址 LW1000.0 和 LW1000.1,切换开关类型。

四个数值控件模拟告警参数:读取地址 LW1001~LW1004,启用输入。

3.2 Lua:按告警 ID 返回参数

告警内容里 {#0:2.2} 的意思是 data0 要缩小 100 倍显示(寄存器存的是放大 100 倍的值),所以回调里除 100:

function on_get_warning_param(warning_id)
  if warning_id == 0 or warning_id == 1 then   -- 告警ID 0 或 1
    local data0, data1, data2, data3 = 0, 0, 0, 0
    data0 = get_uint16(VT_LW, 0x1001) / 100   -- 放大100倍存储,除以100还原
    data1 = get_uint16(VT_LW, 0x1002) / 100
    data2 = get_uint16(VT_LW, 0x1003) / 100
    data3 = get_uint16(VT_LW, 0x1004)         -- 这个不缩
    return data0, data1, data2, data3
  end
end

运行虚拟屏,键盘给 LW1001 输入 1250,触发告警 0,告警内容里的 {#0:2.2} 显示 12.50——比例换算全在回调里做,显示端不用再处理。

三个要点:①占位符格式必须是 {#data:num1.num2},data 从 0 开始最多 4 个,写错格式参数不显示;②num1 是整数位前置空格不是整数位数——想右对齐才用,不需要就写 0;③num2 是小数位补零,寄存器里放大 10/100 倍存的工程值,记得在回调里除回去。这个回调和 on_parse_warning 是两套机制:on_get_warning_param 只填数值参数,on_parse_warning 是自定义整个告警文本。

整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)LUA 教程「告警参数」,版权归大彩科技所有。

技术术语(共 1 个)—— 点击展开
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
来源/工具信息 —— 点击展开
来源 Modbus.cn — China's leading Modbus communication protocol technical community 分类 LUA 脚本 / 串口屏/HMI 开发 字数 1568 字 · 阅读约 4 分钟 更新 2026-08-05 永久链接 http://www.modbus.cn/en/51504.html
Recommended: Modbus Debug Assistant Mini Program
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

Your email address will not be published. 必填项已用 * 标注