VisualHMI - 告警参数
在HMI(人机界面)系统中,为实现告警信息的动态化与语义清晰化,告警文本支持将寄存器中的实时数据嵌入。系统提供最多四个可独立配置的参数字段,每个参数可分别设置其显示格式(如小数位数)。告警内容可自动拼接,从而更直观的体现告警信息。
适用范围:VisualHMI - HMI&M系列&Dx系列
例程下载链接:ViusalHMI - 告警参数(点击下载)
1.API 说明
1.1.on_get_warning_param(warning_id)
告警参数动态回调函数,on_get_warning_param(warning_id) 是 HMI 系统提供的告警参数设置接口,当工程告警设置中为启用“告警参数”功能后,系统在显示告警详情时自动调用此函数,通过告警ID,根据具体业务逻辑,返回该告警的参数,支持返回最多 4 个数值/状态参数(data0~data3);实现个性化、可读性强的告警提示
📊 参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
warning_id |
number | 告警唯一标识符 |
📊 返回值说明
| 返回值 | 类型 | 必填 | 说明 |
|---|---|---|---|
data0 |
number | 否 | 告警参数 0 • 用于填充告警设置→中的 {#0:num1.num2}• 或者on_parse_warning(...)中的p0 |
data1 |
number | 否 | 告警参数 1 • 用于填充告警设置→中的 {#1:num1.num2}• 或者on_parse_warning(...)中的p1 |
data2 |
number | 否 | 告警参数 2 • 用于填充告警设置→中 {#2:num1.num2}• 或者on_parse_warning(...)中的p2 |
data3 |
number | 否 | 告警参数 3 • 用于填充告警设置→中 {#3:num1.num2}• 或者on_parse_warning(...)中的p3 |
2.应用
2.1.告警设置
- 启用告警参数:√
- 告警内容:启用告警参数,参数内容中,参数的设置要遵循{#data:num1.num2}这种格式
- data:告警参数ID,最多设置4个,从0开始
- num1:整数位前置空格个数
- num2:小数位个数,显示补零

2.2.画面配置
在画面添加一个告警显示控件,“告警控件”属性配置如下所示:
告警模式:历史告警;
时间排序:时间顺序;
发生时间:显示日期和时间;
解除时间:显示日期和时间;
时间在前:√;
列宽比例:20;100;20;20;
每页行数:5;
显示滚动条:√;

界面设置两个位状态指示灯,关联地址LW1000.0和LW1000.1,用于触发和解除告警,配置属性如下:
读取地址:LW1000.0
- 开关类型:切换开关
切换开关:√
使用图库:√
使用文字:√

界面设置四个数值控件,关联地址LW1001~LW1004,用于告警参数的模拟,配置属性如下:
- 启用输入:√
- 读取地址:LW1001
- 写入地址:与读取相同

3.Lua脚本
通过回调函数,根据告警ID进行区分,return返回参数,如第一个参数格式为{#0:2.2},则data0需要计算:缩小100倍,代码如下显示:
function on_get_warning_param(warning_id)
if warning_id == 0 or warning_id == 1 --告警ID = 0 或 告警ID = 1
then
local data0,data1,data2,data3 = 0,0,0,0
data0 = get_uint16(VT_LW, 0x1001)/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
4.运行预览
运行虚拟屏,通过键盘输入对数值控件进行数值写入,点击位状态指示灯触发告警查看告警带参数显示,如下所示:
