Example of a Cmd Table

Overview

The following code shows an exemplary command table.

(*** Prepare ***)

TPL.FC_FirstStep(udiStepIndex, diStep);
astPrepareTable[udiStepIndex].sTitle               := 'DriveEnable MultiBelt';
astPrepareTable[udiStepIndex].udiModuleName            := c_udiMul­tiBelt;
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_udiMul­tiBelt;
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_udiMul­tiBelt;
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_udiMul­tiBelt;
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_udiMul­tiBelt;
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_udiChar­lyGroup2;
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_udiChar­lyGroup2;
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_udiMul­tiBelt;
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_udiChar­lyGroup2;
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_udiMul­tiBelt;
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_udiChar­lyGroup2;
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_udiChar­lyGroup2;
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_udiChar­lyGroup2;
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_udiMul­tiBelt;
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_udiMul­tiBelt;
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_udiMul­tiBelt;
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;