FB_CUSTOM_SERVICE

Der Funktionsbaustein FB_CUSTOM_SERVICE ermöglicht es, nahezu beliebige CIP-Dienste selbst zu erstellen.
Eingänge
VAR_INPUT
sNetId : T_AmsNetID;
sIPv4Addr : T_IPv4Addr;
bExecute : BOOL;
nServiceCode : BYTE;
nClass : WORD;
nInstance : WORD;
nAttribute : WORD;
pDst : POINTER TO BYTE;
nMaxLen : WORD;
pSrc : POINTER TO BYTE;
nSrcDataLen : WORD;
nSessionTimeoutMSec : DWORD;
nCmdTimeoutMSec : DWORD;
bRackComm : BOOL;
nPort : BYTE;
nSlot : BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sNetId | T_AmsNetID | AMSNetId des TwinCAT EtherNet/IP™ Scanners über den der Befehl laufen soll |
sIPv4Addr | T_IPv4Addr | IP-Adresse der Ziel-CPU. |
bExecute | BOOL | Positive Flanke startet den Befehl. |
nServiceCode | BYTE | Service Code des CIP Dienst. |
nClasss | WORD | Class-Nummer des CIP Dienst. |
nInstance | WORD | Instance-Nummer des CIP Dienst. |
nAttribute | WORD | Attribut Nummer des CIP Dienst. |
pDst | POINTER TO BYTE | Pointer auf die Variablen, in die der Wert kopiert werden soll (ermitteln des Pointers mit ADR). |
nMaxLen | WORD | Größe der Variablen, auf die der Pointer pDst zeigt (ermitteln mit SizeOf). |
pSrc | POINTER TO BYTE | Pointer auf die Variable, die den Wert enthält für das Versenden des Dienstes (ermitteln des Pointers mit ADR). |
nSrcDataLen | WORD | Größe der Variablen, auf die der Pointer pSrc zeigt (ermitteln mit SizeOf), bzw. Anzahl an Bytes, die verschickt werden sollen. In der Regel ist das die Größe der Variablen. |
nSessionTimeoutMSec | DWORD | TimeOut für die Session, Default 30 sec. |
nCmdTimeoutMSec | DWORD | TimeOut für das Kommando, Default 7,5 sec. |
bRackComm | BOOL | TRUE, wenn es sich um eine Modulare CPU handelt, also eine CPU mit einem Rack Aufbau zum Beispiel eine CompactLogix. |
nPort | BYTE | Portnummer der CPU (das TF6281 unterstützt aktuell nur Port 1). |
nSlot | BYTE | Slot-Nummer, wenn die CPU nicht auf Slot 0 steckt. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
nDataLen : WORD;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen. |
bError | BOOL | Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde. |
nErrId | UDINT | Liefert bei einem gesetzten bError-Ausgang eine Fehlernummer. |
nDataLen | WORD | Liefert die Anzahl an gültigen Daten (Anzahl der Bytes) zurück. |