FB_CUSTOM_SERVICE
Der Funktionsbaustein FB_CUSTOM_SERVICE ermöglicht es, nahezu beliebige CIP Dienste selber zu erstellen.
VAR_INPUT
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
sNetId: AMSNetId des TwinCAT EtherNet/IP Scanners über den der Befehl laufen soll
sIPv4Addr: IP Adresse des Ziel Teilnehmers
bExecute: Positive Flanke startet den Befehl
nServiceCode: Service Code des CIP Dienst
nClasss: Class Nummer des CIP Dienst
nInstance: Instance Nummer des CIP Dienst
nAttribut: Attribut Nummer des CIP Dienst
pDst: Pointer auf die Variable in die der Wert kopiert werden soll (ermitteln des Pointers mit ADR)
nMaxLen: Größe der Variable auf die der Pointer pDst zeigt (ermitteln mit SizeOf)
pSrc: Pointer auf die Variable die den Wert enthält für das Versenden des Dienstes (ermitteln des Pointers mit ADR)
nSrcDataLen: Größe der Variable 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 Variable.
nSessionTimeoutMSec: TimeOut für die Session, Default 30 sec
nCmdTimeoutMSec: TimeOut für das Kommando, Default 7,5 sec
bRackComm: TRUE wenn es sich um eine Modulare CPU handelt, also eine CPU mit einem Rack Aufbau zum Beispiel eine CompactLogix
nPort: Port Nummer der CPU (das TF6281 unterstützt aktuell nur Port 1)
nSlot: Slot Nummer wenn die CPU nicht auf Slot 0 steckt
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
nDataLen : WORD;
END_VAR
bBusy: 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: Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.
nErrId: Liefert bei einem gesetzten bError-Ausgang eine Fehlernummer.
nDataLen: Liefert die Anzahl an gültigen Daten (Anzahl der Bytes) zurück