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
| Dimension | System-Szenario (Vorversperrung) | Benutzerdefiniertes Szenario (Ablaufversperrung) |
|---|---|---|
| Trigger-Zeit | Wirksam nach Konfiguration | Aktuelle Zeit ≥ Deadline vor Sperren |
| Benutzer spüren | vorzeitig gesperrt ist | gerade 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.

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.
Antwort veröffentlichen