VisualHMI - 告警选择(定制)

image-20231129090729848

在人机界面(HMI)系统中,当操作人员点击告警显示控件并选中某一条具体告警记录时,系统可触发预置的 Lua 脚本事件回调。该脚本能够获取所选告警的结构化元数据,包括告警唯一标识符告警触发时间与解除时间以及告警描述内容。基于上述信息,可以显示该告警类型对应的标准化处置建议或故障排除指南,从而提升故障响应效率与操作一致性。

使用范围:VisualHMI - HMI&M系列&Dx系列(启用告警参数不支持)

入门应用:VisualHMI - 告警记录选择(点击下载)

1.设置选中

告警控件配置以下2点,才能在LUA脚本系统回调中触发:

  1. 告警显示的控件ID:不为0,如1;
  2. 容许选中:勾选;

image-20260121085254752

2.API说明

2.1.on_select_warning(screen_id,control_id,warning_id,starttime,stoptime,warning_text)[定制]

告警选中事件回调函数(定制功能),on_select_warning 是 HMI 系统提供的告警交互响应接口,属于定制固件专属功能。当用户在告警列表控件中点击或选中某条告警记录时,系统自动调用此函数,向脚本传递该告警的完整上下文信息,用于触发深度诊断、详细信息

⚠️ 重要限制

  • 仅在定制固件的设备上可用;
  • 若工程中为该告警启用了“告警参数”功能,此回调不会被触发(二者互斥)。

📊 参数说明

参数 类型 说明
screen_id number 当前画面 ID
• 告警列表所在的页面标识
control_id number 告警列表控件 ID
• 触发选中事件的具体控件ID
warning_id number 告警序号(ID)
• 对应工程“告警设置”中的告警编号(从 0 开始)
starttime number 告警触发时间
• 32 位时间戳(秒)
stoptime number 告警解除时间
• 32 位时间戳(秒)
warning_text string 告警原始描述文本

3.应用

3.1.告警设置

“工程”→“告警设置”配置如下所示:

序号告警ID0:【触发条件】:LW1001 ==1;【告警等级】:1;【告警内容】:相序保护;

序号告警ID1:【触发条件】:LW1002==1; 【告警等级】:2;【告警内容】:水流开关保护;

序号告警ID2:【触发条件】:LW1003==1;【告警等级】:3;【告警内容】:水位开关保护。

image-20260119142940435

3.2.告警显示

“告警控件”属性配置如下所示:

  1. 告警显示的控件ID:1;
  2. 容许选中:勾选;

image-20260121085144893

3.3.显示选中内容

新增一个画面,添加1个数值控件,3个文本控件,分别显示选中的告警ID、触发时间、解除时间、告警内容,以及解决方案,如下所示

image-20260121090740224

3.4.编辑Lua

在Lua脚本on_select_warning里,点击告警条时,将画面ID、触发/解除时间、告警字符显示在对应控件,如下所示

g_Solution = {
    [0] = '1. 确认是否真的相序错误\n2. 交换任意两根火线\n3. 检查相序保护器/继电器设置\n4. 变频器/软启动器内部设置\n5. 现场多设备供电冲突',
    [1] = '1. 冷却水未开启或阀门关闭\n2. 管路堵塞或滤网脏堵\n3. 水泵故障或扬程不足\n4. 水流开关本身故障或设定不当\n5. 气堵(Air Lock)\n6. 水温过低导致粘度变化',
    [2] = '1. 水箱实际缺水\n2. 水位开关卡滞或污垢覆盖\n3. 水位开关接线松动或损坏\n4. 气泡或泡沫干扰\n5. 安装位置不当',
}


function on_select_warning(screen_id,control_id,warning_id,starttime,stoptime,warning_text)
    if screen_id == 0 and control_id == 1
    then
        set_uint16(VT_LW, 0x2000, warning_id)--告警ID
        local year1,mon1,day1,hour1,min1,sec1 = make_datetime(starttime)--告警触发时间
        set_string(VT_LW, 0x2010, string.format('%04d-%02d-%02d %02d:%02d:%02d', year1,mon1,day1,hour1,min1,sec1))

        local year2,mon2,day2,hour2,min2,sec2 = make_datetime(stoptime)--告警解除时间
        set_string(VT_LW, 0x2020, string.format('%04d-%02d-%02d %02d:%02d:%02d', year2,mon2,day2,hour2,min2,sec2))

        set_string(VT_LW, 0x2030, warning_text)--告警内容
    end
end

3.5.运行预览

点击“相序保护”、“水流开关保护”、“水位开关保护”对于按钮,触发/解除告警,选择对于告警内容,如下所示:

Video_2026-01-21_090936 00_00_00-00_00_30

Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2026-02-06 13:37:13

results matching ""

    No results matching ""