告警文本支持嵌入寄存器实时数据:最多 4 个参数字段(data0~data3),每个可独立设显示格式。告警内容自动拼接,直观体现”哪台设备、多少度”这类信息。
1. 参数格式:{#data:num1.num2}
在告警设置→告警内容里用占位符:
- data:告警参数 ID,最多 4 个,从 0 开始
- num1:整数位前置空格个数
- num2:小数位个数,显示补零
例:告警内容”电机温度 {#0:2.1} °C”,data0 填 98.5,显示”电机温度 98.5 °C”。

2. on_get_warning_param(warning_id)
工程启用”告警参数”后,显示告警详情时自动调用。根据告警 ID 返回最多 4 个参数:
function on_get_warning_param(warning_id)
if warning_id == 0 or warning_id == 1 then
local data0 = get_uint16(VT_LW, 0x1001) / 100
local data1 = get_uint16(VT_LW, 0x1002) / 100
local data2 = get_uint16(VT_LW, 0x1003) / 100
local data3 = get_uint16(VT_LW, 0x1004)
return data0, data1, data2, data3
end
end
返回的 data0~data3 填入告警内容里的 {#0:~}~{#3:~} 占位符,或传给 on_parse_warning 的 p0~p3。

3. 完整配置
画面:告警控件(历史告警、时间顺序、发生/解除时间显示日期和时间、时间在前√、列宽 20;100;20;20、每页 5 行);两个位状态指示灯 LW1000.0/LW1000.1(切换开关)触发/解除告警;四个数值控件 LW1001~LW1004 模拟参数。
例:data0 格式 {#0:2.2},则 LW1001 的值要缩小 100 倍——寄存器存 9850,显示 98.50。

参数格式易错点:num1 是「整数位前补空格数」不是整数位数,num2 是小数位数(补零)。寄存器原始值和显示值的换算(缩放)要在 on_get_warning_param 里做,占位符只管格式。
整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)LUA 教程「告警参数」,版权归大彩科技所有。
发表回复