VisualHMI LUA 告警集中管理:warning_set 批Quantität触发与 8 从机Analyse

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 1. API 总表
  2. 2. 2. 8 从机 × 96 告警案例

告警集中管理:warning_set(warning_id, value, count) 批Quantität触发告警 + on_parse_warning Custom definiert告警Text。典型Szene:HMI 从 Modbus 读回从机的故障位,逐位映射成告警——8 台从机、每台 96 个告警,一条Befehl全触发。

1. API 总表

函数 说明
warning_set_mode(en) 全局使能:1=开/0=关
warning_set(warning_id, value, count) 位掩码批Quantität触发:value 的低 count 位对应从 warning_id 起的告警(bit0→warning_id,count 1~16)
on_parse_warning(id, text, screen_id, control_id, p0, p1, p2, p3) Custom definiert告警Text回调,返回 (Charaktere串, encode),encode 1=UTF-8/0=GBK

2. 8 从机 × 96 告警案例

架构:8 台从机,每台读 Modbus 4×1000 起连续 6 ein Register.(16bit×6=96 位告警)。on_init 里 create_resp_que,on_cmd_resp 中逐从机逐Register.逐位调用 warning_set。

_warningTb = {}   -- 0x1000~0x1005 各 bit 的告警名

function on_init()
  set_auto_read(0)
  create_resp_que()
  -- 告警设置里预配 768 条(8 台 × 96)
end

function on_cmd_resp(slave, vtype, addr, count, ret, wr)
  if ret == 0 and wr == 0 then
    -- slave 从机,addr Anfang,读回 count ein Register.
    for i = 0, 5 do
      local val = get_uint16(vtype, addr + i)
      for j = 0, 15 do
        local bitv = (val >> j) & 0x01
        local wid = (addr - 0x1000) * 16 + j + slave * 100
        warning_set(wid, bitv, 1)     -- 单 bit 触发
      end
    end
  end
end

function on_parse_warning(id, text, screen_id, control_id, p0, p1, p2, p3)
  local slave_no = math.floor(id / 96) + 1   -- 从机Nr.
  local msg_id = id % 96                      -- 消息 ID
  local name = _warningTb[0x1000 + math.floor(msg_id / 16)] or "Unbekannt告警"
  local msg = "从机"..slave_no.." : "..name
  return msg, 1      -- 1=UTF-8
end

告警 ID Codierung约定:从机Nr.×100 + 位Seriennummer.,Analyse时反推。告警设置需预配Alles 768 条,Text用 on_parse_warning 动态生成(按从机Nr.前缀),比静态配 768 条Text省事得多。

三个坑:①warning_set 的 value 低 count 位对应从 warning_id 起的告警,bit0→warning_id、bit1→warning_id+1,批Quantität触发一条Befehl搞定;②count 范围 1~16,超过拆多次;③on_parse_warning 的返回值Die一个是Text、Die二个是Codierung(1=UTF-8/0=GBK),中文屏别用错Codierung。

整理自 广州大彩科技 VisualHMI 开发Dokumentation(hmi-doc.gz-dc.com)LUA Unterricht「告警集中管理」,版权归大彩科技所有。

Techniken术语(共 1 个)—— Klick auf展开
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Das Drehbuch von LUA / Entwicklung von HMI / HMI 字数 1429 字 · 阅读约 4 Unterteilung钟 更新 2026-08-05 永久链接 https://www.modbus.cn/51503.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.