FB_Dpv1ReadPNET
Der Funktionsbaustein FB_Dpv1ReadPNET liest einen oder mehrere Parameter eines Sinamics Profidrive via DPV1 (Profidrive specification 3.1) via Profinet. Das DPV1 Lesetelegramm muss mit F_CreateDpv1ReadReqPkgPNET erstellt werden, bevor an bExecute eine steigende Flanke ansteht. Das DPV1 Antworttelegramm muss mit F_SplitDpv1ReadResPkgPNET ausgewertet werden, nach dem bBusy eine fallende Flanke anzeigt.
Die Ausführung dieses Funktionsbausteins benötigt einige Zeit, abhängig von der Anzahl der Parameter, die gelesen werden sollen. Der Funktionsbaustein sendet das DPV1 Telegramm und pollt nach einem Antworttelegramm.
Eingänge
VAR_INPUT
bExecute : BOOL;(* drive access info *)
aNetId : T_AmsNetId; (* NetID of Profibus Master EL6631 *)
iProfinetPort : UINT; (* Port of ProfiDrive *)
iDriveId : USINT; (* 0..255 possible *)
pDpv1ReqData : POINTER TO ARRAY [1..iMAX_DPV1_SIZE_PNET_REQ] OF BYTE;
iDpv1ReqDataLen : UDINT;
pDpv1ResData : POINTER TO ARRAY [1..iMAX_DPV1_SIZE_PNET_RES] OF BYTE;
iDpv1ResDataLen : UDINT;
tTmOut : TIME;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bExecute | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert. |
aNetId | T_AmsNetID | Die Netzwerkadresse des Profibus Master Gerätes (siehe ADS-Tab des Profibus Master Gerätes in der I/O-Konfiguration im TwinCAT System) |
iProfinetPort | UINT | Die Profinet Port-Nummer des Antriebs. Das ist eine Adresse für mehrere Achsen, spezifiziert im TwinCAT-System in der I/O-Konfiguration. |
iDriveID | USINT | Die ID ist 1 für die ControllerUnit, 2 für das Antriebsobjekt A, 3 für das Antriebsobjekt B eines Doppel/Dreifach-Antriebs. Die Drive ID wird in der Starter Software gesetzt. 1..16 ist möglich. |
pDpv1ReqData | POINTER TO ARRAY | Zeiger auf ein Array von 240 Bytes, das das DPV1 Lesetelegramm enthält. Dieses Telegramm muss von der Funktion F_CreateDpv1ReadReqPkg erstellt werden, bevor das DPV1 Lesen via bExecute aktiviert wird. |
iDv1ReqDataLen | UDINT | Maximale Länge des DPV1 Datapuffer (240 bytes). |
pDpv1ResData | POINTER TO ARRAY | Zeiger auf ein Array von 240 Bytes, das das DPV1 Leseantworttelegramm enthält. Dieses Telegramm muss von der Funktion F_SplitDpv1ReadResPkg ausgewertet werden nachdem auf bBusy eine negative Flanke erscheint. |
iDpv1ResDataLen | UDINT | Maximale Länge des DPV1 Antwort-Datapuffers (240 bytes). |
tTmOut | TIME | Maximale Zeit die bei der Ausführung des Kommandos nicht überschritten werden soll. |
Ein-/Ausgänge
VAR_OUTPUT
iRequestRef : USINT; (* 1..127; 0: reserved *)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
iRefRequest | USINT | Referenz, die mit jedem Telegramm automatisch hochgezählt wird. Die Referenz wird für die Zuordnung der Antworten auf die Schreib/Lese-Anforderungen benötigt. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
bErrorValues : BOOL;
iErrId : UDINT;
iErrorClass : BYTE;
iErrorCode : BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Der Ausgang geht auf TRUE sobald der Funktionsbaustein via bExecute aktiviert wurde und bleibt so lange TRUE, wie der Baustein keine Antwort erhalten hat. |
bError | BOOL | Bei Fehlern geht der Ausgang auf TRUE und bBusy auf FALSE. |
bErrorValues | BOOL | Ist TRUE wenn der DPV1 Read nicht oder nur teilweise erfolgreich war. Die Fehlerursachen werden über die Fehler-ID geliefert (sowie Class und Code). |
iErrId | UDINT | Liefert die ADS Fehlernummer oder funktionsbausteinspezifische Fehlernummern, wenn bError = TRUE. |
iErrClass | BYTE | Profidrive Fehlerklasse |
iErrCode | BYTE | Profidrive Fehlercode |
Funktionbausteinspezifische Fehlercodes | Beschreibung |
---|---|
0x2 | Falsche Antwortreferenz |
0x3 | DPV1 Read fehlerhaft oder teilweise fehlerhaft |
0x4 | Falsche Antwort-ID |
other error IDs | Siehe ADS Fehlercodes |
Fehlerklassen | Beschreibung | Fehlercode |
---|---|---|
0x0 - 0x9 | Reserviert | - |
0xA | Anwendungsfehler | 0x0: Lesefehler |
0xB | Zugriffsfehler | 0x0: ungültiger Index (kein Datenblock DB47, Parameterzugriff wird nicht unterstützt) |
0xC | Resourcefehler | 0x0: Lesekonflikt |
0xD - 0xF | Benutzerdefinierte Fehler | - |
Voraussetzungen
Entwicklungsumgebung |
Zielplattform |
IO Hardware |
Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|---|
TwinCAT v3.1.0 |
PC oder CX (x86) |
Beckhoff EL6632 |
Tc2_IoFunctions (IO) |