ST_Dpv1ParamAddrEx
TYPE ST_Dpv1ParamAddrEx
ST_Dpv1ParamAddrEx enthält die Daten eines Profidrive-Parameters.
TYPE ST_Dpv1ParamAddrEx :
STRUCT
(* parameter *)
iAttribute : USINT; (* 0x10: Wert; 0x20: Beschreibung; 0x30: Text; 0x80..F0: herstellerspezifisch; else: reserviert *)
iNumOfElements : USINT; (* 1..234: Anzahl der Elemente; 0: Spezialfunktionen; else: reserviert *)
iParameterNumber : UINT; (* 1..65535: Parameternummer; 0: reserviert *)
iSubIndex : UINT; (* 0..65535: Unterindex *)
iDataAddr : UDINT; (* Adresse des Puffers/Adresse der SPS-Variablen *)
iDataSize : UDINT; (* Größe des Puffers/Größe der SPS-Variablen *)
eFormat : E_PD_Datatype; (* 0x01..0x36: Datentyp; 0x40: ZERO; 0x41: BYTE; 0x42: WORD; 0x43: DWORD; 0x44: Fehler; else reserviert *)
iNumOfValues : UINT; (* 0..234: Anzahl der WErte; else: reserviert *)
iErrorValue : UDINT; (* DPV1 Fehlerwert *)
stError : ST_PD_Dpv1Error;(* DPV1 Fehlerflag, DPV1 Fehleraufzählungstyp *)
END_STRUCT
END_TYPE
TYPE E_PD_Datatype
E_PD_Datatype enthält die möglichen Datentypen eines Profidrive-Parameters
TYPE E_PD_Datatype : (
ePD_UNDEFINED := 0,
ePD_BOOL := 1, (* 0/1 (not impl.) *)
ePD_INT08 := 2, (* -128 .. 127 *)
ePD_INT16 := 3, (* -32768 .. 32767 *)
ePD_INT32 := 4, (* -2147483648 .. 2147483647 *)
ePD_UINT08 := 5, (* 0 .. 255 *)
ePD_UINT16 := 6, (* 0 .. 65535 *)
ePD_UINT32 := 7, (* 0 .. 4294967295 *)
ePD_FLOAT := 8, (* IEEE 754 *)
ePD_VSTRING := 9, (* ISO/IEC 646, variable length
*)
ePD_OCTSTRING := 10, (* bytearray, variable length
*)
ePD_TIMEOFDAY_WDI := 12, (* 6 Bytes:
4 bytes ms
+ 2 bytes day since 1.1.1984
*)
ePD_TIMEDIFF := 13, (* 4|6 Bytes:
4 bytes ms
+ optional 2 bytes days
*)
ePD_N2_16BIT := 33,
ePD_N4_32BIT := 34,
ePD_V2_BITSEQ := 35,
ePD_L2_NIBBLE := 36,
ePD_R2_RECIP_TC := 37,
ePD_T2_TC_16BIT := 38,
ePD_T2_TC_32BIT := 39,
ePD_D2_TC := 40,
ePD_E2_FIXPT_16 := 41,
ePD_C2_FIXPT_32 := 42,
ePD_X2_NV_16 := 43,
ePD_X4_NV_32 := 44,
ePD_DATE := 50, (* 7 Bytes:
2 bytes ms
+ 2 bits (res.), 6 bits
(minutes)
+ 1 bit (0: StdTime/1:
DaylightSavingTime), 2 bits (res.), 5 bits (hours)
+ 3 bits (DayOfWeek), 5 bits
(DayOfMonth)
+ 2 bits (res.), 6 bits
(month)
+ 1 bit (res.), 7 bits (year)
*)
ePD_TIMEOFDAY_NODI := 52, (* 0 .. 268435455 ms *)
ePD_TIMEDIFF_WDI := 53, (* 6 Bytes:
4 bytes ms
+ 2 bytes days *)
ePD_TIMEDIFF_NODI := 54, (* 0 .. 4294967295 ms *)
ePD_ZERO := 64,
ePD_BYTE := 65,
ePD_WORD := 66,
ePD_DWORD := 67,
ePD_ERROR := 68
);
END_TYPE
TYPE ST_PD_Dpv1Error
TYPE ST_PD_Dpv1Error :
STRUCT
bError : BOOL;
eErrorId : E_PD_Dpv1Error;
END_STRUCT
END_TYPE
TYPE E_PD_Dpv1Error
E_PD_Dpv1Error lists the DPV1-Error IDs:
TYPE E_PD_Dpv1Error : (
ePD_Err_ParamNumber := 0, (* Unzulässige
Parameternummer *)
ePD_Err_ParamReadOnly := 1, (* Parameterwert
nicht änderbar *)
ePD_Err_ValueOutOfRange := 2, (* Untere oder
obere Wertgrenze überschritten *)
ePD_Err_InvalidSubIndex := 3, (* Fehlerhafter
Subindex *)
ePD_Err_NoArray := 4, (* Kein Array
*)
ePD_Err_WrongDataType := 5, (* Falscher
Datentyp *)
ePD_Err_OnlyResetPermitted := 6, (* Kein Setzen
errlaubt (nur Rücksetzen) *)
ePD_Err_DescNotChangable := 7, (*
Beschreibungselement nicht änderbar *)
ePD_Err_DescNotFound := 9, (*
Beschreibungselement nicht vorhanden *)
ePD_Err_NoPermissionToChange := 11, (* Keine
Bedienhoheit *)
ePD_Err_NoTextArray := 15, (* Kein Textarray
vorhanden *)
ePD_Err_JobNotExecutable := 17, (* Auftrag wegen
Betriebszustand nicht ausführbar *)
ePD_Err_ValueInvalid := 20, (* Wert unzulässig
*)
ePD_Err_ResponseToLong := 21, (* Antwort zu lang
*)
ePD_Err_ParamAddrInvalid := 22, (*
Parameteradresse unzulässig *)
ePD_Err_FormatInvalid := 23, (* Format
unzulässig *)
ePD_Err_NumOfValuesInvalid := 24, (* Anzahl Werte
nicht konsistent *)
ePD_Err_DriveObjNotExisting := 25, (* Antriebsobjekt
existiert nicht *)
ePD_Err_ParamDeactivated := 101, (* Parameter
momentan deaktiviert *)
ePD_Err_ParamNoWrIfEnabled := 107, (* Kein
Schreibzugriff bei freigegebenem Regler *)
ePD_Err_ParamInvalidUnit := 108, (* Unbekannte
Einheit *)
ePD_Err_ParamNoWrIfNotInitFbk := 109, (* Schreibzugriff
nur in Inbetriebnahmezustand Geber *)
ePD_Err_ParamWrIfInitMtr := 110, (* Schreibzugriff
nur in Inbetriebnahmezustand Motor *)
ePD_Err_ParamWrIfInitDrv := 111, (* Schreibzugriff
nur in Inbetriebnahmezustand Leistungsteil *)
ePD_Err_ParamWrIfFastInit := 112, (* Schreibzugriff
nur in Schnellinbetriebnahme *)
ePD_Err_ParamWrIfReady := 113, (* Schreibzugriff
nur in Bereit *)
ePD_Err_ParamWrIfInitParamReset := 114, (* Schreibzugriff
nur in Inbetriebnahmezustand Parameterreset *)
ePD_Err_ParamWrIfInitSafety := 115, (* Schreibzugriff
nur in Inbetriebnahmezustand Safety *)
ePD_Err_ParamWrIfInitTechApp := 116, (* Schreibzugriff
nur in Inbetriebnahmezustand Tech.Appl./Einheiten *)
ePD_Err_ParamWrIfInit := 117, (* Schreibzugriff
nur in Inbetriebnahmezustand *)
ePD_Err_ParamWrIfInitDwnLd := 118, (* Schreibzugriff
nur in Inbetriebnahmezustand Download *)
ePD_Err_ParamNoWrtIfDwnLd := 119, (* Darf im
Download nicht geschrieben werden *)
ePD_Err_ParamWrIfInitDrvCfg := 120, (* Schreibzugriff
nur in Inbetriebnahmezustand Antriebskonfiguration *)
ePD_Err_ParamWrIfInitSetDrvType := 121, (* Schreibzugriff
nur in Inbetriebnahmezustand Festlegung Antriebstyp *)
ePD_Err_ParamWrIfInitDatasetCfg := 122, (* Schreibzugriff
nur in Inbetriebnahmezustand Datensatz-Basiskonfiguration *)
ePD_Err_ParamWrIfInitDevCfg := 123, (* Schreibzugriff
nur in Inbetriebnahmezustand Gerätekonfiguration *)
ePD_Err_ParamWrIfInitDevDwnLd := 124, (* Schreibzugriff
nur in Inbetriebnahmezustand Gerätedownload *)
ePD_Err_ParamWrIfInitDevPrmReset := 125, (* Schreibzugriff
nur in Inbetriebnahmezustand Geräteparameterreset *)
ePD_Err_ParamWrIfInitDevReady := 126, (* Schreibzugriff
nur in Inbetriebnahmezustand Gerät bereit *)
ePD_Err_ParamWrIfInitDevice := 127, (* Schreibzugriff
nur in Inbetriebnahmezustand Gerät *)
ePD_Err_ParamNoWriteIfDwnLd := 129, (* darf im
Download nicht geschrieben werden *)
ePD_Err_CtrlTakeOverBlocked := 130, (* Übernahme der
Steuerungshoheit über BICO gesperrt *)
ePD_Err_ParamBicoSetInvalid := 131, (* gewünschte
BICO-Verschaltung unmöglich *)
ePD_Err_ParamChangeBlocked := 132, (*
Parameteränderung gesperrt *)
ePD_Err_ParamNoAccessDefined := 133, (* Keine
Zugriffsmethode definiert *)
ePD_Err_BelowDefinedMinimum := 200, (* Unterhalb
aktuell gültiger Grenze *)
ePD_Err_AboveDefinedMaximum := 201, (* Oberhalb
aktuell gültiger Grenze *)
ePD_Err_WriteNotPermitted := 204 (* Schreiben nicht
erlaubt *)
);
END_TYPE