CF_INFO_T


Einleitung

Der Datentyp CF_INFO_T (Control Function Information Type) ist eine strukturierte Datenkomponente, die innerhalb der ISO 11783 (ISOBUS)-Kommunikation verwendet wird. Er dient der standardisierten Abbildung und Verwaltung von Informationen über einen Teilnehmer (Control Function oder User) im ISOBUS-Netzwerk. Dieser Typedef fasst alle wesentlichen Merkmale und Zustände eines Netzwerkteilnehmers in einer einzigen Datenstruktur zusammen.

Schnittstellenstruktur

CF_INFO_T ist ein strukturierter Datentyp (StructuredType) und verfügt über keine Ereignis- oder Adapterschnittstellen im herkömmlichen Sinne eines Funktionsbausteins. Seine Struktur besteht ausschließlich aus Daten-Elementen (Variablen).

Daten-Eingänge

Nicht vorhanden, da es sich um einen reinen Datentyp handelt.

Daten-Ausgänge

Nicht vorhanden, da es sich um einen reinen Datentyp handelt.

Daten-Elemente (Struktur)

Die interne Struktur des Typs CF_INFO_T besteht aus den folgenden Elementen:

Name

Typ

Kommentar / Beschreibung

Initialwert

s16Handle

INT

Netzwerk-Member-Handle der Control Function (CF) / des Users. Dient als eindeutiger Identifikator innerhalb der Anwendung.

UNVALID

u8SourceAddress

BYTE

Quelladresse (Source Address, SA) der Control Function (CF) / des Users im ISOBUS-Netzwerk.

NULL_A

u8CanIdx

BYTE

CAN-Bus Node / Index der Control Function (CF) / des Users. Identifiziert den physischen Bus-Knoten.

au8Name

isobus::pgn::CF_NAME_T

Der ISOBUS-NAME der Control Function. Dies ist eine 64-bit eindeutige Kennung gemäß ISO 11783-5.

eIsoUserFunct

SINT

Intern verwendeter CF-Funktionstyp (z.B. Arbeitsgerät, Terminal, Task-Controller).

undefined

bExternalCf

BOOL

Kennzeichnet, ob es sich um eine externe CF im CAN-Netzwerk handelt (TRUE) oder nicht.

bIsAnnounced

BOOL

TRUE, wenn die CF aktiv und vollständig im Netzwerk angekündigt (announced) ist.

bIsActive

BOOL

NIU-spezifisch (Network Interface Unit): TRUE, wenn sich die CF nicht in einem Fehlerzustand befindet oder abgemeldet (logged off) ist.

Funktionsweise

Der Datentyp CF_INFO_T ist eine passive Datenhaltungsstruktur. Er wird verwendet, um den Zustand und die Identität eines ISOBUS-Netzwerkteilnehmers zu speichern und zwischen verschiedenen Komponenten einer Steuerungsanwendung auszutauschen. Die enthaltenen Informationen werden typischerweise durch andere Funktionsbausteine gelesen, geschrieben und interpretiert, die für die Netzwerkverwaltung (z.B. Adressvergabe, NAME-Verwaltung) oder die Applikationslogik zuständig sind.

Technische Besonderheiten

  • Typedef für ISOBUS: Speziell für die Anwendung in ISO 11783-Umgebungen (Landtechnik) konzipiert.

  • Zustandsflags: Enthält mehrere boolesche Flags (bIsAnnounced, bIsActive), die den Lebenszyklus und Betriebszustand einer CF abbilden.

  • Initialwerte: Kritische Identifikatoren wie s16Handle und u8SourceAddress werden mit definierten Konstanten (UNVALID, NULL_A) initialisiert, um einen ungültigen Ausgangszustand sicherzustellen.

  • Integration: Verwendet den benutzerdefinierten Typ isobus::pgn::CF_NAME_T für die Abbildung des 64-bit ISOBUS-NAMEN.

Zustandsübersicht

Da es sich um einen Datentyp und keinen aktiven Baustein handelt, existiert keine Zustandsmaschine. Der „Zustand“ wird durch die Kombination der enthaltenen Datenfelder beschrieben, insbesondere durch die Flags:

  • Ungültig/Inaktiv: s16Handle == UNVALID, bIsAnnounced == FALSE

  • Gültig & Aktiv: s16Handle != UNVALID, bIsAnnounced == TRUE, bIsActive == TRUE

  • Gültig & Fehlerhaft/Inaktiv: s16Handle != UNVALID, bIsActive == FALSE

Anwendungsszenarien

  • Teilnehmerverwaltung: In einem ISOBUS-Manager-Baustein, der eine Liste aller bekannten Netzwerkteilnehmer (CF_INFO_T[]) verwaltet.

  • Diagnose und Anzeige: Weitergabe von Teilnehmerinformationen an ein Diagnose- oder Display-System, um den Netzwerkstatus anzuzeigen.

  • Kommando-Weiterleitung: Als Parameter für Kommunikationsbausteine, um Nachrichten gezielt an eine bestimmte CF (identifiziert durch u8SourceAddress und au8Name) zu adressieren.

  • Filterung: Logikbausteine können anhand der Felder eIsoUserFunct oder bExternalCf entscheiden, ob Nachrichten einer bestimmten CF verarbeitet werden sollen.

⚖️ Vergleich mit ähnlichen Bausteinen

CF_INFO_T ist kein Funktionsbaustein und kann daher nicht direkt mit Blöcken wie E_SR oder E_CYCLE verglichen werden. Innerhalb der ISOBUS-Kommunikation ist er vergleichbar mit anderen strukturierten Datentypen, die Netzwerk- oder Geräteinformationen bündeln (z.B. PGN_INFO_T für Parameter Group Numbers). Seine Besonderheit liegt in der spezifischen Zusammenstellung von Daten, die für die Identifikation und das Zustandsmanagement einer Control Function erforderlich sind.

Fazit

Der Datentyp CF_INFO_T ist ein grundlegender und wesentlicher Bestandteil für die Implementierung von ISOBUS-fähigen Steuerungsapplikationen in 4diac. Er bietet eine standardisierte, typsichere Methode, um alle relevanten Informationen eines Netzwerkteilnehmers zu gruppieren und zu transportieren. Durch seine Verwendung wird die Wiederverwendbarkeit von Code erhöht und die Konsistenz in der Netzwerkkommunikationslogik sichergestellt.