PROGRAM MAIN
VAR
M1: DUT_MotionStage:=(nCommand:=3);
M2: DUT_MotionStage:=(nCommand:=3);
M3: DUT_MotionStage:=(nCommand:=3);
M4: DUT_MotionStage:=(nCommand:=3);
M5: DUT_MotionStage:=(nCommand:=3);
M6: DUT_MotionStage:=(nCommand:=3);
fbMotion1: FB_MotionStage;
fbMotion2: FB_MotionStage;
fbMotion3: FB_MotionStage;
fbMotion4: FB_MotionStage;
fbMotion5: FB_MotionStage;
fbMotion6: FB_MotionStage;
bM1CWLimit AT %I* : BOOL;
bM1CCWLimit AT %I* : BOOL;
bM2CWLimit AT %I* : BOOL;
bM2CCWLimit AT %I* : BOOL;
bM3CWLimit AT %I* : BOOL;
bM3CCWLimit AT %I* : BOOL;
bM4CWLimit AT %I* : BOOL;
bM4CCWLimit AT %I* : BOOL;
bM5CWLimit AT %I* : BOOL;
bM5CCWLimit AT %I* : BOOL;
bM6CWLimit AT %I* : BOOL;
bM6CCWLimit AT %I* : BOOL;
iM2Encoder AT %I* : INT;
iM3Encoder AT %I* : INT;
iM4Encoder AT %I* : INT;
iM5Encoder AT %I* : INT;
iM6Encoder AT %I* : INT;
END_VAR
// Motor 1 XTAL ANGLE X (SP1L0-KMONO-MMS-01)
M1.bLimitForwardEnable := bM1CWLimit; //TRUE
M1.bLimitBackwardEnable := bM1CWLimit; //TRUE
M1.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M1.bHardwareEnable := TRUE;
M1.bPowerSelf := TRUE;
fbMotion1(stMotionStage:=M1);
// Motor 2 XTAL VERT Y (SP1L0-KMONO-MMS-02)
M2.bLimitForwardEnable := bM2CCWLimit; //(+Y)
M2.bLimitBackwardEnable := bM2CWLimit; //(-Y)
M2.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M2.bHardwareEnable := TRUE;
M2.bPowerSelf := TRUE;
fbMotion2(stMotionStage:=M2);
// Motor 3 RETICLE HORIZ X (SP1L0-KMONO-MMS-03)
M3.bLimitForwardEnable := bM3CCWLimit; //(+X)
M3.bLimitBackwardEnable := bM3CWLimit; //(-X)
M3.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M3.bHardwareEnable := TRUE;
M3.bPowerSelf := TRUE;
fbMotion3(stMotionStage:=M3);
// Motor 4 RETICLE VERT Y (SP1L0-KMONO-MMS-04)
M4.bLimitForwardEnable := bM4CWLimit; //(+Y)
M4.bLimitBackwardEnable := bM4CCWLimit; //(-Y)
M4.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M4.bHardwareEnable := TRUE;
M4.bPowerSelf := TRUE;
fbMotion4(stMotionStage:=M4);
// Motor 5 DIODE HORIZ X (SP1L0-KMONO-MMS-05)
M5.bLimitForwardEnable := bM5CCWLimit; //(+X)
M5.bLimitBackwardEnable := bM5CWLimit; //(-X)
M5.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M5.bHardwareEnable := TRUE;
M5.bPowerSelf := TRUE;
fbMotion5(stMotionStage:=M5);
// Motor 6 DIODE VERT Y (SP1L0-KMONO-MMS-06)
M6.bLimitForwardEnable := bM6CWLimit; //(+Y)
M6.bLimitBackwardEnable := bM6CCWLimit; //(-Y)
M6.nEnableMode := Enum_StageEnableMode.STAGE_ENABLE_ALWAYS;
M6.bHardwareEnable := TRUE;
M6.bPowerSelf := TRUE;
fbMotion6(stMotionStage:=M6);
END_PROGRAM