//This file was generated by the LASAL2 CodeGenerator  -- 
//Please, do not edit this file (it might be overwritten by the next generator run)
#define OBJECTS_CONFIG

//Define part of class _LMCAxisBase
//#define _DEBUG_MODUS_MUTEX_OFF
//#define _DEBUG_MODUS_ISSYNCHRON
//#define _DEBUG_MODUS_CHECKSWLIMIT
//#define _DEBUG_MODUS_BRAKING


#define _LMCAXIS_NORMOVERRIDE         1000    // Dieser Override-Wert entspricht 100%.
#define _LMCAXIS_MAXOVERRIDE	        1000		// Maximalwert für Override im LMCAXISBASE (kann mit SetParameter verändert werden.)
#define _LMCAXIS_MINOVERRIDE	           0		// Minimalwert für Override im _LMCAxisBase --> damit man mit Minuswerten nicht in die falsche Richtung fahren kann

#define _LMCAXIS_MIN_POS       -16#07000000    // default MINPOS when INITvalue=0
#define _LMCAXIS_MAX_POS        16#07000000    // default MAXPOS when INITvalue=0

#define _LMCAXIS_OVERVFLOW_POS  16#06000000    // MAX POSITION for checking overflow

#define _LMCAXIS_INVALID_POS    16#3FFFFFFF    // Invalid position for calculating the velocity

#define _LMCAXIS_INTERVAL            10            // original = 10

#define _LMCAXIS_MAX_MASTERDELAY     7    // maximum cycles for delaying the coupling to the master


#define _LMCAXIS_RESO_CALBREMS 100

#ifndef _VOID_POS
  #define  _VOID_POS 16#7FFFFFFF 
#endif

/////////////////////
// Polynom 5ten Grades
#define _LMCAXIS_Poly_Pos_A     2.5
#define _LMCAXIS_Poly_Pos_B     3.0
#define _LMCAXIS_Poly_Pos_C     1.0

#define LMC_POLYNOM_V0          0                     // CoupleGearPolynom wenn Slave steht
#define LMC_POLYNOM_V           1                     // CoupleGearPolynom wenn Slave fährt

//////////////////////
// Bewegungsrichtungen
#define _LMCAXIS_MOVE_ANY_WAY              0       // beide Richtungen
#define _LMCAXIS_MOVE_NEG_DIR              1       // nur negative Bewegungsrichtung
#define _LMCAXIS_MOVE_SHORTEST_WAY         2       // kürzester Weg (beide Richtungen)
#define _LMCAXIS_MOVE_POS_DIR              3       // nur positive Bewegungsrichtung

//////////////////////
// Mutex
#define MUTEX_NAME_MAX_LENGTH_LMCAXIS     32   //maximale Anzahl an Zeichen für den Mutexnamen
#define MUTEX_NAME_END_LENGTH_LMCAXIS      3
#define STR_MUTEX_NAME_SEPERATOR_LMCAXIS ".."


#define _LMCAXIS_WAITTIMEPOWERON           90sec    // Wartezeit bei PowerOn bis TimeOut entsteht (maximale Kommutierungszeitdauer beim DiasDrive für Linearmotoren sind 86sec)
#define _LMCAXIS_WAITTIMEPOWEROFF           1sec    // Wartezeit bei PowerOff bis TimeOut entsteht


#define _LMCAXIS_Max_V_FILTER_SIZE   100

//////////////////////
// ruckbegrenzter Modus _JERK_PROFILE
#define MIN_SHRINK_FACTOR_4_CORRECTTOEXACTPOS 0.9
#define MAX_SHRINK_FACTOR_4_CORRECTTOEXACTPOS_FAR 1.2
#define MAX_SHRINK_FACTOR_4_CORRECTTOEXACTPOS_NEAR 5.0
#define MAX_SHRINK_FACTOR_4_CORRECTTOEXACTPOS_WINDOW 5.0


#define MAX_TIME_TO_WAIT_4_BRAKING 3.0 //in Ticks
#define MAX_DURATION_WITH_MAX_ACCEL_TO_MASTER 20000  //in Ticks
#define ALLOWED_AJMP_FACTOR 1.1
#define FACTOR_4_ALLOWED_MASTER_ACCEL_PROFILE_COUPLING 1.2
#define ACCEL_FACTOR_4_PROFILE_COUPLING 1.1
#define JERK_FACTOR_4_PROFILE_COUPLING 1.2

