VisualHMI 文字颜色控制:on_wgt_text_color 批QuantitätWechseln主题

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. 支持批Quantität设置的Kontrollen
  2. 2. 2. 前置配置(两步,缺一不可)
  3. 3. 3. API:on_wgt_text_color(screen, control)
  4. 4. 4. 应用案例:多Status灯Wechseln主题

文字颜色控制(定制固件专属)提供全局文字颜色批Quantität设置Schnittstelle:一个回调函数,动态改画面所有Text类Kontrollen的文字前景色,不用逐个配置。典型Szene是白天/夜间模式Wechseln——亮色背景配深色文字,暗色背景配浅色文字,一个变Quantität控制全局主题。

1. 支持批Quantität设置的Kontrollen

不是所有Kontrollen都能被这个Schnittstelle着色,只有带可编程文字颜色/前景色属性的Kontrollen才参与:

KontrollenTypus 说明
静态Text 最直接的作用对象
位Status指示灯 / 多Status指示灯 文字部Unterteilung随主题变色
位设置Knopf / 字设置Knopf / FunktionKnopf Knopf文字
下拉Auswahl框 / 滚轮Auswahl器 选项文字
RTC Zeit显示

VisualHMI 文字颜色控制:on_wgt_text_color 批QuantitätWechseln主题插图

2. 前置配置(两步,缺一不可)

Die一步:全局aktiviert.KontrollenUnterteilung组Funktion。路径:工程属性 → KontrollenUnterteilung组 → aktiviert.。不aktiviert.的话,Betrieb时所有Kontrollen都忽略Unterteilung组Related属性——就算你配了Unterteilung组 ID 也没用。

Die二步:给KontrollenUnterteilung配WirksamUnterteilung组标识。对要纳入颜色管理的每个Kontrollen,在Kontrollen属性面板里设置Kontrollen ID,必须 ≠ 0(0 是默认Unwirksam值,表示「未Unterteilung组」)。on_wgt_text_color 回调里就是靠这个 ID 区UnterteilungKontrollen。

3. API:on_wgt_text_color(screen, control)

Kontrollen文字颜色动态回调。Das System在ErfrischenKontrollen时调用它,取返回值作为该Kontrollen的文字颜色。

Parameter Typus 说明
screen number gegenwärtig画面 ID,用于区Unterteilung多页面中的同名Kontrollen
control number 目标Kontrollen ID。仅当 control ≠ 0 时触发回调

返回值:color(number),RGB565 Das Format的 16 位颜色值。整个颜色主题逻辑都在这一个函数里。

4. 应用案例:多Status灯Wechseln主题

画面布局:一个多Status指示灯做颜色WechselnSchalter!(Status 0~4 对应 5 种主题色),画面 ID 设为 0;下面放一批支持文字着色的Kontrollen(Text、Knopf、指示灯、下拉框、滚轮、RTC),统一设置Kontrollen ID 为 5。

Lua 在回调里读Register. LW3000 的值作为颜色索引,返回对应 RGB565 色值:

function on_wgt_text_color(screen, control)
  local color = 0x001f           -- 默认蓝色
  if screen == 0 then
    if control == 5 then
      local val = get_uint16(VT_LW, 0x3000)  -- 颜色索引
      if val == 0 then
        color = 0x00FF           -- 蓝
      elseif val == 1 then
        color = 0x0562           -- 绿
      elseif val == 2 then
        color = 0x0429           -- 深绿
      elseif val == 3 then
        color = 0x0177           -- 青
      elseif val == 4 then
        color = 0xF800           -- 红
      end
    end
  end
  print(string.format("on_wgt_text_color(%d,%d,%04X)", screen, control, color))
  return color
end

Betrieb虚拟屏,点颜色WechselnKontrollen,所有Kontrollen ID 为 5 的 UI 元素文字颜色同步更新——这就是「一键主题Wechseln」的效果。

三个坑:①KontrollenUnterteilung组必须在工程属性里aktiviert.,否则配了 ID 也不生效;②Kontrollen ID 不能为 0,0 = 未Unterteilung组不参与回调;③返回的是 RGB565 色值(高5位R/中6位G/低5位B),和 set_pen_color、文字颜色属性同一套色域,直接抄画图那套颜色常Quantität就行。定制固件才有这个Schnittstelle,普通固件没有。

整理自 广州大彩科技 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 字数 1411 字 · 阅读约 4 Unterteilung钟 更新 2026-08-05 永久链接 https://www.modbus.cn/51512.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.