Q_Priority_AUS¶
Einleitung¶
Der Funktionsblock Q_Priority_AUS dient zur Änderung der Priorität einer Alarmmaske gemäß ISO 11783-6 (Part 6, F.40). Über einen Initialisierungsvorgang wird die Alarmmaske identifiziert, anschließend kann eine neue Priorität gesetzt werden. Die Bestätigung des Dienstes sowie der alte Prioritätswert werden ausgegeben.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Typ | Beschreibung |
|---|---|---|
| INIT | EInit | Service-Initialisierung; wird mit dem Daten-Eingang u16ObjId ausgeführt. |
Ereignis-Ausgänge¶
| Ereignis | Typ | Beschreibung |
|---|---|---|
| INITO | EInit | Bestätigung der erfolgreichen Initialisierung. |
| CNF | Event | Bestätigung des angeforderten Dienstes; wird mit STATUS und s16result ausgegeben. |
Daten-Eingänge¶
| Name | Typ | Beschreibung | Initialwert |
|---|---|---|---|
| u16ObjId | UINT | Objekt-ID der Alarmmaske | ID_NULL |
Daten-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| STATUS | STRING | Status des Dienstes (z. B. Fehler- oder Erfolgsmeldung) |
| s16result | INT | Rückgabewert gemäß Beschreibung (siehe Funktionsweise) |
Adapter¶
| Name | Typ | Richtung | Beschreibung |
|---|---|---|---|
| u8Priority | AUS (unidirectional) | Socket | Neue Priorität (wird über den Adapter gesendet) |
| u8OldPriority | AUS (unidirectional) | Plug | Alte Priorität (wird über den Adapter empfangen) |
Funktionsweise¶
Nach dem Auslösen von INIT mit der gültigen Objekt-ID der Alarmmaske initialisiert der Baustein die interne Kommunikation. Sobald über den Adapter u8Priority ein Ereignis eintrifft, wird der Dienst zur Prioritätsänderung ausgeführt. Der Baustein sendet die neue Priorität an den virtuellen Terminal und gibt nach Abschluss die Bestätigung über CNF mit dem Status und dem Ergebniswert aus. Gleichzeitig wird über den Adapter u8OldPriority die bisherige Priorität (sofern verfügbar) zurückgegeben.
Rückgabewerte (s16result): - VT_E_NO_ERR (0) – Erfolgreich - VT_E_OVERFLOW (-6) – Pufferüberlauf - VT_E_NOACT (-8) – Befehl im aktuellen Zustand nicht möglich - VT_E_NO_INSTANCE (-21) – Kein VT-Client verfügbar - VT_E_ISO_INSTANCE_INVALID (-129) – Verbindungsinstanz ungültig - VT_E_NOT_ALIVE (-130) – Instanz gültig, aber VT inaktiv
Technische Besonderheiten¶
- Der Baustein setzt auf das ISO 11783-6 Protokoll auf und nutzt unidirektionale Adapter für die Datenübertragung.
- Die Initialisierung erwartet eine gültige Objekt-ID; ein ungültiger Wert (ID_NULL) führt zu keinem Dienst.
- Die Fehlercodes sind standardisiert und ermöglichen eine einfache Diagnose auf VT-Ebene.
- Die interne Logik delegiert die eigentliche Prioritätsänderung an den eingebetteten FB
Q_Priority.
Zustandsübersicht¶
Der Baustein besitzt keine explizit dargestellte Zustandsmaschine. Ablauf:
1. INIT → Initialisierung wartet auf gültige Objekt-ID.
2. Nach erfolgreicher Initialisierung → INITO aktiv.
3. Über den Adapter u8Priority wird die Anforderung (REQ) gestartet.
4. Nach Verarbeitung → CNF mit Ergebnis.
Anwendungsszenarien¶
- Ändern der Priorität einer Alarmmaske in einem virtuellen Terminal der Landtechnik (z. B. ISOBUS-konformes Steuergerät).
- Integration in eine Steuerung, die dynamisch unterschiedliche Alarmstufen setzen muss (z. B. von „niedrig“ auf „hoch“ bei einem kritischen Ereignis).
Vergleich mit ähnlichen Bausteinen¶
- Q_Priority (ohne AUS): Bietet die gleiche Kernfunktion, benötigt jedoch separate Datenleitungen für Priorität und Alter Wert. Der vorliegende Baustein kapselt die Ein- und Ausgabe über Adapter und erleichtert so die modulare Verwendung in hierarchischen Netzwerken.
- Q_AlarmMask_Select: Wählt eine Alarmmaske aus, ändert jedoch nicht die Priorität. Q_Priority_AUS ergänzt diese Funktionalität.
Fazit¶
Der Funktionsblock Q_Priority_AUS realisiert eine standardisierte, robuste Schnittstelle zur Prioritätsänderung von Alarmmasken nach ISO 11783-6. Durch die Adapter-basierte Datenübertragung und die klare Trennung von Initialisierung und Dienstausführung eignet er sich besonders für modulare, landwirtschaftliche Steuerungssysteme.