//////////////////////
// LREAL Modi
// #define DEBUG_TRAP_DELTA_ACCEL
#define _LMCAXIS_LREAL_EPSILON 0.000001

#ifndef _DINT_MIN
#define _DINT_MIN -2147483648
#endif

#ifndef _DINT_MAX
#define _DINT_MAX 2147483647
#endif

#define _LMCAXIS_MIN_VEL_MOVECMD 1 // minimale programmierbare Geschwindigkeit fuer LREAL-MoveTypes [internal units / sec]

#define _LMCAXIS_SAFEREFERENCE_TIMEOUT          10 SEC
#define _LMCAXIS_SBTACTIVE_TIMEOUT              16 SEC
#define _LMCAXIS_SAFETYASYNCREQUEST_REPEATTIME  200 MS

#define _LMCAXIS_SBT_SAFESTATE_TESTIDLE    16#0
#define _LMCAXIS_SBT_SAFESTATE_TESTDONE    16#6
#define _LMCAXIS_SBT_SAFESTATE_ERROR      16#E0
#define _LMCAXIS_SBT_FUNCSTATE_FINISH        13

#define _LMCAXIS_LMCPROF_NEWINST_STOPMOVE    77

//+++ einbau HP 13.9.2011 +++++++++++++++++++++++++++++++++++++++++++++++++++++++

//////////////////////
// CoupleGearPolynom
#define _LMCAXIS_FACTOR_JMAX         10
#define _LMCAXIS_FACTOR_T_VAL_X      0.80
#define _LMCAXIS_FACTOR_T_VAL_Z      0.80
#define _LMCAXIS_MIN_TICKS           0

//#define REPORT_TRAPEZOIDSPLINE_DISABLED 
#undef REPORT_TRAPEZOIDSPLINE_DISABLED

// Formeltest und Test auf numerische Genauigkeit
//#define CHECK_PRECISION

#define PRAEFIX_KILO          (1000.0)
#ifndef CONVERT_SEC_TO_MSEC
  #define CONVERT_SEC_TO_MSEC   (1000.0)
#endif
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++ einbau HP 13.9.2011 +++

#ifndef LMCMODULEBASE_MAX_LOGININDEX
  #define LMCMODULEBASE_MAX_LOGININDEX      9
#endif

// ===================================================================
// defines linked to safety features
// defines from header file DriveSafetyIF.h from HW lib to reduce dependencies

// VERIFY CMDRSP
// General
#define _LMCAXIS_SAFETY_VERCMD_OK                     0x40000000  // Command successfully processed
#define _LMCAXIS_SAFETY_VERCMD_BUSY                   0x0000000B  // Response to command has not yet been recived
#define _LMCAXIS_SAFETY_VERCMD_EXECUTING              0x4000000B  // Commmand ist still beeing processed ins safety FW
#define _LMCAXIS_SAFETY_VERCMD_WRONG_RUNSTATE         0x40000003  // Command not allowed in current state
#define _LMCAXIS_SAFETY_VERCMD_NOT_NEEDED             0x40000004  // Command executed, although no verification is necessary

#define _LMCAXIS_SAFETY_VERCMD_ERROR_ENC_ID_PROG      0x40000005  // Programming of the encoder index failed

#define _LMCAXIS_SAFETY_VERCMD_INCOMPLETE             0x40000001  // Not all axes requiring verification, have been verified
#define _LMCAXIS_SAFETY_VERCMD_ERROR                  0x40000002  // Saving the HDSL verification status has failed

// VERIFY STATE
#define _LMCAXIS_SAFETY_VERSTATE_UNKOWN               0x00000000  // State has not yet been read
#define _LMCAXIS_SAFETY_VERSTATE_BUSY                 0x0000000B  // State is beeing read

#define _LMCAXIS_SAFETY_VERSTATE_NOT_VERIFIED         0x1A8C5E7B  // Axis not verified, verification necessary                                                  
#define _LMCAXIS_SAFETY_VERSTATE_SYSTEM_VERIFIED      0x2B9D6F8C  // Entire drive fully verified
#define _LMCAXIS_SAFETY_VERSTATE_NOT_USED             0x30000000  // no verification necessary for this axis, as not configured as Hiperface DSL

