VisualHMI Staging-Anwendungen (benutzerdefiniert): Dynamisches Kennwort-Lua - Meta-Tabellen - Schema

kostenlosKostenloses technisches Material

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

Die System-Phasen sind "Sperren vor Ablauf", und die benutzerdefinierte Phasen sind "Sperren vor Ablauf" - besser geeignet für echte Miet-Szenarien. Dieser Artikel ist mit Lua Meta-Tabelle verpackt, um zeitgenaue Trigger + dynamische Passwörter zu implementieren (Algorithmus externe, keine vorgespeicherten statischen Passwörter).

1. Unterschiede zwischen den beiden Programmen

DimensionSystem-Szenario (Vorversperrung)Benutzerdefiniertes Szenario (Ablaufversperrung)
Trigger-ZeitWirksam nach KonfigurationAktuelle Zeit ≥ Deadline vor Sperren
Benutzer spürenvorzeitig gesperrt istgerade abgelaufen ist gesperrt

2. Dynamisches Passwort

  • Dynamisches Code: durch die externe Funktion password_func (date) in Echtzeit berechnet (z. B. Jahr + Monat + Tag), nicht vorgespeichert, rückwärts vorbehalten
  • Super-Passwort: Single-uint32, One-Klick - Global-Entsperren, Vor-Ort - Betrieb
  • Wärme-Update - Test: Start-Erkennung Datumsänderungen, automatisches Umschreiben des Speichers nach Konfigurationsänderungen
  • Zustand dauerhaft: Zeit / Schalter / Entsperren Fortschrittsspeicher VT_RW nichtflüchtige Zone, Stromausfall nicht verloren

3. Instanzenisierung (main.lua)

Stage.new(base_ add r , stage _ dates , password _ fun c , super _ password):

-- base_addr: VT_RW 起始地址,连续存储所有配置
-- stage_dates: 3期截止日期列表,必须递增
-- password_func: 密码计算函数
-- super_password: 超级密码
dofile("stage.lua")
g_stage = Stage.new(0x1000,
  {{2023,11,1},{2023,12,1},{2024,1,1}},
  function(d) return d[1]+d[2]+d[3] end,
  123456)

Das Modul wird mit Closure + Meta-Tabelle OO implementiert und unterstützt 1 - 10 - Phase-RW - Bereich. Der Kern entscheidet, dass get _ eligible _ stage () genau die Systemzeit und das Ablaufdatum vergleicht, und dass now ≥ deadline vor dem Sperren des Bildschirms geschlossen ist.

VisualHMI Staging-Anwendungen (benutzerdefiniert): Dynamisches Kennwort-Lua - Meta-Tabellen - SchemaAbbildung

Benutzerdefinierte Staging ist flexibler als die System-Staging, auf Kosten des eigenen Lua-Modules (stage.lua) zu schreiben. Das wichtigsteDynamisches Passwort nicht vorgespeichert- Passwort berechnet und verworfen, selbst wenn jemand aus dem RW-Bereich dumped, sehen Sie nur ein bestimmtes Ergebnis, nicht umgekehrt den Algorithmus. Der Zustand muss in der RW-Zone fallen, sonst wird der Neustart den Entsperrungsfortschritt verlieren.

Kompiliert aus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) und anderen technischen Tutorials „Staged Application (RW-Custom)", 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.