FB_ArtNetSend

FB_ArtNetSend 1:

Dieser Funktionsblock sendet Art-Net Telegramme über UDP.

VAR_INPUT

    bExecute                  : BOOL;
    bArtPoll                  : BOOL;
    bArtPollReply             : BOOL;
    stPollReplyParameter      : ST_PollReplyParameter;
    sSrvNetId                 : T_AmsNetId,
    sLocalHost                : T_IPv4Addr;
    nLocalPort                : UDINT;
    sRemoteHost               : T_IPv4Addr;
    sDirectedBroadcastAddress : T_IPv4Addr;
    nRemotePort               : UDINT;
    tCycleTimeTransmit        : TIME;
    tTimeout                  : TIME;
    stDmxData                 : ST_DmxArtNetData;

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

bArtPoll: Über eine positive Flanke an diesem Eingang wird einmalig ein 'ArtPoll'-Telegramm versandt.
Alle Art-Net™ Geräte (auch der Versender) antworten daraufhin mit einem 'ArtPollReply'-Telegramm.

bArtPollReply: Über eine positive Flanke an diesem Eingang wird einmalig ein 'ArtPollReply'-Telegramm versandt.

stPollReplyParameter: Diese Struktur stellt Informationen für andere Art-Net™ Geräte bereit.

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).

sRemoteHost: Die remote IP-Adresse (IPv4) des UDP Client/Server-Sockets als String (z.B. '2.17.54.239').

sDirectedBroadcastAddress: Die IP-Adresse (IPv4) für 'directed broadcasts‘ als String (z.B. '2.255.255.255').
Diese Addresse wird im 'Broadcast-Modus' verwendet, aber auch zum Versenden von 'ArtPoll'- und 'ArtPollReply'-Telegrammen.

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

tCycleTimeTransmit: Bestimmt den Zyklus, in dem die Telegramme versendet werden (z.B. t#20ms).

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

stDmxData: Diese Struktur beinhaltet die zu sendenden Daten.

VAR_OUTPUT

    bBusy                     : BOOL;
    bError                    : BOOL;
    nErrorID                  : UDINT;
    stFrameCounterErrorID     : ST_FrameCounter;

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.

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

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.