#define _LMCAXIS_SAFETY_VERSTATE_VERIFICATION_PENDING 0x30000001  // Verification has been started for this axis, Programming of the encoder index in progress
#define _LMCAXIS_SAFETY_VERSTATE_AXIS_VERIFIED        0x30000002  // Encoder index has been successfully programmed, Verification completed for this axis (Overall verification necessary at the end)

// REFERENCE CMDRSP
// General
#define _LMCAXIS_SAFETY_REFCMD_OK                     0x40000000  // Command successfully processed
#define _LMCAXIS_SAFETY_REFCMD_BUSY                   0x0000000B  // Response to command has not yet been recived
#define _LMCAXIS_SAFETY_REFCMD_PROGRAMMING_FAILED     0x40000002  // The saving of the offset or the referencing status has failed.
#define _LMCAXIS_SAFETY_REFCMD_WRONG_RUNSTATE         0x40000003  // Command not allowed in current state
#define _LMCAXIS_SAFETY_REFCMD_NOT_NEEDED             0x40000004  // Command executed, although no reference is necessary

// For _LMCAXIS_SAFETY__REFCMD_ACKZERO_POS
#define _LMCAXIS_SAFETY_REFCMD_NOT_ALLOWED            0x40000010  // Absolute position referencing was not started, command not yet allowed
#define _LMCAXIS_SAFETY_REFCMD_NO_MOVEMENT            0x40000011  // Position has not moved far enough from the zero position since the start of referencing
#define _LMCAXIS_SAFETY_REFCMD_WRONG_POSITION         0x40000012  // Newly approached zero position deviates more than permitted from initially approached zero position

// REFERENCE STATE
#define _LMCAXIS_SAFETY_REFSTATE_UNKOWN               0x00000000  // 

#define _LMCAXIS_SAFETY_REFSTATE_BUSY                 0x0000000B  // State is beeing read

#define _LMCAXIS_SAFETY_STATE_NOT_REFERENCED          0x1A8C5E7B  // Axis not referenced, referencing necessary
#define _LMCAXIS_SAFETY_STATE_AXIS_REFERENCED         0x2B9D6F8C  // Axis fully referenced
#define _LMCAXIS_SAFETY_STATE_NOT_NEEDED              0x30000000  // No referencing necessary for this axis

#define _LMCAXIS_SAFETY_STATE_WAIT_MOVEMENT           0x30000001  // Referencing has been started, it is waiting for the waiting for the current position to move away from the zero position
#define _LMCAXIS_SAFETY_STATE_ACK_PENDING             0x30000002  // Current position far enough away from zero position, it waits for the zero position to be approached again and confirmed
#define _LMCAXIS_SAFETY_STATE_REFERENCE_DONE          0x30000003  // Zero position successfully confirmed, referencing completed

// DRIVE SAFETY PARA STATES
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE                 16#857E
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_VER_1           1                   //version 1
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_VER_MAX         _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_VER_1   //newest implemented version

#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_GENERAL_ERROR                 1
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_ASYNC_BUSY                    3
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_GENERAL_READY                 5
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_UPDATE_CY                     6
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_SAFETY_READY                  10 
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_SAFETY_ERROR                  11
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_SAFETY_CHANGED                12
#define _LMCAXIS_SAFETY_UPDATEPARACLASS_STATE_SAFETY_SETSERVICEMODE_PENDING 20
#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"
//Define part of class _LMCAxisVOVMonitoring
// Monitoring time (ms). If a button is not being pressed or released for a this amount of time the connection has been broken
#ifndef LMCAXIS_VOVMonitor_NoReactionTimeLimit
  #define  LMCAXIS_VOVMonitor_NoReactionTimeLimit 1000 ms
#endif
//Define part of class _LMCMathFunctions
#define _INT_DEG                       * 1024 * 1000 //Internal Resolution of Degrees
#define LMC_PI                          3.1415926535897932384626433832795   //LMC_ avoids name clash

#define _LMC_EPSILON    0.000001
#define _MATH_EPSILON   0.000000001

//LREAL Zero Test:
#ifndef _LMCMATH_FLOAT_ISZERO
  #define _LMCMATH_FLOAT_ISZERO(p1)            ((p1 > -_LMC_EPSILON) & (p1 < _LMC_EPSILON))
#endif
#ifndef _LMCMATH_FLOAT_NOTZERO
  #define _LMCMATH_FLOAT_NOTZERO(p1)           ((p1 < -_LMC_EPSILON) | (p1 > _LMC_EPSILON))
