VisualHMI Textfarbsteuerung: on _ wgt _ text _ color Massen-Themen - Wechsel

kostenlosKostenloses technisches Material

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

Textfarbsteuerung (anpassbare Firmware-exklusiv) bietetGlobale Textfarbe Massen-Einstellungen SchnittstelleEine Rückruffunktion, die die Textfarbe aller Textklasse-Steuerelemente des Bildschirms dynamisch ändert, ohne eine Konfiguration zu haben. Typische Szenarien sind Tag / Nacht-Modus - Umschaltungen - helle Hintergründe mit dunklem Text, dunkle Hintergründe mit hellen Text, eine Variable steuert das globale Thema.

1. Unterstützt Massen-Kontrollen

Nicht alle Steuerelemente können mit dieser Schnittstelle farbiert werden, nur mitprogrammierbarer Textfarbe / Vordergrundfarbe Attributsind beteiligt:

SteuertypErläuterung
Statischer TextDirektes Wirkungsobjekt
Bit-Status - Anzeige / Multi-Status - AnzeigeTexte, die mit dem Thema verfärben
Bit-Einstellungen Taste / Wort-Einstellungen Taste / FunktionstasteTaste Text
Dropdown-Auswahlfeld / Rollrad-SelektorAuswahl Text
RTCZeitanzeige

VisualHMI Textfarbsteuerung: on _ wgt _ text _ color Massen-Themen - WechselAbbildung

2. Vorkonfiguration (zwei Schritte, eins fehlt)

Schritt 1: Aktivieren Sie die Funktion der Kontrollgruppe global.Pfad: Entwurfseigenschaften → Steuerungsgruppen → Aktivieren Wenn dies nicht aktiviert ist, ignorieren alle Kontrollen zur Laufzeit die Gruppe-bezogenen Eigenschaften - auch wenn Sie eine Gruppe-ID haben.

Schritt 2: Weist dem Control eine gültige Gruppen-Identifikation zu.Legen Sie für jedes Steuerelement, das Sie in das Farbmanagement einbeziehen möchten, die Steuereigenschaften-Bedienfeld- Steuerungs-ID fest., muss ≠ 0 sein (0 ist ein ungültiger Standardwert und bedeutet "nicht gruppiert"). Die Aufrufe on _ wgt _ text _ color unterscheiden die Steuerelemente durch diese ID.

3. API: on_wgt_text_color(Bildschirm, Steuerung)

Steuerung Textfarbe dynamisch zurückrufen. Das System ruft es auf, wenn es ein Steuerelement aktualisiert, und erhält den zurückgegebenen Wert als Textfarbe für das Steuerelement.

ParameterTypBeschreibt
screennumberdie aktuelle Bildschirm-ID, um das gleichnamige Steuerelement
controlnumbervon der Ziel-Steuerelement - ID auf mehreren Seiten zu unterscheiden.Rückruf nur dann, wenn control ≠ 0 ausgelöst wird

Rückgabewert:color(number), ein 16 - Bit-Farbwert im RGB565 - Format. Die gesamte Farb-Thema - Logik ist in dieser Funktion.

4. Anwendungsbeispiel: Mehrzustand-Licht - Thema-Schalter

Bildschirm-Layout: einMulti-Zustand - Indikator-LampeMachen Sie einen Farbschalter (Zustand 0 ~ 4 entspricht 5 Themenfarben), Bild-ID auf 0 gesetzt; unten legen Sie eine Reihe von Steuerelementen (Text, Taste, Anzeigelampe, Dropdown-Box, Rollrad, RTC), einheitliche Einstellung Steuerelement ID auf 5.

Lua liest den Wert des Registers LW3000 als Farbeindex in einem Rückruf und gibt den entsprechenden RGB565 - Farbwert zurück:

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

Führen Sie einen virtuellen Bildschirm aus, tippen Sie auf die Farbschaltsteuerelemente, und alle UI-Elemente mit der Steuerungs-ID 5 werden synchronisiert, um die Textfarbe zu aktualisieren - das ist der Effekt des "One-Klick - Themes-Schaltens".

Drei Gruben:1 Die Steuerungsgruppe mussin der Entwurfseigenschaft aktiviert sein, ansonsten wird die ID nicht wirksam;2 Die Steuerungs-ID kann nicht 0 sein0 = nicht gruppiert und nicht an Rückruf beteiligt sein;3 gibt den RGB565 - Farbwertzurück (5 - Bit-R / 6 - Bit-G / 5 - Bit-B), und set_pen_color, Textfarbe Attribute der gleichen Farbpalette, direkt kopieren Sie die Farbkonstante des Grafiks. Die benutzerdefinierte Firmware hat nur diese Schnittstelle, die normale Firmware nicht.

Aus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) LUA-Tutorial "Text-Farbsteuerung" zusammengestellt, das Urheberrecht liegt bei Dacai Technology.

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.