ID 28 – Macro – ISO 11783-6 – B.16

Das Macro Objekt mit der ID 28 erlaubt es, eine Sequenz von Befehlen im Virtuellen Terminal zu speichern und bei bestimmten Ereignissen (Events) automatisch auszuführen. Dies reduziert die notwendige Kommunikation über den ISOBUS, da einfache UI-Logik direkt im Terminal abläuft.

Attribute und Record Format (Tabelle B.56)

Die folgende Tabelle beschreibt den Aufbau des Macro Objekts im Objektpool.

AID

Name

Typ

Größe (Bytes)

Bereich / Wert

Record Byte

Beschreibung

-

Object ID

Integer

2

0 – 255 (VT v4)
0 – 65534 (VT v5+)

1 – 2

Eindeutige ID im Objektpool.

[0]

Type

Integer

1

28

3

Objekttyp = Macro.

-

Number of bytes to follow

Integer

2

0 – 65535

4 – 5

Anzahl der Bytes für die Befehlsliste.

-

Repeat: {Command}

Binary

6 – n

-

6 …

Liste von Befehlspaketen. Jeder Befehl muss ein Vielfaches von 8 Bytes lang sein (Padding mit FFh).

Funktionsweise und Struktur

Ein Makro besteht aus einer Liste von VT-Kommandos (siehe ISO 11783-6, Anhang F).

  • Padding: Jeder Befehl innerhalb eines Makros muss auf eine Länge von 8 Byte aufgefüllt werden (mit 0xFF), falls das eigentliche Kommando kürzer ist (z.B. Change Numeric Value).

  • Ausführung: Makros können durch Events (z. B. On Press eines Buttons) oder durch das Kommando Execute Macro von der ECU gestartet werden.

  • Konsistenz: Die ECU ist dafür verantwortlich, dass Makros nur auf Objekte verweisen, die tatsächlich im Pool existieren.

Verfügbare Makro-Befehle (Auszug)

Makros können fast alle kommandierenden VT-Funktionen nutzen:

  • Sichtbarkeit: Hide/Show Object (Ein-/Ausblenden von Containern).

  • Interaktion: Enable/Disable Object (Sperren von Buttons/Eingaben), Select Input Object (Fokus setzen).

  • Werte: Change Numeric Value (Variablen oder Pointer ändern), Change String Value.

  • Geometrie: Change Child Location/Position (Objekte verschieben/scrollen), Change Size, Change End Point.

  • Darstellung: Change Background Color, Change Font/Line/Fill Attributes.

  • Navigation: Change Active Mask (Maskenwechsel), Change Soft Key Mask.

  • Audio: Control Audio Device (Signaltöne ausgeben).

  • Listen: Change List Item (Inhalt von Input-Listen ändern).

Ereignisse (Events)

Makros lösen selbst keine Events aus, werden aber durch Events anderer Objekte gestartet. Das Makro Objekt unterstützt die Kommandos:

  • Execute Macro

  • Execute Extended Macro

  • Get Attribute Value

Bedeutung für die Implementierung

Makros sind ein mächtiges Werkzeug zur Performance-Optimierung:

  1. Reaktionszeit: Ein Maskenwechsel direkt nach einem Tastendruck erfolgt per Makro ohne CAN-Verzögerung.

  2. Entlastung: Die ECU muss sich nicht um rein grafische Belange kümmern (z. B. das Umschalten eines Icons beim Drücken eines Buttons).

  3. Komplexität: Mehrere Aktionen können in ein einziges Makro gepackt werden (z. B. „Variable auf 0 setzen“ UND „Erfolgsmeldung einblenden“ UND „Ton abspielen“).


Hinweis: Für detaillierte Spezifikationen zu den einzelnen Befehlscodes wird auf die offizielle ISO 11783-6:2018, Anhang F verwiesen.