FB_SoERead_ByDriveRef

FB_SoERead_ByDriveRef 1:

 

Mit dem Funktionsbaustein FB_SoeRead_ByRef können Antriebs-Parameter mit Hilfe des "Servo Drive Profile over EtherCAT"(SoE) Protokolls gelesen werden. Dazu muss der Slave eine Mailbox besitzen und das SoE Protokoll unterstützen. Der zu lesende Antriebs-Parameter wird mit den Parametern nIdn ( Identification number), nElement und stDriveRef spezifiziert. 

VAR_INPUT

VAR_INPUT
    stDriveRef      : ST_DriveRef; (* contains sNetID of EcMaster, nSlaveAddr of EcDrive, nDriveNo of EcDrive, either preset or read from NC *)
    nIdn            : WORD; (* SoE IDN: e.g. "S_0_IDN + 1" for S-0-0001 or "P_0_IDN + 23" for P-0-0023*)
    nElement        : BYTE; (* SoE element.*)
    pDstBuf         : DWORD; (* Contains the address of the buffer for the received data. *)
    cbBufLen        : UDINT; (* Contains the max. number of bytes to be received. *)
    bExecute        : BOOL; (* Function block execution is triggered by a rising edge at this input.*)
    tTimeout        : TIME := DEFAULT_ADS_TIMEOUT;(* States the time before the function is cancelled. *)
END_VAR

stDriveRef: Die Referenz auf den Antrieb kann im System Manager direkt in die SPS gelinkt werden. Hierzu muss eine Instanz der ST_PlcDriveRef verwendet werden und die NetID vom Bytearray in einen String konvertiert werden. Siehe ST_DriveRef.

nIdn: Identifikations-Nummer des zu lesenden Parameters.

nElement: Element-Nummer des zu lesenden Parameters. Folgende Werte sind zulässig:

Wert

Beschreibung

0x01

Data Status

0x02

Name (read only)

0x04

Attribut

0x08

Einheit

0x10

Minimum

0x20

Maximum

0x40

Wert

0x80

Default

pDstBuf: Die Adresse (Pointer) auf den lesenden Puffer.

cbBufLen: Die maximal verfügbare Puffergröße für die zu lesenden Daten in Bytes.

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

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

 

VAR_OUTPUT

VAR_OUTPUT
    bBusy           : BOOL;
    bError          : BOOL;
    iAdsErrId       : UINT;
    iSercosErrId    : UINT;
    dwAttribute     : DWORD;
END_VAR

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

bError: Dieser Ausgang wird, nachdem der bBusy-Ausgang zurückgesetzt wurde, gesetzt, sollte ein Fehler bei der Übertragung des Kommandos erfolgen.

iAdsErrId: Liefert bei gesetztem bError-Ausgang den ADS-Fehlercode des zuletzt ausgeführten Befehles

iSercosErrId: Liefert bei gesetztem bError-Ausgang den Sercos-Fehler des zuletzt ausgeführten Befehles

 

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.10.0 oder höher

PC or CX (x86)

TcEtherCAT.Lib
( Standard.Lib; TcBase.Lib; TcSystem.Lib, TcUtilities.Lib werden automatisch eingebunden )

TwinCAT v2.10.0 Build >= 1301 oder höher

CX (ARM)