#endif
#ifndef _LMCMATH_FLOAT_EQUAL
  #define _LMCMATH_FLOAT_EQUAL(p1,p2)          (((p1 - p2) < _LMC_EPSILON) & ((p1 - p2) > -_LMC_EPSILON))
#endif

#define _LMCMATH_LREAL_MAX  1.79E308
#define _LMCMATH_REAL_MAX   3.4E38

#ifndef _DINT_MIN
  #define _DINT_MIN -2147483648
#endif

#define LMC_NUMERIC_TOLERANCE   (0.000000001)
#define LMC_RESOLVE_TOLERANCE       (0.000000001)

// 25µsec für ein repeat auf ARM CP 111
#define LMC_MAX_REPEAT      25

// Geschwindigkeit wird auf 1 interne Einheit genau iteriert
#define PRECIS_REPEAT   (1.0)

//#define INTERN_MATH_TEST
#include "..\..\Class\_LMCMathFunctions\C_MathFunct.h"
//Define part of class Controller
#define MaxDragDelayCycles 20

// define of NewInst index to read hardware diagnosis data from HWK
#define LMCCONTROLLER_GET_HARDWARE_DIAGNOSIS      16#83B1

// defines to mark maximum values of DINT as floating number
#ifndef LMCCONTROLLER_DINT_MIN_LREAL
  #define LMCCONTROLLER_DINT_MIN_LREAL -2147483648.0
#endif

#ifndef LMCCONTROLLER_DINT_MAX_LREAL
  #define LMCCONTROLLER_DINT_MAX_LREAL 2147483647.0
#endif
//Define part of class DrivePosControlSafety
#define LMCCONTROLLER_SAFETYID_SBTTESTTIME        16#6723
#define LMCCONTROLLER_SAFETYSUBID_SBTTESTTIME     1
#define LMCCONTROLLER_SAFETYID_SBTMINTORQUE       16#6724
#define LMCCONTROLLER_SAFETYSUBID_SBTMINTORQUE    1
#define LMCCONTROLLER_SAFETYID_SBTTESTINTERVAL    16#6728
#define LMCCONTROLLER_SAFETYSUBID_SBTTESTINTERVAL 1

