The following code shows a command table.
(*** Prepare ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astPrepareTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astPrepareTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astPrepareTable[udiStepIndex].diStep := diStep;
astPrepareTable[udiStepIndex].diCMD := MTBM.ET_Cmd.DriveEnableOn;
astPrepareTable[udiStepIndex].timTimeOut := T#0MS;
astPrepareTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astPrepareTable[udiStepIndex].sTitle := 'Homing Mode MultiBelt';
astPrepareTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astPrepareTable[udiStepIndex].diStep := diStep;
astPrepareTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Homing;
astPrepareTable[udiStepIndex].timTimeOut := T#0MS;
astPrepareTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astPrepareTable[udiStepIndex].sTitle := 'Start MultiBelt';
astPrepareTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astPrepareTable[udiStepIndex].diStep := diStep;
astPrepareTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Start;
astPrepareTable[udiStepIndex].timTimeOut := T#0MS;
astPrepareTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astPrepareTable[udiStepIndex].sTitle := 'End';
astPrepareTable[udiStepIndex].udiModuleName := 0;
astPrepareTable[udiStepIndex].diStep := diStep;
astPrepareTable[udiStepIndex].diCMD := 0;
astPrepareTable[udiStepIndex].timTimeOut := T#0MS;
astPrepareTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_FirstCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Prepare';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Prepare;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Auto ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astAutoTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := MTBM.ET_Cmd.DriveEnableOn;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'Automatic MultiBelt';
astAutoTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Automatic;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'Start MultiBelt';
astAutoTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Start;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'Endless Mode Slave3';
astAutoTable[udiStepIndex].udiModuleName := c_udiSlave3;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := AXM.ET_Cmd.Endless;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'Positioning Mode Slave4';
astAutoTable[udiStepIndex].udiModuleName := c_udiSlave4;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := AXM.ET_Cmd.Positioning;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'Start Slave3';
astAutoTable[udiStepIndex].udiModuleName := c_udiSlave3;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := AXM.ET_Cmd.Start;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astAutoTable[udiStepIndex].sTitle := 'End';
astAutoTable[udiStepIndex].udiModuleName := 0;
astAutoTable[udiStepIndex].diStep := diStep;
astAutoTable[udiStepIndex].diCMD := 0;
astAutoTable[udiStepIndex].timTimeOut := T#0MS;
astAutoTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Auto';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Auto;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Manual ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astManualTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astManualTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astManualTable[udiStepIndex].diStep := diStep;
astManualTable[udiStepIndex].diCMD := MTBM.ET_Cmd.DriveEnableOn;
astManualTable[udiStepIndex].timTimeOut := T#0MS;
astManualTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astManualTable[udiStepIndex].sTitle := 'Manual Mode MultiBelt';
astManualTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astManualTable[udiStepIndex].diStep := diStep;
astManualTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Manual;
astManualTable[udiStepIndex].timTimeOut := T#0MS;
astManualTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astManualTable[udiStepIndex].sTitle := 'End';
astManualTable[udiStepIndex].udiModuleName := 0;
astManualTable[udiStepIndex].diStep := diStep;
astManualTable[udiStepIndex].diCMD := 0;
astManualTable[udiStepIndex].timTimeOut := T#0MS;
astManualTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Manual';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Manual;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Stop ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astStopTable[udiStepIndex].sTitle := 'Stop CharlyGroup2';
astStopTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astStopTable[udiStepIndex].diStep := diStep;
astStopTable[udiStepIndex].diCMD := AXM.ET_Cmd.Stop;
astStopTable[udiStepIndex].timTimeOut := T#0MS;
astStopTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astStopTable[udiStepIndex].sTitle := 'Manual Mode MultiBelt';
astStopTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astStopTable[udiStepIndex].diStep := diStep;
astStopTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Stop;
astStopTable[udiStepIndex].timTimeOut := T#0MS;
astStopTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astStopTable[udiStepIndex].sTitle := 'End';
astStopTable[udiStepIndex].udiModuleName := 0;
astStopTable[udiStepIndex].diStep := diStep;
astStopTable[udiStepIndex].diCMD := 0;
astStopTable[udiStepIndex].timTimeOut := T#0MS;
astStopTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Stop';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Stop;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Start ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astStartTable[udiStepIndex].sTitle := 'Start CharlyGroup2';
astStartTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astStartTable[udiStepIndex].diStep := diStep;
astStartTable[udiStepIndex].diCMD := AXM.ET_Cmd.Start;
astStartTable[udiStepIndex].timTimeOut := T#0MS;
astStartTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astStartTable[udiStepIndex].sTitle := 'Manual Mode MultiBelt';
astStartTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astStartTable[udiStepIndex].diStep := diStep;
astStartTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Start;
astStartTable[udiStepIndex].timTimeOut := T#0MS;
astStartTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astStartTable[udiStepIndex].sTitle := 'End';
astStartTable[udiStepIndex].udiModuleName := 0;
astStartTable[udiStepIndex].diStep := diStep;
astStartTable[udiStepIndex].diCMD := 0;
astStartTable[udiStepIndex].timTimeOut := T#0MS;
astStartTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Start';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Start;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Abort ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astAbortTable[udiStepIndex].sTitle := 'Stop CharlyGroup2';
astAbortTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astAbortTable[udiStepIndex].diStep := diStep;
astAbortTable[udiStepIndex].diCMD := AXM.ET_Cmd.Stop;
astAbortTable[udiStepIndex].timTimeOut := T#0MS;
astAbortTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astAbortTable[udiStepIndex].sTitle := 'Manual Mode MultiBelt';
astAbortTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astAbortTable[udiStepIndex].diStep := diStep;
astAbortTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Stop;
astAbortTable[udiStepIndex].timTimeOut := T#0MS;
astAbortTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astAbortTable[udiStepIndex].sTitle := 'End';
astAbortTable[udiStepIndex].udiModuleName := 0;
astAbortTable[udiStepIndex].diStep := diStep;
astAbortTable[udiStepIndex].diCMD := 0;
astAbortTable[udiStepIndex].timTimeOut := T#0MS;
astAbortTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Abort';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Abort;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Hold ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astHoldTable[udiStepIndex].sTitle := 'Manual Mode MultiBelt';
astHoldTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astHoldTable[udiStepIndex].diStep := diStep;
astHoldTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Hold;
astHoldTable[udiStepIndex].timTimeOut := T#0MS;
astHoldTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astHoldTable[udiStepIndex].sTitle := 'Hold Slave3';
astHoldTable[udiStepIndex].udiModuleName := c_udiSlave3;
astHoldTable[udiStepIndex].diStep := diStep;
astHoldTable[udiStepIndex].diCMD := AXM.ET_Cmd.Hold;
astHoldTable[udiStepIndex].timTimeOut := T#0MS;
astHoldTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astHoldTable[udiStepIndex].sTitle := 'Stop Slave4';
astHoldTable[udiStepIndex].udiModuleName := c_udiSlave4;
astHoldTable[udiStepIndex].diStep := diStep;
astHoldTable[udiStepIndex].diCMD := AXM.ET_Cmd.Stop;
astHoldTable[udiStepIndex].timTimeOut := T#0MS;
astHoldTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astHoldTable[udiStepIndex].sTitle := 'End';
astHoldTable[udiStepIndex].udiModuleName := 0;
astHoldTable[udiStepIndex].diStep := diStep;
astHoldTable[udiStepIndex].diCMD := 0;
astHoldTable[udiStepIndex].timTimeOut := T#0MS;
astHoldTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Hold';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.Hold;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;
(*********************************************************************************************************************)
(*** Brake Release ***)
TPL.FC_FirstStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'DriveEnable Off CharlyGroup2';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := AXM.ET_Cmd.DriveEnableOff;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'BrakeRelease Mode CharlyGroup2';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := AXM.ET_Cmd.BrakeRelease;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'Start CharlyGroup2';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiCharlyGroup2;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := AXM.ET_Cmd.Start;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := MTBM.ET_Cmd.DriveEnableOff;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := MTBM.ET_Cmd.BrakeRelease;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_NextStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'DriveEnable MultiBelt';
astBrakeReleaseTable[udiStepIndex].udiModuleName := c_udiMultiBelt;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := MTBM.ET_Cmd.Start;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := FALSE;
TPL.FC_LastStep(udiStepIndex, diStep);
astBrakeReleaseTable[udiStepIndex].sTitle := 'End';
astBrakeReleaseTable[udiStepIndex].udiModuleName := 0;
astBrakeReleaseTable[udiStepIndex].diStep := diStep;
astBrakeReleaseTable[udiStepIndex].diCMD := 0;
astBrakeReleaseTable[udiStepIndex].timTimeOut := T#0MS;
astBrakeReleaseTable[udiStepIndex].xEndCMD := TRUE;
TPL.FC_NextCmdTable(iq_udiTableIndex:= udiTableIndex);
astListofCMDTables[udiTableIndex].sTitle := 'Brake Release';
astListofCMDTables[udiTableIndex].diCMD := ET_Cmd.BrakeRelease;
astListofCMDTables[udiTableIndex].udiNumberOfCmdSteps := udiStepIndex;