FB_CUSTOM_SERVICE

FB_CUSTOM_SERVICE 1:

Der Funktionsbaustein FB_CUSTOM_SERVICE ermöglicht es, nahezu beliebige CIP-Dienste selbst zu erstellen.

FB_CUSTOM_SERVICE 2: 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.

FB_CUSTOM_SERVICE 3: 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.