CASE STEP OF
0:
Axis0Enable := TRUE;
Axis1Enable := TRUE;
MC_Power_1(
Axis:= Axis_0,
Enable:= Axis0Enable,
bRegulatorOn:= Axis0Enable,
bDriveStart:= Axis0Enable,
Status=> Axis0Status,
bRegulatorRealState=> ,
bDriveStartRealState=> ,
Busy=> ,
Error=> ,
ErrorID=> );
MC_Power_2(
Axis:= Axis_1,
Enable:= Axis1Enable,
bRegulatorOn:= Axis1Enable,
bDriveStart:= Axis1Enable,
Status=> Axis1Status,
bRegulatorRealState=> ,
bDriveStartRealState=> ,
Busy=> ,
Error=> ,
ErrorID=> );
IF Axis0Status = TRUE AND Axis1Status = TRUE THEN
STEP := 1;
END_IF
1:
//第一个轴
Axis0RelExecute := TRUE;
Axis0Distance := 20;
Axis0Vel := 5;
Axis0Acc := 50;
Axis0Dec := 25;
//第二个轴
Axis1RelExecute := TRUE;
Axis1Distance := 20;
Axis1Vel := 5;
Axis1Acc := 50;
Axis1Dec := 25;
STEP := 2;
2:
IF Axis0Done = TRUE AND Axis1Done = TRUE THEN
Axis0RelExecute := FALSE;
Axis1RelExecute := FALSE;
STEP := 3;
END_IF
3:
//第一个轴
Axis0RelExecute := TRUE;
Axis0Distance := -20;
Axis0Vel := 5;
Axis0Acc := 50;
Axis0Dec := 25;
//第二个轴
Axis1RelExecute := TRUE;
Axis1Distance := -20;
Axis1Vel := 5;
Axis1Acc := 50;
Axis1Dec := 25;
STEP := 4;
4:
IF Axis0Done = TRUE AND Axis1Done = TRUE THEN
Axis0RelExecute := FALSE;
Axis1RelExecute := FALSE;
STEP := 5;
END_IF
5:
STEP := 1;
END_CASE
MC_MoveRelative_1(
Axis:= Axis_0,
Execute:= Axis0RelExecute,
Distance:= Axis0Distance,
Velocity:= Axis0Vel,
Acceleration:= Axis0Acc,
Deceleration:= Axis0Dec,
Jerk:= ,
Done=> Axis0Done,
Busy=> Axis0Busy,
CommandAborted=> ,
Error=> ,
ErrorID=> );
MC_MoveRelative_2(
Axis:= Axis_1,
Execute:= Axis1RelExecute,
Distance:= Axis1Distance,
Velocity:= Axis1Vel,
Acceleration:= Axis1Acc,
Deceleration:= Axis1Dec,
Jerk:= ,
Done=> Axis1Done,
Busy=> Axis1Busy,
CommandAborted=> ,
Error=> ,
ErrorID=> );
MC_Home_0(
Axis:= Axis_0,
Execute:= Home0Exe,
Position:= 0,
Done=> Home0Done,
Busy=> ,
CommandAborted=> ,
Error=> ,
ErrorID=> );
MC_Home_1(
Axis:= Axis_1,
Execute:= Home1Exe,
Position:= 0,
Done=> Home1Done,
Busy=> ,
CommandAborted=> ,
Error=> ,
ErrorID=> );
原文链接:http://www.yanjuntech.cn/archives/1081