// defines from Headerfile DriveSafetyIF.h to reduce the dependency to the HW Lib
#define DPCS_DRIVESAFETYIF_NEWINSTPDO                          100       // DRIVESAFETYIF_NEWINSTPDO
#define DPCS_DRIVESAFETYIF_READPDODATA                         101       // DRIVESAFETYIF_READPDODATA
#define DPCS_DRIVESAFETYIF_WRITEPDODATA                        102       // DRIVESAFETYIF_WRITEPDODATA
#define DPCS_DRIVESAFETYIF_DOAXERRORQUIT                       0x8591    // DRIVESAFETYIF_DOAXERRORQUIT
#define DPCS_DRIVESAFETYIF_DOAXERRORQUIT_VER_1                 1         // version 1 -> DRIVESAFETYIF_DOAXERRORQUIT
#define DPCS_DRIVESAFETYIF_DOSAFETYAXERRORQUIT                 0x8592    // DRIVESAFETYIF_DOSAFETYAXERRORQUIT
#define DPCS_DRIVESAFETYIF_DOSAFETYAXERRORQUIT_VER_1           1         // version 1 -> DRIVESAFETYIF_DOSAFETYAXERRORQUIT
#define DPCS_DRIVESAFETYIF_READAXISSTATE                       0x8590    // DRIVESAFETYIF_READAXISSTATE
#define DPCS_DRIVESAFETYIF_READAXISSTATE_VER_1                 1         // version 1 -> DRIVESAFETYIF_READAXISSTATE_VER_1
#define DPCS_DRIVESAFETYIF_SETVERIFYAXIS                       0x8593    // DRIVESAFETYIF_SETVERIFYAXIS
#define DPCS_DRIVESAFETYIF_SETVERIFYAXIS_VER_1                 1         // version 1 -> DRIVESAFETYIF_SETVERIFYAXIS_VER_1
#define DPCS_DRIVESAFETYIF_SETREFERENCEAXIS                    0x8595    // DRIVESAFETYIF_SETREFERENCEAXIS
#define DPCS_DRIVESAFETYIF_SETREFERENCEAXIS_VER_1              1         // version 1 -> DRIVESAFETYIF_SETREFERENCEAXIS_VER_1
#define DPCS_DRIVESAFETYIF_GETSAFECONTROLSTATEWORD             0x859D    // DRIVESAFETYIF_GETSAFECONTROLSTATEWORD
#define DPCS_DRIVESAFETYIF_GETSAFECONTROLSTATEWORD_VER_1       1         // version 1 -> DRIVESAFETYIF_GETSAFECONTROLSTATEWORD_VER_1
#define DPCS_DRIVESAFETYIF_SETACKZEROPOSITION                  0x8597    // DRIVESAFETYIF_SETACKZEROPOSITION
#define DPCS_DRIVESAFETYIF_SETACKZEROPOSITION_VER_1            1         // version 1 -> DRIVESAFETYIF_SETACKZEROPOSITION_VER_1
#define DPCS_DRIVESAFETYIF_SETSBTSTATE                         0x8599    // DRIVESAFETYIF_SETSBTSTATE
#define DPCS_DRIVESAFETYIF_SETSBTSTATE_VER_1                   1         // version 1 -> DRIVESAFETYIF_SETSBTSTATE_VER_1
#define DPCS_DRIVESAFETYIF_GETVERIFYSTATE                      0x8594    // DRIVESAFETYIF_GETVERIFYSTATE
#define DPCS_DRIVESAFETYIF_GETVERIFYSTATE_VER_1                1         // version 1 -> DRIVESAFETYIF_GETVERIFYSTATE_VER_1
#define DPCS_DRIVESAFETYIF_CHANGESAFESERVICEMODE               0x859E    // DRIVESAFETYIF_CHANGESAFESERVICEMODE
#define DPCS_DRIVESAFETYIF_CHANGESAFESERVICEMODE_VER_1         1         // version 1 -> DRIVESAFETYIF_CHANGESAFESERVICEMODE_VER_1
#define DPCS_DRIVESAFETYIF_ADD_PARA_OBJECT                     16#857B   // DRIVESAFETYIF_ADD_PARA_OBJECT
#define DPCS_DRIVESAFETYIF_ADD_PARA_OBJECT_VER_1               1         // version 1 - > DRIVESAFETYIF_ADD_PARA_OBJECT_VER_1
#define DPCS_DRIVESAFETYIF_GETREFERENCESTATE                   0x8596    // DRIVESAFETYIF_GETREFERENCESTATE
#define DPCS_DRIVESAFETYIF_GETREFERENCESTATE_VER_1             1         // version 1 -> DRIVESAFETYIF_GETREFERENCESTATE_VER_1
#define DPCS_DRIVESAFETYIF_GETSBTSTATE                         0x8598    // DRIVESAFETYIF_GETSBTSTATE
#define DPCS_DRIVESAFETYIF_GETSBTSTATE_VER_1                   1         // version 1 -> DRIVESAFETYIF_GETSBTSTATE_VER_1
#define DPCS_DRIVESAFETYIF_GETGENERALPARA                      0x859A    // DRIVESAFETYIF_GETGENERALPARA
#define DPCS_DRIVESAFETYIF_GETGENERALPARA_VER_1                1         //version 1 -> DRIVESAFETYIF_GETGENERALPARA_VER_1
#define DPCS_DRIVESAFETYIF_GETSAFETYERRORINFOS                 0x859B    // DRIVESAFETYIF_GETSAFETYERRORINFOS
#define DPCS_DRIVESAFETYIF_GETSAFETYERRORINFOS_VER_1           1         //version 1 -> DRIVESAFETYIF_GETSAFETYERRORINFOS_VER_1
#define DPCS_DRIVESAFETYIF_GETSAFEFUNCTIONERRORINFOS           0x859C    // DRIVESAFETYIF_GETSAFEFUNCTIONERRORINFOS
#define DPCS_DRIVESAFETYIF_GETSAFEFUNCTIONERRORINFOS_VER_1     1         //version 1 -> DRIVESAFETYIF_GETSAFEFUNCTIONERRORINFOS_VER_1


FUNCTION GLOBAL TAB ONE_Axis2Net
-1$UINT, 0$UINT, 
0$UINT, 0$UINT,

