Das dynamische Zeichnsteuerelement erlaubt es Ihnen, grafische Elementezu erstellen und zu ändern, wie ein Zeichnbrett. Kernmechanismus: Schreiben Sie den Zeichnbefehl über ein kontinuierliches Register(Punkte, Linien, Kreise, Rechtecke, geschlossene Grafiken, Bild-Climps) auf der HMIKontinuierliches RegisterSchreiben Sie Zeichnbefehle - PLC oder LUA können Zeichnen.
1. Präsentation von Attributen
| Attribute | Beschreibung |
|---|---|
| Datenadresse | Zeichnbefehl Schreibadresse |
| Linienstärke | Liniensegmentbreite Pixel 1 ~ 4 |
| Befehlmodus | Einzel (ein Befehl gleichzeitig schreiben) / mehrere (mehrere Befehle gleichzeitig schreiben) |
| Zeichnmodus | neu zeichnen (neue Befehle aktualisieren das alte Bild) / Überlagerung (auf dem Bildschirm weiter hinzufügen) |
| Canvas-Farbe | RGB-Farbe |
| Fertigstellungsanmeldung | Befehl löscht und benachrichtigt |

Nach Abschluss des Zeichnens Kontinuierliches Registerformat:
LW CMD 绘制图形类型 LW+1 Draw_Cnt 数据包数量(一个矩形=1个包) LW+2 DATA N 个字节数据段 LW+1+N END 结束字段,固定 0xFF00

2. Grafikbefehllliste
| Befehl | Segmentformate | Beispiel |
|---|---|---|
| Zeichnungspunkte (0x0001) | X, Y, Farbe | AA55 00 0F F1 2000 0001 0001 01F4 00F0 F800 FF00 CCCC (rot Punkt 500, 240) |
| Endpunktverbindungen (0x0002) | Anzahl, jeder Punkt X, Y (Verbindungslinie), Farbeliste | AA55 00 1D F1 2000 0002 0003 FFFF012C012C01F4 012C01F4 0064 02BC0064 FF00 CCCC |
| Rechteck (0x0003) | Links oben X, Y, rechts unten X, Y, Farbe (pro Rechteck) | AA55 00 1F F1 2000 0003 0002 011E00AA01AA 010A 471A 0258 0064 02BC012C 2C4A FF00 CCCC (zwei Rechtecke) |
| Rechteckfüllung (0x0004) | Ähnlich | AA55 00 1F F1 2000 0004 0002... FF00CCC |
| Rund (0x0005) | Zentrum X, Y, Radius, Farbe | AA55 00 13 F1 2000 0005 0001 01F4 00FA0096 FEA0 FF00CCC |
| Kreisfüllung (Befehlcode ist 0x0005, Quelltext unterscheidet keine Zeichenbits) | Oben | AA55 00 13 F1 2000 0005 0001 0200 0100 0085 FEAA FF00 CCCC |
| Bild (0x0007) | PIC-ID, Zuschneiden X, Y, links oben rechts unten X, Y, Ziel X, Y | AA55 00 19 F1 2000 0007 0001 0000 0021 0027 00A3 0040 0168 0168 FF00 CCCC |
| Verschlossene Fläche Füllung (0x0008) | X, Y, Farbe | AA55 00 11 F1 1001 0008 0001 01A4 00F6 F800 FF00 CCCC |
| Spektrum (0x0009) | Anzahl, Farbe, Xn, Yn Paare | AA55 00 33 F1 2000 0009 0005 F800 0168 0064 0064 ... FF00CCCCC (5 vertikale Linien) |
| Liniensegment (0x000A) | Anzahl, Farbe, XnS,... FF00CCCC | AA55 00 33 F1 2000 000A 0004 ... FF00 CCCC |
| Rechteckige Reaktionsfarbe (0x000D) | Oben links, unten rechts, Farbe (Reflexierfarbe = 0xFFFF-Farbe) | AA55 00 15F1 2000 000D 0001 0168 00E6 0190 010E49F1 FF00 CCCC |

PIC-ID - AnsichtIm private Ressourcenpaket nach der Kompilierung ist image.bin; PIC-ID - Konzentration Öffnen Sie das Projektverzeichnis build/image.xml (id = 0 entspricht Bild 0 Hintergrund).

3. LUA-Zeichnung (set _ array)
In LUA werden Zeichnungen mitset_array()in kontinuierlichen Registeren geschrieben. Nehmen Sie auf_update-Trigger als Beispiel (Wort-Einstellungen Schaltfläche schreiben 0xF000 Wert 1 ~ 13 Grafik umschalten):
baseGraphCmd = {
opint=0x0001, Connection=0x0002, rect=0x0003, rectFill=0x0004,
circle=0x0005, PIC=0x0006, ICON=0x0007, fill=0x0008,
Spectrum=0x0009, line=0x000A, rectFillOr=0x000D }
-- 画点: 命令, 点数, X, Y, 颜色, 结束
local data = {baseGraphCmd.opint, 0x0003,
0x01F4, 0x00F0, 0xF800, 0x01F5, 0x00F1, 0xF800, 0x01F6, 0x00F3, 0xF800,
0xFF00}
set_array(VT_LW, 0x2000, data) -- 单条模式地址 0x2000Mehrere Modus mehrere Grafikbefehle in der Reihenfolge in ein Array auf einmal geschrieben (Adresse 0x3000); Überlagerung Modus nicht direkt hinzugefügt Bildschirm (Adresse 0x4000).



Aus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) Konfigurationssteuerelement-Tutorial "Dynamisches Zeichnen", das Urheberrecht im Besitz von Dacai Technology.
Antwort veröffentlichen