DUTs

GVLs

POUs

Main

PROGRAM Main
VAR
    //declare motion stage objects to connect with io
    //SAMPLE_Y
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:ALL_H'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:SAMPLE_Y'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E2 (EL1088)^Channel 1^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E2 (EL1088)^Channel 3^Input
    '}
    M1 : DUT_MotionStage;
    //XTAL1_X
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:ALL_V'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL1_X'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E2 (EL1088)^Channel 4^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E2 (EL1088)^Channel 2^Input
    '}
    M2 : DUT_MotionStage;
    //XTAL1_CHI
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:XTAL_TH'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL1_CHI'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E5 (EL1088)^Channel 3^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E5 (EL1088)^Channel 1^Input
    '}
    M3 : DUT_MotionStage;
    ////XTAL1_TH
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:XTAL_TTH'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL1_TH'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E5 (EL1088)^Channel 4^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E5 (EL1088)^Channel 2^Input
    '}
    M4 : DUT_MotionStage;
    ////XTAL2_CHI
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:XTAL_H'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL2_CHI'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E8 (EL1088)^Channel 3^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E8 (EL1088)^Channel 1^Input
    '}
    M5 : DUT_MotionStage;
    //XTAL2_TH
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:XTAL_V'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL2_TH'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E8 (EL1088)^Channel 4^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E8 (EL1088)^Channel 2^Input
    '}
    M6 : DUT_MotionStage;
    //XTAL3_CHI
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:DET_H'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL3_CHI'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E11 (EL1088)^Channel 3^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E11 (EL1088)^Channel 1^Input
    '}
    M7 : DUT_MotionStage;
    //XTAL3_TH
    //{attribute 'pytmc' := 'pv: HXX:HXSS:ROV:MMS:DET_V'}
    {attribute 'pytmc' := 'pv: CXI:BERGMANN:MMS:XTAL3_TH'}
    {attribute 'TcLinkTo' := '.bLimitForwardEnable  := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E11 (EL1088)^Channel 4^Input;
                              .bLimitBackwardEnable := TIID^Device 1 (EtherCAT)^Term 1 (EK1200)^E11 (EL1088)^Channel 2^Input
    '}
    M8 : DUT_MotionStage;
    //declare axes
    fbMotion1 : FB_MotionStage;
    fbMotion2 : FB_MotionStage;
    fbMotion3 : FB_MotionStage;
    fbMotion4 : FB_MotionStage;
    fbMotion5 : FB_MotionStage;
    fbMotion6 : FB_MotionStage;
    fbMotion7 : FB_MotionStage;
    fbMotion8 : FB_MotionStage;
END_VAR
//invoke axes
fbMotion1(stMotionStage:=M1);
fbMotion2(stMotionStage:=M2);
fbMotion3(stMotionStage:=M3);
fbMotion4(stMotionStage:=M4);
fbMotion5(stMotionStage:=M5);
fbMotion6(stMotionStage:=M6);
fbMotion7(stMotionStage:=M7);
fbMotion8(stMotionStage:=M8);

//.bHardwareEnable
M1.bHardwareEnable:=TRUE;
M2.bHardwareEnable:=TRUE;
M3.bHardwareEnable:=TRUE;
M4.bHardwareEnable:=TRUE;
M5.bHardwareEnable:=TRUE;
M6.bHardwareEnable:=TRUE;
M7.bHardwareEnable:=TRUE;
M8.bHardwareEnable:=TRUE;

//.bPowerSelf
M1.bPowerSelf:=TRUE;
M2.bPowerSelf:=TRUE;
M3.bPowerSelf:=TRUE;
M4.bPowerSelf:=TRUE;
M5.bPowerSelf:=TRUE;
M6.bPowerSelf:=TRUE;
M7.bPowerSelf:=TRUE;
M8.bPowerSelf:=TRUE;

//Limit switches
//M3.bLimitBackwardEnable:=TRUE;
//M3.bLimitForwardEnable:=TRUE;
//M4.bLimitBackwardEnable:=TRUE;
//M4.bLimitForwardEnable:=TRUE;

END_PROGRAM