VisualHMI 告警参数(Lua):on_parse_warning 拼接 p0~p3 动态文本

免费免费技术资料

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

上一篇讲了占位符格式 {#0:num1.num2} 和 on_get_warning_param。这篇是”Lua 版”——不用占位符,直接在 on_parse_warning 里用 p0~p3 参数拼字符串,灵活度更高。

1. on_parse_warning 带参数

function on_parse_warning(id, text, screen_id, control_id, p0, p1, p2, p3)
  -- p0~p3 由 on_get_warning_param 返回, 按告警ID对应
  if id == 0 then
    return "电机#1 温度 " .. string.format("%.1f", p0) .. "°C 超过阈值 95°C!", 1
  elseif id == 1 then
    return "压力 " .. string.format("%.2f", p1) .. " MPa 异常", 1
  end
end

p0~p3 的来源:工程启用告警参数后,显示告警时系统先调 on_get_warning_param(warning_id) 取参数,再调 on_parse_warning 时把参数作为 p0~p3 传入。两者按告警 ID 联动。

VisualHMI 告警参数(Lua):on_parse_warning 拼接 p0~p3 动态文本插图

2. 完整示例

function on_get_warning_param(warning_id)
  if warning_id == 0 then
    local temp = get_uint16(VT_4x, 0x1000) / 10   -- 温度, 寄存器存10倍
    return temp, 0, 0, 0
  elseif warning_id == 1 then
    local press = get_uint16(VT_4x, 0x1001) / 100 -- 压力, 寄存器存100倍
    return press, 0, 0, 0
  end
end

function on_parse_warning(id, text, screen_id, control_id, p0, p1, p2, p3)
  if id == 0 then
    return "压缩机排气温度 " .. string.format("%.1f", p0) .. "°C 过高", 1
  elseif id == 1 then
    return "系统压力 " .. string.format("%.2f", p1) .. "MPa 超限", 1
  end
end

VisualHMI 告警参数(Lua):on_parse_warning 拼接 p0~p3 动态文本插图1

p0~p3 只在工程为告警启用了参数功能时有效。返回值编码参数:1=GBK(默认推荐,中文屏),0=UTF-8——选错中文直接乱码。

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

技术术语(共 1 个)—— 点击展开
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
来源/工具信息 —— 点击展开
来源 Modbus.cn — China's leading Modbus communication protocol technical community 分类 LUA 脚本 / 串口屏/HMI 开发 字数 1028 字 · 阅读约 3 分钟 更新 2026-08-04 永久链接 http://www.modbus.cn/en/51505.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. 必填项已用 * 标注