FB_SoEWrite_ByDriveRef
Mit dem Funktionsbaustein FB_SoeWrite_ByRef können Antriebs-Parameter mit Hilfe des "Servo Drive Profile over EtherCAT"(SoE) Protokolls beschrieben werden. Dazu muss der Slave eine Mailbox besitzen und das SoE Protokoll unterstützen. Der zu schreibende 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.*)
pSrcBuf : DWORD; (* Contains the address of the buffer containing the data to be send. *)
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 |
pSrcBuf: Die Adresse (Pointer) auf den sendenden 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 |
TwinCAT v2.10.0 Build >= 1301 oder höher | CX (ARM) |