FB_EcSetSlaveState

FB_EcSetSlaveState 1:

Mit dem Funktionsbaustein kann ein Slave in einen vorgegebenen EtherCAT-Zustand gesetzt werden. Der geforderte EtherCAT-Zustand wird in der Variablen reqState übergeben. Der Funktionsbaustein schickt den Befehl zum Zustandswechsel ab und bleibt im Unterschied zum Funktionsbaustein FB_EcRegSlaveState so lange aktiv, bis der EtherCAT-Slave den neuen Zustand erreicht hat oder die maximale tTimeout-Zeit überschritten wird. Der aktuelle Zustand wird in der Variablen currState ausgegeben.

Siehe auch: FB_EcReqSlaveState

FB_EcSetSlaveState 2: Eingänge

VAR_INPUT
    sNetId     : T_AmsNetId;
    nSlaveAddr : UINT;     
    bExecute   : BOOL; 
    tTimeout   : TIME := T#10s; 
    reqState   : WORD; 
END_VAR

Name

Typ

Beschreibung

sNetId

T_AmsNetId

String, der die AMS-Netzwerkerkennung des EtherCAT-Master-Gerätes enthält. (Typ: T_AmsNetId)

nSlaveAddr

UINT

Feste Adresse des EtherCAT-Slaves, dessen EtherCAT-Zustand gesetzt werden soll.

bExecute

BOOL

Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.

tTimeout

TIME

Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf.

reqState

WORD

EtherCAT-Zustand, in den der Slave gesetzt werden soll. (Siehe reqState)

reqState

EtherCAT-Zustand, in den der Slave gesetzt werden soll. Die möglichen Werte für reqState sind:

Konstante

Wert

Beschreibung

EC_DEVICE_STATE_INIT

0x01

Slave in den Init-Zustand setzen

EC_DEVICE_STATE_PREOP

0x02

Slave in den Pre-Operational-Zustand setzen

EC_DEVICE_STATE_BOOTSTRAP

0x03

Slave in Bootstrap-Zustand setzen. Dieser Zustand wird verwendet, um ein Firmware-Download durchzuführen.

EC_DEVICE_STATE_SAFEOP

0x04

Slave in den Safe-Operational-Zustand setzen

EC_DEVICE_STATE_OP

0x08

Slave in den Operational-Zustand setzen

EC_DEVICE_STATE_ERROR

0x10

Wenn bei dem EtherCAT-Slave das Error-Bit im Status-Byte gesetzt ist (currState.deviceState AND EC_DEVICE_STATE_ERROR = TRUE), kann das Error-Bit durch Setzen von EC_DEVICE_STATE_ERROR wieder zurückgesetzt werden.

FB_EcSetSlaveState 3: Ausgänge

VAR_OUTPUT
    bBusy     : BOOL;
    bError    : BOOL;
    nErrId    : UDINT;
    currState : ST_EcSlaveState;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Dieser Ausgang wird bei der Aktivierung des Funktionsbausteins gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

bError

BOOL

Dieser Ausgang wird gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde, wenn bei der Übertragung des Kommandos ein Fehler auftritt.

nErrId

UDINT

Liefert bei einem gesetzten bError-Ausgang den ADS-Fehlercode des zuletzt ausgeführten Befehls.

currState

ST_EcSlave
State

Aktueller EtherCAT-Zustand des Slaves

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS- Bibliotheken

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_EtherCAT