18$UDINT,
TO_UDINT(1047453148), "_AxisBase", 1$UINT, 58$UINT, 0$UINT,
TO_UDINT(3162349954), "_LMCABSEncoder", 1$UINT, 0$UINT, 1$UINT,
TO_UDINT(1422175863), "_LMCAxis", 1$UINT, 119$UINT, 1$UINT,
TO_UDINT(280984637), "_LMCAxisBase", 2$UINT, 110$UINT, 0$UINT,
TO_UDINT(2147194214), "_LMCAxisRef", 1$UINT, 32$UINT, 1$UINT,
TO_UDINT(3113915997), "_LMCAxisVis", 1$UINT, 42$UINT, 1$UINT,
TO_UDINT(3511906983), "_LMCAxisVisInt", 1$UINT, 63$UINT, 1$UINT,
TO_UDINT(1670072687), "_LMCAxisVisLogHandle", 1$UINT, 0$UINT, 1$UINT,
TO_UDINT(4049061347), "_LMCAxisVisLogViewer", 1$UINT, 0$UINT, 5$UINT,
TO_UDINT(3953984284), "_LMCAxisVisPara", 1$UINT, 13$UINT, 1$UINT,
TO_UDINT(3513915334), "_LMCAxisVOVMonitoring", 1$UINT, 2$UINT, 1$UINT,
TO_UDINT(838927485), "_LMCMathFunctions", 1$UINT, 75$UINT, 1$UINT,
TO_UDINT(1117088251), "_LMCPublisher", 1$UINT, 0$UINT, 1$UINT,
TO_UDINT(1736530975), "_LMCRefBase", 1$UINT, 11$UINT, 0$UINT,
TO_UDINT(3213872914), "_LMCSafety", 1$UINT, 21$UINT, 1$UINT,
TO_UDINT(1198357413), "Controller", 1$UINT, 46$UINT, 0$UINT,
TO_UDINT(2807648805), "DrivePosControlSafety", 1$UINT, 4$UINT, 1$UINT,
TO_UDINT(1789609988), "RefPosSimulation", 0$UINT, 0$UINT, 1$UINT,


1$UINT, TO_UDINT(60742293), "_LMCAXIS2\_LMCABSENCODER1", 

_NO_ATTR, TO_UDINT(3571490364), "_LMCAXIS2", 


1$UINT, TO_UDINT(2835437418), "_LMCAXIS2\_LMCAXISREF1", 

1$UINT, TO_UDINT(416079693), "_LMCAXIS2\_LMCAXISVIS1", 

1$UINT, TO_UDINT(708134574), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISINT1", 

1$UINT, TO_UDINT(1598026771), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGHANDLE1", 

1$UINT, TO_UDINT(3148081044), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGVIEWER1", 
1$UINT, TO_UDINT(581613102), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGVIEWER2", 
1$UINT, TO_UDINT(1437435576), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGVIEWER3", 
1$UINT, TO_UDINT(3418952475), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGVIEWER4", 
1$UINT, TO_UDINT(3167626125), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISLOGVIEWER5", 

1$UINT, TO_UDINT(2897851647), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVISPARA1", 

1$UINT, TO_UDINT(3506437090), "_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVOVMONITORING", 

1$UINT, TO_UDINT(1809588941), "_LMCAXIS2\_LMCMATHFUNCTIONS1", 

1$UINT, TO_UDINT(853416285), "_LMCAXIS2\_LMCPUBLISHER1", 


1$UINT, TO_UDINT(3182611885), "_LMCAXIS2\_LMCSAFETY1", 


_NO_ATTR, TO_UDINT(1366700824), "DRIVEPOSCONTROLSAFETY2", 

_NO_ATTR, TO_UDINT(500355420), "REFPOSSIMULATION2", 

