ST_Dpv1ValueHeaderEx

TYPE ST_Dpv1ValueHeaderEx

ST_Dpv1ValueHeaderEx enthält die Daten eines Parameters im DPV1 Telegramm und seine String-Repräsentation.

TYPE ST_Dpv1ValueHeaderEx :
STRUCT
    eFormat         : E_PD_Datatype; (* 0x01..0x36: Datentyp; 0x40: ZERO; 0x41: BYTE; 0x42: WORD; 0x43: DWORD; 0x44: Fehler; else reserviert *)
    iNumOfValues : USINT;  (* 0..234: Anzahl der Werte; else: reserviert *)
    iOffset      : USINT;  (* Offset im DPV1 Antworttelegramm *)
    iDataLen     : UINT;   (* Datenlänge *)
    strData      : STRING; (* Daten als STRING *)
END_STRUCT
END_TYPE

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