FB_ArtNetReceive

FB_ArtNetReceive 1:

Dieser Funktionsblock empfängt Art-Net Telegramme über UDP.

VAR_INPUT

    bExecute          : BOOL;
    sSrvNetId         : T_AmsNetId,
    sLocalHost        : T_IPv4Addr;
    nLocalPort        : UDINT;
    tTimeout          : TIME;

bExecute: Über eine positive Flanke an diesem Eingang beginnt der Baustein mit der Abarbeitung. Eine negative Flanke beendet die Abarbeitung.

sSrvNetId: String mit der Netzwerkadresse des TwinCAT TCP/IP Connection Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden.

sLocalHost: Die lokale IP-Adresse (IPv4) des UDP Client/Server-Sockets als String (z.B. '2.168.0.5'). Für den Default-Netzwerkadapter kann auch ein Leerstring angegeben werden.

nLocalPort: Die lokale IP-Portnummer des UDP Client/Server-Sockets (z.B. 6454).

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des Kommandos nicht überschritten werden darf.

VAR_OUTPUT

    bBusy                 : BOOL;
    bError                : BOOL;
    nErrorID              : UDINT;
    bArtPollReceived      : BOOL;
    stDmxData             : ST_DmxArtNetData;
    stFrameCounter        : ST_FrameCounter;
    aAvailableNodes       : ARRAY[0..31] OF ST_PollReplyParameter;

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

bError: Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrorID: Liefert bei gesetztem bError-Ausgang den Fehlercode des zuletzt ausgeführten Arbeitsschritts.
Siehe Fehlercodes.

stDmxData: Diese Struktur beinhaltet die zuletzt empfangenen Daten.

stFrameCounter: Struktur mit Information über die Anzahl eingegangener 'ArtPoll'-, 'ArtPollReply'- und 'ArtDmx'-Telegramme.

aAvailableNodes: Liefert ein Array einer Struktur mit Informationen zu weiteren Art-Net™ Geräten, von denen ein 'ArtPollReply'-Telegramm gesandt wurde.

VAR_IN_OUT

    hSocket           : T_HSOCKET;

hSocket: Ein- und Ausgangsvariable mit dem Handle eines geöffneten UDP-Sockets; wird am Eingang 0 übergeben, so wird versucht, einen neuen Socket zu erstellen.
Bei Erfolg wird ein neuer Socket geöffnet und hSocket liefert das dazugehörige Socket-Handle.