//Internal connections
0$UDINT,
15$UDINT,
TO_UDINT(1), "_LMCMathFunctions1", TO_UDINT(13),
TO_UDINT(1), "_LMCABSEncoder1", TO_UDINT(0),
TO_UDINT(1), "_LMCAxisVis1", TO_UDINT(3),
TO_UDINT(1), "_LMCAxisRef1", TO_UDINT(2),
TO_UDINT(1), "_LMCSafety1", TO_UDINT(15),
TO_UDINT(1), "_LMCPublisher1", TO_UDINT(14),
TO_UDINT(3), "_LMCAxisVisInt1", TO_UDINT(4),
TO_UDINT(3), "_LMCAxisVisPara1", TO_UDINT(11),
TO_UDINT(3), "_LMCAxisVisLogViewer1", TO_UDINT(6),
TO_UDINT(3), "_LMCAxisVisLogViewer2", TO_UDINT(7),
TO_UDINT(3), "_LMCAxisVisLogViewer3", TO_UDINT(8),
TO_UDINT(3), "_LMCAxisVisLogViewer4", TO_UDINT(9),
TO_UDINT(3), "_LMCAxisVisLogViewer5", TO_UDINT(10),
TO_UDINT(3), "_LMCAxisVisLogHandle1", TO_UDINT(5),
TO_UDINT(3), "_LMCAxisVOVMonitoring", TO_UDINT(12),
0$UDINT,
16$UDINT,
TO_UDINT(1), "LMCController", TO_UDINT(16), "Signal_Input",
TO_UDINT(1), "LMCMath", TO_UDINT(13), "ClassSvr",
TO_UDINT(1), "LMCSafety", TO_UDINT(15), "ClassSvr",
TO_UDINT(1), "LMCReference", TO_UDINT(2), "RefInput",
TO_UDINT(1), "LMCAbsEncoder", TO_UDINT(0), "ClassSvr",
TO_UDINT(1), "LMCPublisher", TO_UDINT(14), "ClassSvr",
TO_UDINT(1), "RefSwitch", TO_UDINT(17), "RefSwitch",
TO_UDINT(3), "LMCAxisBase", TO_UDINT(1), "Control",
TO_UDINT(4), "LMCAxisVisPara", TO_UDINT(11), "ClassSvr",
TO_UDINT(6), "LogIndex", TO_UDINT(5), "LogIndex",
TO_UDINT(7), "LogIndex", TO_UDINT(5), "LogIndex",
TO_UDINT(8), "LogIndex", TO_UDINT(5), "LogIndex",
TO_UDINT(9), "LogIndex", TO_UDINT(5), "LogIndex",
TO_UDINT(10), "LogIndex", TO_UDINT(5), "LogIndex",
TO_UDINT(11), "ocLMCAxisVisInt", TO_UDINT(4), "ClassSvr",
TO_UDINT(12), "ToVisInt", TO_UDINT(4), "ClassSvr",

