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