//This file was generated by the LASAL2 CodeGenerator  -- 
//Please, do not edit this file (it might be overwritten by the next generator run)
#RE_IN_DE
#pragma define (store)
#if _LSL_COMPILERVERSION >= 42
_LMCModuleBase : CLASS;
HwcLogging : CLASS;
SigCLib : CLASS;
#endif
_AxisBase : CLASS_PUBLIC
	TYPE
	  _LMCAXIS_POSINFOMODE :
	  (
	    POSINFO_TIME,
	    POSINFO_DISTANCE
	  )$UDINT;
	  _LMCAXIS_READPARAMETER_LREAL :
	  (
	    LMCAXIS_PAR_RD2_JMAX,
	    LMCAXIS_PAR_RD2_ACC
	  )$UDINT;
	  CmdControl :
	  (
	    IPRPowerOn,
	    IPRPowerOff,
	    IPRMoveRelative,
	    IPRMoveAbsolute,
	    IPRMoveReference,
	    IPRMoveEndless,
	    IPRMoveHand,
	    IPRStopMove,
	    IPRCoupleGearVelocity,
	    IPRCoupleDeltaPos,
	    IPRCoupleUserPos,
	    IPRCoupleProfilePos,
	    IPRCoupleGearRelative,
	    IPRCoupleGearAbsolute,
	    IPRCoupleCurveTab,
	    IPRSetSWEndPos,
	    IPRSetPosition,
	    IPRChangeCoupleSettings,
	    IPRTuneAxis,
	    IPRReadPosition,
	    IPRReadVelocity,
	    IPRInPosition,
	    IPRReadAxisStatus,
	    IPRReadAxisError,
	    IPRReadMasterInfo,
	    IPRSetFollowMode,
	    IPRReferenceReady,
	    IPRInpositionOk,
	    IPRCoupleGearPolynom,
	    IPRSetParameter,
	    IPRSetAdjustment,
	    IPRReadParameter,
	    IPRReadSWEndPos,
	    IPRCalcMovingTime,
	    IPRQuitError,
	    IPRCalcMaxSlavePath,
	    IPRCalcExtToAppliPos,
	    IPRReadUserData,
	    IPRGetMasterInformation,
	    IPR_SetErrorToMasterCoupleMonitoring,
	    IPRSetSafetyState,
	    IPRGetSafetyState
	  )$UINT;
	  t_e_LMCAXIS_GETSAFETYPARAMETER :  //! <Type Public   = "true" Comment  = "Public type which defines the allowed parameters of method GetSafetyData(). Check the comments of the single enum entries for more detailed information of the parameter.&#13;&#10;Available parameters:&#13;&#10;LMCAXIS_PAR_GET_SAFETY_SAFETYERROR - Reads the safety error information from either safety core 1 or safety core 2 (use mode to choose)&#13;&#10;LMCAXIS_PAR_GET_SAFETY_VERIFYSTATE - Reads the verify state of the connected axis. Does no trigger reading the a new value - the stored result of the hardware class is returned.&#13;&#10;LMCAXIS_PAR_GET_SAFETY_REFERENCESTATE - Reads the reference state of the connected axis. Does no trigger reading the a new value - the stored result of the hardware class is returned.&#13;&#10;LMCAXIS_PAR_GET_SAFETY_SBTSTATE - Reads the SBT state of the connected axis. Command triggers reading a new value by itself." Revision = "1.0" Name     = "t_e_LMCAXIS_GETSAFETYPARAMETER"> <RevDoku>  <Owner Company="Sigmatek"/>  <Dokumentation Revision="1.0" Date="2023-07-17" Author="StePhi" Company="Sigmatek" Description="Initial version of type"/> </RevDoku></Type>
	  (
	    LMCAXIS_PAR_GET_SAFETY_SAFETYERROR,
	    LMCAXIS_PAR_GET_SAFETY_SAFETYFUNCERROR,
	    LMCAXIS_PAR_GET_SAFETY_VERIFYSTATE,
	    LMCAXIS_PAR_GET_SAFETY_REFERENCESTATE,
	    LMCAXIS_PAR_GET_SAFETY_SBTSTATE,
	    LMCAXIS_PAR_GET_SAFETY_RUNSTATE,
	    LMCAXIS_PAR_GET_SAFETY_CNTRLSTATEWORD
	  )$UDINT;
	  t_e_LMCAXIS_SETSAFETYPARAMETER :  //! <Type Public   = "true" Comment  = "Public type which defines the allowed parameters of method SetSafetyData(). Check the comments of the single enum entries for more detailed information of the parameter.&#13;&#10;Available parameters:&#13;&#10;LMCAXIS_PAR_SET_SAFETY_SETVERIFY - Command sends a verify command to the connected axis. The command automatically reads the verify state afterwards.&#13;&#10;LMCAXIS_PAR_SET_SAFETY_CLEARVERIFY - Command sends a clear verify command to the connected axis. The command automatically reads the reference state afterwards.&#13;&#10;LMCAXIS_PAR_SET_SAFETY_CLEARREFERENCE - Command sends a clear reference command to the connected axis. The command automatically reads the reference state afterwards." Revision = "1.0" Name     = "t_e_LMCAXIS_SETSAFETYPARAMETER"> <RevDoku>  <Owner Company="Sigmatek"/>  <Dokumentation Revision="1.0" Date="2023-07-17" Author="StePhi" Company="Sigmatek" Description="Initial version of type"/> </RevDoku></Type>
	  (
	    LMCAXIS_PAR_SET_SAFETY_SETVERIFY,
	    LMCAXIS_PAR_SET_SAFETY_CLEARVERIFY,
	    LMCAXIS_PAR_SET_SAFETY_CLEARREFERENCE,
	    LMCAXIS_PAR_SET_SAFETY_QUITERROR,
	    LMCAXIS_PAR_SET_SAFETY_CHANGESERVICEMODE
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk _DriveAxisBase
_DriveAxisBase : CLASS_PUBLIC
#include "..\Class\_DriveMngBase\SDDDefinitions.h"
#include "..\Class\HwControl\HwControl.h"
#include "..\Class\_DriveAxisBase\_DriveAxis_A_INT_Def.h"
	TYPE
#pragma pack(push, 1)
	  _SDDMEMHEADER : STRUCT
	    udCRC32 : UDINT;
	    udLen : UDINT;
	    udVersion : UDINT;
	    AxOffset : DINT;
	    AxLength : UDINT;
	    AxName : ARRAY [0..20] OF CHAR;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk _DriveMngBase
_DriveMngBase : CLASS_PUBLIC
#include "..\Class\_DriveMngBase\SDDDefinitions.h"
#include "..\class\_drivemngbase\drivemngbase.h"
	TYPE
#pragma pack(push, 1)
	  _SDDBFENTRY : STRUCT
	    bFinished : DINT;
	    uiParaIndex : UINT;
	    usParaSubIndex : USINT;
	    usRDWR : USINT;
	    bsDataInfo : BSINT
	    [
	      1 DataLength1,
	      2 DataLength2,
	      3 res1,
	      4 res2,
	      5 Offset1,
	      6 Offset2,
	      7 res3,
	      8 res4,
	    ];
	    dValue : ARRAY [0..11] OF USINT;
	    pThisObj : ^void;
	    usEntry : USINT;
	    bSent : BOOL;
	    udTimeStamp : UDINT;
	    udTimeoutCycles : UDINT;
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  _SDDRINGBUFFER : STRUCT
	    pStart : ^_SDDBFENTRY;
	    pEnd : ^_SDDBFENTRY;
	    pRead : ^_SDDBFENTRY;
	    pWrite : ^_SDDBFENTRY;
	    ActEntries : DINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
_DriveSafetyIFParaBase : CLASS_PUBLIC
#include "..\Source\DriveSafetyIF.h"
	TYPE
	  MDD2000_ISTATE : BDINT
	  [
	    1 Free1,
	    2 MainsFault,
	    3 Overcurrent,
	    4 OverVoltageDCLink,
	    5 UnderVoltageDCLink,
	    6 MalfunctionMotorPhase,
	    7 HoldingBrakeError,
	    8 FirmwareException,
	    9 SystemError,
	    10 MotorThermostat,
	    11 TemperatureError,
	    12 Free12,
	    13 FeedbackError,
	    14 CommutationError,
	    15 OverSpeed,
	    16 ContouringError,
	    17 TrajectoryError,
	    18 HostCommunicationError,
	    19 DualUseError,
	    20 Free20,
	    21 Free21,
	    22 LowVoltageError,
	    23 RegenResistorError,
	    24 Free24,
	    25 SafetyError,
	    26 I2TError,
	    27 Free27,
	    28 MotorParameterError,
	    29 MultiturnPositionError,
	    30 GroundFault,
	    31 OptionalencoderError,
	    32 FanError,
	  ];
	END_TYPE
END_CLASS;
#pragma define (restore)
_LMCRefBase : CLASS_PUBLIC
	TYPE
#pragma pack(push, 1)
	  _LMCAXIS_REFDATA : STRUCT
	    Status : iprStates;
	    Velocity : DINT;
	    Acc : DINT;
	    vSetRef1 : DINT;
	    vSetRef2 : DINT;
	    PosWindow : DINT;
	    LatchPosRef : DINT;
	    Speed : DINT;
	  END_STRUCT;
#pragma pack(pop)
	  _LMCREF_READPARAMETER :
	  (
	    ZPULSE_DIST
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk _LMCAxisBase
_LMCAxisBase : CLASS_PUBLIC
: _AxisBase
#include <.\lsl_st_systrace.h>
#include "..\Class\_LMCAxisBase\C_MathAxis.h"
#include "..\Class\_LMCAxisBase\_LMCTraceView.h"
#include "..\Class\_LMCAxisBase\BacklashLogin.h"
#include "..\Class\_LMCAxisBase\TorqueHandlingLogin.h"
	TYPE
	  _CommandList :
	  (
	    CPowerOn,
	    CPowerOff,
	    CInposition,
	    CMoveHand,
	    CMoveEndless,
	    CMoveAbsolut,
	    CMoveReference,
	    CMoveRelative,
	    CStopMove,
	    CCoupleGearAbsolute,
	    CCoupleGearRelative,
	    CCoupleGearVelocity,
	    CCoupleCurveTab,
	    CCoupleUserPos,
	    CCoupleUserPosExtended,
	    CCoupleDeltaPos,
	    CCoupleDeltaPosExtended,
	    CCoupleProfilePos,
	    CCoupleProfilePosExtended,
	    CSetPosition,
	    CSetAutoOffset,
	    CSetCoupleParameter,
	    CSetParameter,
	    CReadPosition,
	    CSetSWEndPos,
	    CReadSWEndPos,
	    CReadAxisError,
	    CReadAxisStatus,
	    CReadMasterInfo,
	    CReadVelocity,
	    CReadParameter,
	    CTuneAxis:=28,
	    CInternModuloOverFlow:=29,
	    CFollowMode:=30,
	    CCoupleGearPolynom:=31,
	    CCoupleAdditivePosDiff:=32,
	    CCoupleCAM,
	    CMoveShortestWay,
	    CCalcMovingTime,
	    CQuitError,
	    CCalcMaxSlavePath,
	    CCalcExtToAppliPos,
	    CChangeMoveSettings,
	    CGetPosInfoBeforeRampDown,
	    CSetDynSWEndPos,
	    CQuickStop,
	    CSetSafetyData,
	    CGetSafetyData,
	    CStorePosition:=1001,
	    CDeleteStoredData
	  )$UDINT;
	  _CoupleMonitorExtendedConfig : BDINT
	  [
	    1 ReportErrorToMaster,
	    2 ReportSlaveErrorToMaster,
	    3 ReportMasterErrorToSlave,
	    4 ReportSlaveErrorToSlave,
	    5 SwLimitMonitoring,
	    6 PowerOffMonitoring,
	  ];
	  _LogStruct : STRUCT
	    Command : _CommandList;
	    CommandoResult : _LMCAXIS_CMDERROR;
	    TimeStamp : UDINT;
	    RTStamp : UDINT;
	  END_STRUCT;
	  _LogFile : STRUCT
	    Logmode : DINT;
	    AccesNr : DINT;
	    LogData : ARRAY [0..101] OF _LogStruct;
	  END_STRUCT;
	  t_BLMMeasFlags : BINT
	  [
	    1 StartMeasurement,
	    2 DoMeasurement,
	    3 FinishedMeasurement,
	    4 BLValueDetected,
	    5 BLAmountNegCalced,
	    6 BLAmountPosCalced,
	    7 GetHWInfo,
	    8 HWInfoError,
	    9 DoBLValCorrection,
	    10 InvCurr,
	    11 Bit11,
	    12 Bit12,
	    13 Bit13,
	    14 Bit14,
	    15 Bit15,
	    16 DoMeasurementError,
	  ];
	  t_BLCCompFlags : BINT
	  [
	    1 DirFlg,
	    2 TransitionActive,
	    3 Enabled,
	    4 EnabledMarker,
	    5 UseTable,
	    6 CallTable,
	    7 CalcBL,
	    8 Standstill,
	    9 StandstillMarker,
	    10 MoveDirChanged,
	    11 ValidTable,
	    12 Bit12,
	    13 Bit13,
	    14 Bit14,
	    15 TransferBLAmountError,
	    16 ExecuteBacklashError,
	  ];
	  t_e_THCmdClassSvr :
	  (
	    IPRLMCTorqueHandling_CheckConnection:=91,
	    IPRLMCTorqueHandling_SetControlParas,
	    IPRLMCTorqueHandling_ExecutionState,
	    IPRLMCTorqueHandling_StoreMoveCommand,
	    IPRLMCTorqueHandling_GetDragPointer
	  )$UDINT;
	  t_s_LMCAxis_SafetyState : BDINT  //! <Type Public   = "true" Comment  = "Public type defining the safety axis state information of SafetyAxisState server." Revision = "1.0" Name     = "t_s_LMCAxis_SafetyState"> <RevDoku>  <Owner Company="Sigmatek"/>  <Dokumentation Revision="1.0" Date="2023-07-17" Author="StePhi" Company="Sigmatek" Description="Initial version of type"/> </RevDoku></Type>
	  [
	    1 SafeAxis,
	    2 SpeedLimited,
	    3 AxisReady,
	    4 AxisOperational,
	    5 AxisError,
	    6 ServiceModePending,
	    7 SafeErrorQuitPending,
	    8 AxisVerified,
	    9 AxisVerifyFailed,
	    10 AxisReferenced,
	    11 AxisReferenceActive,
	    12 AxisReferenceNeeded,
	    13 AxisReferenceFailed,
	    14 SBTAvailable,
	    15 SBTActive,
	    16 SBTFailed,
	    17 FSoESetupFailed,
	    18 AutomaticSS2Active,
	  ];
	  te_BLCmdClassSvr :
	  (
	    IPBLCGetPointerBacklash:=51,
	    IPBLCSetBacklashAmount,
	    IPBLCGetPointerBLCompFlags,
	    IPBLCExecute,
	    IPBLCSetPointerSetPosVel,
	    IPBLCSetTimeBase,
	    IPBLCDetectMoveDirChange,
	    IPBLCReset,
	    IPBLMGetPointerBacklashValue:=71,
	    IPBLMDoMeasurement,
	    IPBLMGetPointerMeasFlags,
	    IPBLMSetTimeBase,
	    IPBLMSetExtIntUnits,
	    IPBLMSetPlaceAxisNo,
	    IPBLMSetCurrSign,
	    IPBLMReset
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk _LMCMathFunctions
_LMCMathFunctions : CLASS_PUBLIC
#include "..\Class\_LMCMathFunctions\C_MathFunct.h"
	TYPE
#pragma pack(push, 4)
	  _coeff_ : STRUCT
	    coA : LREAL;
	    coB : LREAL;
	    coC : LREAL;
	    coD : LREAL;
	    coE : LREAL;
	  END_STRUCT;
#pragma pack(pop)
	  _COORD_2D : ARRAY [0..1] OF DINT;
#pragma pack(push, 4)
	  _LMC_VECTOR3 : STRUCT
	    coord_x1 : LREAL;
	    coord_x2 : LREAL;
	    coord_x3 : LREAL;
	  END_STRUCT;
#pragma pack(pop)
	  t_e_LMC_MoveProf_Jerk_ProfTypes :
	  (
	    LMC_ProfType_Jerk_TT,
	    LMC_ProfType_Jerk_TW,
	    LMC_ProfType_Jerk_WW,
	    LMC_ProfType_Jerk_WT,
	    LMC_ProfType_Jerk_XW,
	    LMC_ProfType_Jerk_XT
	  )$UDINT;
	  t_e_LMCMath_Retcodes :
	  (
	    LMCMathRet_NoError,
	    LMCMathRet_NegRoot,
	    LMCMathRet_InputErr,
	    LMCMathRet_NotPossible
	  )$UDINT;
#pragma pack(push, 1)
	  t_st_LMC_MoveProf_Jerk_Point : STRUCT
	    lrT : LREAL;
	    lrS : LREAL;
	    lrV : LREAL;
	    lrA : LREAL;
	    lrJ : LREAL;
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  t_st_LMC_MoveProf_Jerk : STRUCT
	    ProfileType : t_e_LMC_MoveProf_Jerk_ProfTypes;
	    aPts : ARRAY [0..9] OF t_st_LMC_MoveProf_Jerk_Point;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
_LMCPublisher : CLASS_PUBLIC
	TYPE
	  _Config_ : BDINT
	  [
	    1 VirtualAxis,
	    2 RealAxis,
	  ];
	  _LMCPublisher_Cmd :
	  (
	    _LOGINCMD:=123
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
_SerLib : CLASS_PUBLIC
	TYPE
	  CmdCommand :
	  (
	    StartUserIPR,
	    StopUserIPR,
	    SerCloseIPR,
	    SerSendIPR,
	    RecvCharIPR,
	    SetOnlineIPR,
	    GetRecvStateIPR,
	    GetSendStateIPR,
	    GetErrorIPR,
	    IsInitializedIPR,
	    ClearRecBufferIPR,
	    RtsOnOffIPR,
	    rdRtsIPR,
	    rdCtsIPR,
	    DtrOnOffIPR,
	    rdDtrIPR,
	    rdDcdIPR,
	    rdDsrIPR,
	    rdRiIPR,
	    SetRSModeIPR,
	    GetRSModeIPR,
	    GetInterfaceTypeIPR
	  )$UINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk _VaranDriveBase
_VaranDriveBase : CLASS_PUBLIC
	TYPE
#pragma pack(push, 1)
	  t_ReadValuePtr : STRUCT
	    a_SyncValues : ARRAY [0..4] OF DINT;
	    bs_InputStates : BSINT
	    [
	      1 OptionBoardInputState,
	    ];
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  t_WriteValuePtr : STRUCT
	    a_SyncValues : ARRAY [0..4] OF DINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
Controller : CLASS_PUBLIC
	TYPE
	  _LMCCONTROLLER_SETPARAMETER :
	  (
	    _LMCCONTROLLER_PAR_SET_CYCLIC_DRIVE_ENABLED_CHECK,
	    _LMCCONTROLLER_PAR_SET_QUICKSTOP_ERRORREACTION
	  )$UDINT;
	  t_e_LMCCONTROLLER_SAFETY_PARAM :
	  (
	    _LMCCONTROLLER_SAFETY_GETVERIFYSTATE,
	    _LMCCONTROLLER_SAFETY_GETREFERENCESTATE,
	    _LMCCONTROLLER_SAFETY_GETSAFETYRUNSTATE,
	    _LMCCONTROLLER_SAFETY_GETSBTSTATE,
	    _LMCCONTROLLER_SAFETY_GETSBTTESTTIME,
	    _LMCCONTROLLER_SAFETY_GETSBTMINTORQUE,
	    _LMCCONTROLLER_SAFETY_GETSBTTESTINTERVAL,
	    _LMCCONTROLLER_SAFETY_GETSAFETYERROR,
	    _LMCCONTROLLER_SAFETY_GETSAFETYFUNCERROR,
	    _LMCCONTROLLER_SAFETY_READAXISSTATE:=101,
	    _LMCCONTROLLER_SAFETY_GETSAFECNTRLSTATEWORD,
	    _LMCCONTROLLER_SAFETY_DOSAFETYAXERRORQUIT:=201,
	    _LMCCONTROLLER_SAFETY_SETVERIFYAXIS,
	    _LMCCONTROLLER_SAFETY_SETREFERENCEAXIS,
	    _LMCCONTROLLER_SAFETY_SETACKZEROPOSITION,
	    _LMCCONTROLLER_SAFETY_SETSBTSTATE,
	    _LMCCONTROLLER_SAFETY_SBTACTIVE,
	    _LMCCONTROLLER_SAFETY_CHANGESERVICEMODE,
	    _LMCCONTROLLER_SAFETY_LOGINAXIS:=301
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk MDD2000_AxisBase
MDD2000_AxisBase : CLASS_PUBLIC
#include "..\Class\HwControl\HwControl.h"
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
#include "..\class\_drivemngbase\drivemngbase.h"
#include "..\Class\_DriveEncoderMemory\_DriveEncoderMemory.h"
	TYPE
	  _MDD2000AXISSTATE : BDINT
	  [
	    1 NoHW,
	    2 NoParameter,
	    3 NotOnline,
	    4 NotInitialized,
	    5 SFFLimitationActive,
	    6 DiagModeActive,
	    7 SafeAxisNotVerified,
	    8 SafeAxisZeroPosNotSet,
	    9 SafeMngNotVerified,
	    10 SafeMngNotReady,
	  ];
#pragma pack(push, 1)
	  _MDD2000MEMHEADER : STRUCT
	    udCRC32 : UDINT;
	    udLen : UDINT;
	    udVersion : UDINT;
	    AxOffset : DINT;
	    AxLength : UDINT;
	    AxName : ARRAY [0..20] OF CHAR;
	  END_STRUCT;
#pragma pack(pop)
	  _MDD2000USERCMD :
	  (
	    _MDD2000IDLE,
	    _MDD2000READALL,
	    _MDD2000INIT,
	    _MDD2000URINIT,
	    _MDD2000EXDATA,
	    _MDD2000EXDATAXML:=6,
	    _MDD2000IMDATAXML,
	    _MDD2000ERROR,
	    _MDD2000EXLOGFILE
	  )$UDINT;
	  gb_MDD2000ActiveSafeFkt : BDINT
	  [
	    1 STO,
	    2 SS1,
	    3 SS2,
	    4 SOS,
	    5 SBC,
	    6 SBT,
	    7 SLS,
	    8 SLP,
	    9 SLA,
	    10 SLT,
	    11 SLI,
	    12 SDI,
	    13 SMS,
	    14 SMP,
	    15 SMA,
	    16 SMT,
	    17 SSM,
	    18 SCA,
	    19 Bit19,
	    20 Bit20,
	    21 Bit21,
	    22 Bit22,
	    23 Bit23,
	    24 Bit24,
	    25 Bit25,
	    26 Bit26,
	    27 Bit27,
	    28 Bit28,
	    29 Bit29,
	    30 Bit30,
	    31 Bit31,
	    32 Bit32,
	  ];
	  RequiredReferenceToSigClib : ^SigCLib;
	  t_e_SafeReferencedState :
	  (
	    Unkown,
	    Reading:=11,
	    NotReferenced:=445406843,
	    AxisReferenced:=731737996,
	    NotNeeded:=805306368,
	    WaitMovement:=805306369,
	    AckPending:=805306370,
	    ReferenceDone:=805306371,
	    AsyCommError:=2147483649
	  )$UDINT;
	  t_e_SafeReferenceRsp :
	  (
	    CmdIdle,
	    CmdOk:=1073741824,
	    CmdBusy:=11,
	    ProgrammingFailed:=1073741826,
	    ErrWrongRunState:=1073741827,
	    RefNotNeeded:=1073741828,
	    NotAllowed:=1073741840,
	    NoMovement:=1073741841,
	    WrongPostion:=1073741842,
	    AsyCommError:=2147483649
	  )$UDINT;
	  t_e_SafeVerifiedState :
	  (
	    Unkown:=0,
	    Reading:=11,
	    NotVerified:=445406843,
	    NotUsed:=805306368,
	    VerifyPending:=805306369,
	    AxisVerified:=805306370,
	    SystemVerified:=731737996,
	    AsyCommError:=2147483649
	  )$UDINT;
	  t_e_SetVerifiedRsp :
	  (
	    CmdIdle:=0,
	    CmdOk:=1073741824,
	    CmdBusy:=11,
	    CmdExecuting:=1073741835,
	    ErrWrongRunState:=1073741827,
	    VerifyNotNeeded:=1073741828,
	    ProgrammingFailed:=1073741829,
	    Incomplete:=1073741825,
	    CmdError:=1073741826,
	    AsyCommError:=2147483649
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
MDD2000_AxisSafeInfo : CLASS_PUBLIC
: _DriveSafetyIFParaBase
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
	TYPE
	  ge_MDD2000SafeFkt_ERR_ID :
	  (
	    ERR_ID_NO_ERROR:=0,
	    ERR_ID_SS1_VELOCITY_UP:=8,
	    ERR_ID_SS1_VELOCITY_LO:=9,
	    ERR_ID_SS1_DECELERATION_POS:=10,
	    ERR_ID_SS1_DECELERATION_NEG:=11,
	    ERR_ID_SS2_DECELERATION_POS:=16,
	    ERR_ID_SS2_DECELERATION_NEG:=17,
	    ERR_ID_SOS_POSITION_UP:=24,
	    ERR_ID_SOS_POSITION_LO:=25,
	    ERR_ID_SOS_VELOCITY_UP:=26,
	    ERR_ID_SOS_VELOCITY_LO:=27,
	    ERR_ID_SBT_RC:=39,
	    ERR_ID_SBT_TIME_STARTUP:=40,
	    ERR_ID_SBT_TIME_CYCLIC:=41,
	    ERR_ID_SBT_POSITION_UP:=42,
	    ERR_ID_SBT_POSITION_LO:=43,
	    ERR_ID_SBT_BRAKE_CLOSED:=44,
	    ERR_ID_SBT_BRAKE_OPEN:=45,
	    ERR_ID_SBT_MIN_TORQUE:=46,
	    ERR_ID_SBT_TORQUE_DIR:=47,
	    ERR_ID_SLS_VELOCITY_UP:=48,
	    ERR_ID_SLS_VELOCITY_LO:=49,
	    ERR_ID_SLS_DECELERATION_POS:=50,
	    ERR_ID_SLS_DECELERATION_NEG:=51,
	    ERR_ID_SLP_POSITION_UP:=56,
	    ERR_ID_SLP_POSITION_LO:=57,
	    ERR_ID_SLP_POSITION_INSIDE:=58,
	    ERR_ID_SLA_POSDIR_ACCELERATION:=64,
	    ERR_ID_SLA_POSDIR_DECELERATION:=65,
	    ERR_ID_SLA_NEGDIR_ACCELERATION:=66,
	    ERR_ID_SLA_NEGDIR_DECELERATION:=67,
	    ERR_ID_SLI_POSITION_UP:=80,
	    ERR_ID_SLI_POSITION_LO:=81,
	    ERR_ID_SDI_VELOCITY_POS:=88,
	    ERR_ID_SDI_VELOCITY_NEG:=89,
	    ERR_ID_SDI_POSITION_POS:=90,
	    ERR_ID_SDI_POSITION_NEG:=91,
	    ERR_ID_SMS_POS_VELOCITY:=96,
	    ERR_ID_SMS_NEG_VELOCITY:=97,
	    ERR_ID_SMP_UPPER_POSITION:=104,
	    ERR_ID_SMP_LOWER_POSITION:=105,
	    ERR_ID_SMP_INSIDE_POSITION:=106,
	    ERR_ID_SMA_POSDIR_ACCELERATION:=112,
	    ERR_ID_SMA_POSDIR_DECELERATION:=113,
	    ERR_ID_SMA_NEGDIR_ACCELERATION:=114,
	    ERR_ID_SMA_NEGDIR_DECELERATION:=115
	  )$UDINT;
	  ge_MDD2000SafeFkt_ID :
	  (
	    None:=0,
	    STO:=26176,
	    SS1:=26192,
	    SS2:=26224,
	    SOS:=26216,
	    SBC:=26208,
	    SBT:=26400,
	    SLS:=26256,
	    SLP:=26272,
	    SLA:=26368,
	    SLT:=26288,
	    SLI:=26296,
	    SDI:=26320,
	    SMS:=26280,
	    SMP:=26416,
	    SMA:=26312,
	    SMT:=26424,
	    SSM:=26336,
	    SCA:=26344
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
MDD2000_DriveAxisDiag : CLASS_PUBLIC
: _DriveSafetyIFParaBase
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
	TYPE
	  teSSWDiag :
	  (
	    _IdleDiag,
	    _GetDriveType,
	    _GetFWVersion,
	    _ReadAxisPara,
	    _ReadBackAxisPara,
	    _DiagGetAmountOfPoles,
	    _DiagGetFeedbackOffset,
	    _DiagMoveAxis,
	    _SetAxisPara,
	    _SetMROFFPara,
	    _SetMPOLPara,
	    _QuitAxisError,
	    _FinishedDiag,
	    _ErrorDiag,
	    _AxisNotOnline,
	    _ErrorStartDiag,
	    _NotSupported
	  )$UDINT;
	  teSSWDiagControl :
	  (
	    _IdleStartDiag,
	    _GetAmountOfMotorPoles,
	    _SetMeasuredMotorPolesAtAxis,
	    _GetFeedbackOffset,
	    _SetMeasuredFeedbackOffsetAtAxis
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
MDD2000MngBase : CLASS_PUBLIC
#include "..\class\_drivemngbase\drivemngbase.h"
#include "..\Class\MDD2000MngBase\MDD2000ComL2.h"
#include "..\Class\HwControl\HwControl.h"
#include "..\Source\interfaces\lsl_st_hardwaretree.h"
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
#include "..\Source\DriveSafetyIF.h"
	TYPE
	  t_e_MD2000Type :
	  (
	    _NotFound:=0,
	    MDP210X_X_00:=18,
	    MDD210X_X_00:=19,
	    MDP220X_X_00:=20,
	    MDD220X_X_00:=21,
	    MDP212X_X_00:=26,
	    MDD212X_X_00:=27,
	    MDP222X_X_00:=28,
	    MDD222X_X_00:=29,
	    MDP210X_XX_00:=34,
	    MDD210X_XX_00:=35,
	    MDP220X_XX_00:=36,
	    MDD220X_XX_00:=37,
	    MDP230X_XX_00:=38,
	    MDD230X_XX_00:=39,
	    MDP212X_XX_00:=42,
	    MDD212X_XX_00:=43,
	    MDP222X_XX_00:=44,
	    MDD222X_XX_00:=45,
	    MDP232X_XX_00:=46,
	    MDD232X_XX_00:=47,
	    MDP210X_XXX_00:=50,
	    MDD210X_XXX_00:=51,
	    MDP220X_XXX_00:=52,
	    MDD220X_XXX_00:=53,
	    MDP212X_XXX_00:=58,
	    MDD212X_XXX_00:=59,
	    MDP222X_XXX_00:=60,
	    MDD222X_XXX_00:=61,
	    MDP210X_X_03:=82,
	    MDD210X_X_03:=83,
	    MDP220X_X_03:=84,
	    MDD220X_X_03:=85,
	    MDP212X_X_03:=90,
	    MDD212X_X_03:=91,
	    MDP222X_X_03:=92,
	    MDD222X_X_03:=93,
	    MDP210X_XX_03:=98,
	    MDD210X_XX_03:=99,
	    MDP220X_XX_03:=100,
	    MDD220X_XX_03:=101,
	    MDP220X_XX_02:=102,
	    MDD220X_XX_01:=103,
	    MDP212X_XX_03:=106,
	    MDD212X_XX_03:=107,
	    MDP222X_XX_03:=108,
	    MDD222X_XX_03:=109,
	    MDP222X_XX_02:=110,
	    MDD222X_XX_01:=111,
	    MDP210X_XXX_03:=114,
	    MDD210X_XXX_03:=115,
	    MDP220X_XXX_03:=116,
	    MDD220X_XXX_03:=117,
	    MDP212X_XXX_03:=122,
	    MDD212X_XXX_03:=123,
	    MDP222X_XXX_03:=124,
	    MDD222X_XXX_03:=125
	  )$UDINT;
	  t_e_MDD2000SafetyConfigState :
	  (
	    CFG_UNKNOWN:=0,
	    CFG_INVALID:=1,
	    CFG_DELETED:=2,
	    CFG_CUSTOM:=4,
	    CFG_DEFAULT:=128
	  )$UDINT;
	  t_e_MDD2000SafetyRunState :
	  (
	    _POST:=0,
	    _CHK_CFG:=1,
	    _PREOP:=2,
	    _TEMP_OP:=3,
	    _OP:=4,
	    _SERVICE:=5,
	    _ERROR:=6,
	    _INACTIVE:=255,
	    _FSOE_COMSETUPFAILED:=1073741824
	  )$UDINT;
	  t_e_MDD2000SafetySubRunState :
	  (
	    No_SubRunState:=0,
	    CHK_CFG_IDLE:=100,
	    CHK_CFG_CFG_DELETED:=101,
	    CHK_CFG_PARSE_CFG:=102,
	    CHK_CFG_CHECK_PARSED_CFG:=103,
	    CHK_CFG_SETUP_MODULES:=104,
	    CHK_CFG_CHECK_HDSL:=105,
	    CHK_CFG_CHECK_ENC:=106,
	    CHK_CFG_OK:=107,
	    PRE_OP_IDLE:=200,
	    PRE_OP_HWTEST:=201,
	    PRE_OP_DI_FILTER_SETTLING:=202,
	    PRE_OP_SF_FILTER_SETTLING:=203,
	    PRE_OP_FSOE_SETUP:=204,
	    PRE_OP_DONE:=205,
	    Invalid:=4294967295
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk MDD2000VVBase
MDD2000VVBase : CLASS_PUBLIC
#include "..\Source\interfaces\lsl_st_hardwaretree.h"
#include "..\Class\HwControl\HwControl.h"
#include "..\Source\BusInterface.h"
#include "..\class\_drivemngbase\drivemngbase.h"
#include "..\Source\BusIFVVDrive.h"
#include "..\Class\SafetyManager\SafetyManager.h"
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
	TYPE
#pragma pack(push, 1)
	  t_ReadValuePtr : STRUCT
	    a_SyncValues : ARRAY [0..MDD2000VVBASE_MAX_AXIS_IDX] OF DINT;
	    bs_InputStates : BSINT
	    [
	      1 OptionBoardInputState,
	    ];
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  t_WriteValuePtr : STRUCT
	    a_SyncValues : ARRAY [0..MDD2000VVBASE_MAX_AXIS_IDX] OF DINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
MDD2000VVSafetyBase : CLASS_PUBLIC
#include "..\Class\SafetyManager\SafetyManager.h"
#include "..\Class\SafetyBaseFSoE\SafetyBaseFSoE.h"
#include "..\Source\interfaces\lsl_st_safety.h"
#include "..\Class\HwControl\HwControl.h"
#include "..\Source\BusInterface.h"
#include "..\Source\BusIFVVDrive.h"
#include "..\class\_drivemngbase\drivemngbase.h"
#include "..\Class\MDD2000MngBase\MDD2000MngBase.h"
	TYPE
#pragma pack(push, 1)
	  SDOHeader : STRUCT
	    StdHeader : t_SDOStdHeader;
	    SrcAdr : HDINT;
	    DstAdr : HDINT;
	    SessId : UDINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
MerkerEx : CLASS_PUBLIC
#include <.\lsl_st_mt.h>
	TYPE
	  Cmdm_udLength :
	  (
	    GET_DATA_PTR,
	    EXCHANGE_DATA_PTR,
	    SAVE_DATA_TO_RAMEXFILE
	  )$UINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
MotionControl : CLASS_PUBLIC
	TYPE
	  t_e_MotionControlSteps :
	  (
	    MCS_WaitForHWReady,
	    MCS_WaitForStart,
	    MCS_PowerOff:=2,
	    MCS_Error:=3,
	    MCS_PowerOn:=4,
	    MCS_WaitForPowerOn:=5,
	    MCS_DoReference:=6,
	    MCS_IsReferenced:=7,
	    MCS_MoveAxis1_360deg:=8,
	    MCS_WaitAxis1_360deg:=9,
	    MCS_MoveAxis2_360deg:=10,
	    MCS_WaitAxis2_360deg:=11,
	    MCS_StartAxis1_2_Tune:=12,
	    MCS_WaitAxis1_2_Tune:=13,
	    MCS_IncreaseAxis1_2_Tune:=14,
	    MCS_MaxAxis1_2_Tune:=15
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
SafetyBaseFSoE : CLASS_PUBLIC
#include "..\Source\interfaces\lsl_st_safety.h"
#include "..\Class\SafetyManager\SafetyManager.h"
#include "..\Source\BusInterface.h"
#include "..\Class\SafetyBaseFSoE\SafetyBaseFSoE.h"
#include "..\Source\interfaces\lsl_st_hardwaretree.h"
	TYPE
#pragma pack(push, 1)
	  SDOHeader : STRUCT
	    StdHeader : t_SDOStdHeader;
	    SrcAdr : HDINT;
	    DstAdr : HDINT;
	    SessId : UDINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
SafetyCDIAS_Base : CLASS_PUBLIC
#include "..\Class\SafetyCDIAS_Base\SafetyCDIAS_Base.h"
#include "..\Source\interfaces\lsl_st_safety.h"
#include "..\Class\SafetyManager\SafetyManager.h"
	TYPE
	  FrameTypeType : BSINT
	  [
	    1 Cfg,
	    2 ToP,
	    3 Standard,
	    4 PDO,
	    5 TDO,
	    6 Reserved1,
	    7 Reserved2,
	    8 Response,
	  ];
#pragma pack(push, 1)
	  SDOStdHeader : STRUCT
	    CRC : UDINT;
	    Cmd : USINT;
	    Typ : FrameTypeType;
	    SeqNr : USINT;
	    Len : USINT;
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  SDOHeader : STRUCT
	    StdHeader : SDOStdHeader;
	    SrcAdr : HDINT;
	    DstAdr : HDINT;
	    SessId : UDINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
SafetyUDP : CLASS_PUBLIC
	TYPE
	  _FSM_UDP_ERROR :
	  (
	    _NO_ERROR_UDP_ERROR:=0,
	    _INIT_TCP_USER_UDP_ERROR:=4294967295,
	    _NO_IP_ADDRESS_UDP_ERROR:=4294967294,
	    _NO_MEMORY_SOCKET_UDP_ERROR:=4294967293,
	    _NO_MEMORY_SENDBUFFER_UDP_ERROR:=4294967292,
	    _INVALID_HANDLE_UDP_ERROR:=4294967291,
	    _SHUTDOWN_UDP_ERROR:=4294967290,
	    _CLOSESOCKET_UDP_ERROR:=4294967289,
	    _ALLOCATE_SOCKET_UDP_ERROR:=4294967288,
	    _SET_BIND_UDP_ERROR:=4294967287,
	    _RECV_UDP_ERROR:=4294967286,
	    _SEND_UDP_ERROR:=4294967285,
	    _NO_LOCAL_IP_UDP_ERROR:=4294967284,
	    _NO_DESTINATION_IP_UDP_ERROR:=4294967283,
	    _INVALID_UDP_PORT_UDP_ERROR,
	    _INVALID_INTERFACE_NUMBER_UDP_ERROR,
	    _NO_MEMORY_RECEIVE_BUFFER_UDP_ERROR,
	    _NO_MEMORY_CONNECTION_BUFFER_UDP_ERROR
	  )$DINT;
	  _FSM_UDP_USER :
	  (
	    _STATE_INIT_UDP,
	    _STATE_IDLE_UDP,
	    _STATE_SOCK_UDP,
	    _STATE_CONNECT_UDP,
	    _STATE_ONLY_SEND_UDP,
	    _STATE_RECV_UDP,
	    _STATE_SEND_UDP,
	    _STATE_SHUTDOWN_UDP,
	    _STATE_CLOSE_SOCK_UDP,
	    _STATE_ERROR_UDP
	  )$UDINT;
	  _INITSTEPS :
	  (
	    _NO_OPERATION,
	    _ADD_SOCKET,
	    _CHECK_IF_SOCKET_OPEN,
	    _BIND_SOCKET,
	    _CLOSE_CON
	  )$UDINT;
	END_TYPE
END_CLASS;
#pragma define (restore)
#pragma InclDefBlk SdiasBase
SdiasBase : CLASS_PUBLIC
#include "..\Class\SdiasManager\SdiasManager.h"
#include "..\Class\SdiasBase\SdiasBase.h"
#include "..\Class\HwControl\HwControl.h"
#include "..\Source\interfaces\lsl_st_hardwaretree.h"
#include "..\Source\interfaces\lsl_st_mt.h"
	TYPE
	  t_b_SdiasFWState : BINT
	  [
	    1 VoltageNotOk,
	    2 NoSync,
	    3 FlashDataCRCError,
	    4 RAMDataCRCError,
	    5 FlashUnsafe,
	    6 BusTimeNotSupported,
	    7 ToggleBit,
	  ];
#pragma pack(push, 1)
	  t_s_SdiasFWStateStandard : STRUCT
	    ErrorBits : t_b_SdiasFWState;
	    Reserved : UINT;
	  END_STRUCT;
#pragma pack(pop)
#pragma pack(push, 1)
	  t_s_SPI_AccessControl : STRUCT
	    udAccessHandle : UDINT;
	    usAccessLength : USINT;
	    usAccessOffset : USINT;
	    pControlByte : t_SDIAS_pControlByte;
	    pStateByte : t_SDIAS_pStateByte;
	  END_STRUCT;
#pragma pack(pop)
	  t_SPI_PDO_DataWrite : ARRAY [0..SDIAS_MAX_PDO_SIZE-1] OF USINT;
	  t_SPI_PDO_DataRead : ARRAY [0..SDIAS_MAX_PDO_SIZE-1] OF USINT;
	  t_e_SPIWriteSSW :
	  (
	    _SPIWrite_Idle,
	    _AllocateMemory,
	    _SetRequest,
	    _ReadGrant,
	    _ReadSectorData_SetPageAddress,
	    _ReadSectorData_Wait4SetPageAddress,
	    _ReadSectorData_SetReadPageCommand,
	    _ReadSectorData_Wait4SetReadPageCommand,
	    _ReadSectorData_ReadReceiveBufferPart1,
	    _ReadSectorData_ReadReceiveBufferPart2,
	    _EraseSector_SetPageAddress,
	    _EraseSector_Wait4SetPageAddress,
	    _EraseSector_SetEraseSectorCommand,
	    _EraseSector_Wait4SetEraseSectorCommand,
	    _WriteSectorData_SetPageAddress,
	    _WriteSectorData_Wait4SetPageAddress,
	    _WriteSectorData_WriteTransmitBufferPart1,
	    _WriteSectorData_WriteTransmitBufferPart2,
	    _WriteSectorData_SetWritePageCommand,
	    _WriteSectorData_Wait4SetWritePageCommand,
	    _VerifySectorData_SetPageAddress,
	    _VerifySectorData_Wait4SetPageAddress,
	    _VerifySectorData_SetReadPageCommand,
	    _VerifySectorData_Wait4SetReadPageCommand,
	    _VerifySectorData_ReadReceiveBufferPart1,
	    _VerifySectorData_ReadReceiveBufferPart2,
	    _VerifySectorData_CompareData,
	    _ClearRequest,
	    _DisableDataObjects,
	    _FreeMemory,
	    _FinishSPIWrite
	  )$UDINT;
	  usWriteModes : USINT;
#pragma pack(push, 1)
	  t_s_SPIWriteVars : STRUCT
	    sWriteAccess : t_s_SPI_AccessControl;
	    pWriteData : ^t_SPI_PDO_DataWrite;
	    sReadAccess : t_s_SPI_AccessControl;
	    pReadData : ^t_SPI_PDO_DataRead;
	    sReadStateAccess : t_s_SPI_AccessControl;
	    pReadStateData : ^USINT;
	    pSectorMemoryRead : ^USINT;
	    pSectorMemoryWrite : ^USINT;
	    pSectorMemoryVerify : ^USINT;
	    pUserWriteData : ^USINT;
	    udUserWriteLength : UDINT;
	    usUserSectorNumber : USINT;
	    usUserPageNumber : USINT;
	    usUserPageOffset : USINT;
	    eSPIWriteSSW : t_e_SPIWriteSSW;
	    eSPIWriteSSWError : t_e_SPIWriteSSW;
	    uiCurrentPage : UINT;
	    udCurrentSectorMemoryOffset : UDINT;
	    usRetryCnt : USINT;
	    bsFinished : BSINT
	    [
	      1 Finished,
	      2 Error,
	      3 Bit3,
	      4 Bit4,
	      5 Bit5,
	      6 Bit6,
	      7 Bit7,
	      8 Bit8,
	    ];
	    usCycleWaitCnt : USINT;
	    udTimeout : UDINT;
	    NotReadyCnt : DINT;
	    usFinishedWriteLog : USINT;
	    usWriteMode : usWriteModes;
	    udMemoryToAllocate : UDINT;
	    uiLastPage : UINT;
	    udUserDataOffset : DINT;
	  END_STRUCT;
#pragma pack(pop)
	END_TYPE
END_CLASS;
#pragma define (restore)
VirtualBaseInit : CLASS_PUBLIC
	TYPE
	  CmdData :
	  (
	    GET_ADD_INFO,
	    READ_DATA,
	    WRITE_DATA,
	    READ_DATA_OFF,
	    WRITE_DATA_OFF
	  )$UINT;
	END_TYPE
END_CLASS;
#pragma define (restore)

#RE_IN_DE