//Initialization values
0$UDINT,
26$UDINT,
TO_UDINT(1), "SimulateMode", TO_UDINT(0),//|Axis2Net._LMCAxis2.SimulateMode;
TO_UDINT(1), "ExUnits", TO_UDINT(65536),//|Axis2Net._LMCAxis2.ExUnits;
TO_UDINT(1), "IntUnits", TO_UDINT(360deg),//|Axis2Net._LMCAxis2.IntUnits;
TO_UDINT(1), "VMax", TO_UDINT(24000deg),//|Axis2Net._LMCAxis2.VMax;
TO_UDINT(1), "AMax", TO_UDINT(96000deg),//|Axis2Net._LMCAxis2.AMax;
TO_UDINT(1), "Tjerk", TO_UDINT(10),//|Axis2Net._LMCAxis2.Tjerk;
TO_UDINT(1), "MoveType", TO_UDINT(_JERK_PROFILE),//|Axis2Net._LMCAxis2.MoveType;
TO_UDINT(1), "Resolution", TO_UDINT(1),//|Axis2Net._LMCAxis2.Resolution;
TO_UDINT(1), "Modulo", TO_UDINT(0),//|Axis2Net._LMCAxis2.Modulo;
TO_UDINT(1), "SWMinPos", TO_UDINT(0),//|Axis2Net._LMCAxis2.SWMinPos;
TO_UDINT(1), "SWMaxPos", TO_UDINT(0),//|Axis2Net._LMCAxis2.SWMaxPos;
TO_UDINT(1), "ErrorConfig", TO_UDINT(2#0000000001000000),//|Axis2Net._LMCAxis2.ErrorConfig;
TO_UDINT(1), "AEmergency", TO_UDINT(0),//|Axis2Net._LMCAxis2.AEmergency;
TO_UDINT(1), "JMax", TO_UDINT(0),//|Axis2Net._LMCAxis2.JMax;
TO_UDINT(1), "Config", TO_UDINT(0),//|Axis2Net._LMCAxis2.Config;
TO_UDINT(1), "ID", TO_UDINT(0),//|Axis2Net._LMCAxis2.ID;
TO_UDINT(4), "TriangleMode", TO_UDINT(1),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisInt1.TriangleMode;
TO_UDINT(6), "LogOffset", TO_UDINT(0),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisLogViewer1.LogOffset;
TO_UDINT(7), "LogOffset", TO_UDINT(1),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisLogViewer2.LogOffset;
TO_UDINT(8), "LogOffset", TO_UDINT(2),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisLogViewer3.LogOffset;
TO_UDINT(9), "LogOffset", TO_UDINT(3),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisLogViewer4.LogOffset;
TO_UDINT(10), "LogOffset", TO_UDINT(4),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisLogViewer5.LogOffset;
TO_UDINT(11), "MovRefPosWindow", TO_UDINT(0),//|Axis2Net._LMCAxisVis1\_LMCAxis2\_LMCAxisVisPara1.MovRefPosWindow;
TO_UDINT(14), "Config", TO_UDINT(0),//|Axis2Net._LMCAxis2\_LMCPublisher1.Config;
TO_UDINT(14), "ID", TO_UDINT(0),//|Axis2Net._LMCAxis2\_LMCPublisher1.ID;
TO_UDINT(16), "SetConf", TO_UDINT(2#101),//|Axis2Net.DrivePosControlSafety2.SetConf;

//Symbolic initialization values
0$UDINT,
0$UDINT,

//Initialization of string values
0$UDINT,
0$UDINT,

//Configuration of tasks (RealTime, Cyclic, Background)
0$UDINT,
1$UDINT,
TO_UDINT(1), (1)$UDINT, 4194303$DINT, 	//_LMCAXIS2

0$UDINT,
0$UDINT,

0$UDINT,
2$UDINT,
TO_UDINT(1), (100)$UDINT, 4194303$DINT, 	//_LMCAXIS2
TO_UDINT(12), (100)$UDINT, 4194303$DINT, 	//_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVOVMONITORING

//External connections
0$UDINT,
3$UDINT,
TO_UDINT(1), "ActPosition", C_TRY, TO_UDINT(2134913155), "MDD2000_Axis2","ActPos",
TO_UDINT(16), "DriveAxis", C_TRY, TO_UDINT(2134913155), "MDD2000_Axis2","CmdState",
TO_UDINT(17), "Position", C_DIR, TO_UDINT(2134913155), "MDD2000_Axis2","ActPos",

//Magic internal connections
0$UDINT,
21$UDINT,
TO_UDINT(2), "HWMin", TO_UDINT(1), "HWMin",
TO_UDINT(2), "HWMax", TO_UDINT(1), "HWMax",
TO_UDINT(2), "ZImpulse", TO_UDINT(1), "ZImpulse",
TO_UDINT(2), "RefSwitch", TO_UDINT(1), "RefSwitch",
TO_UDINT(2), "LatchPos", TO_UDINT(1), "LatchPos",
TO_UDINT(4), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(5), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(6), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(7), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(8), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(9), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(10), "LMCAxisBase", TO_UDINT(3), "LMCAxisBase",
TO_UDINT(14), "Provider", TO_UDINT(1), "Provider",
TO_UDINT(14), "Config", TO_UDINT(1), "Config",
TO_UDINT(14), "ID", TO_UDINT(1), "ID",
TO_UDINT(15), "HWReady", TO_UDINT(1), "HWReady",
TO_UDINT(15), "HWError", TO_UDINT(1), "HWError",
TO_UDINT(15), "HWMin", TO_UDINT(1), "HWMin",
TO_UDINT(15), "HWMax", TO_UDINT(1), "HWMax",
TO_UDINT(15), "Emergency", TO_UDINT(1), "Emergency",
TO_UDINT(15), "LMCController", TO_UDINT(1), "LMCController",

//Configuration of timeslots of tasks (RealTime, Cyclic)
#ifdef __LSLLDR_TIMESLOTS__
0$UDINT,
0$UDINT,

0$UDINT,
0$UDINT,

#endif //__LSLLDR_TIMESLOTS__

//MultiMaster connections
#ifdef __LSLLDR_MULTIMASTER__
0$UDINT,
0$UDINT,
#endif //__LSLLDR_MULTIMASTER__

//Configuration for task ID (RealTime, CyclicTime)
#ifdef __LSLLDR_TASKID__
"\\\\TASKS2  "
0$UDINT,
1$UDINT,
(0)$UDINT, 	//_LMCAXIS2

0$UDINT,
0$UDINT,

0$UDINT,
2$UDINT,
(0)$UDINT, 	//_LMCAXIS2
(0)$UDINT, 	//_LMCAXIS2\_LMCAXISVIS1\_LMCAXISVOVMONITORING

#endif //__LSLLDR_TASKID__

END_FUNCTION