10-69
10 Sample Programming
NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
10-2 Basic Programming
Samples
10
10-2-14 Shifting the Phase of a Master Axis in Cam Motion
END_IF;
// If homing is completed for axis 0, velocity control is executed.
IF Hm1_D=TRUE THEN
Vel_Ex:=TRUE;
END_IF;
// When axis 0 reaches the target velocity and the home is defined for axis 1, cam operation is executed.
IF (Vel_InVel=TRUE)
AND (MC_Axis001.Details.Homed=TRUE) THEN
Camin_Ex := TRUE;
END_IF;
// If StartOn is TRUE and cam motion is in sync, shifting the phase of the master axis is started.
IF (StartOn=TRUE)
AND (Camin_InSync=TRUE) THEN
Phasing_Ex:=TRUE;
END_IF;
// MC_Power for axis 0
PWR1(
Axis := MC_Axis000,
Enable := Pwr1_En,
Status => Pwr1_Status,
Busy => Pwr1_Bsy,
Error => Pwr1_Err,
ErrorID => Pwr1_ErrID
);
// MC_Power for axis 1
PWR2(
Axis := MC_Axis001,
Enable := Pwr2_En,
Status => Pwr2_Status,
Busy => Pwr2_Bsy,
Error => Pwr2_Err,
ErrorID => Pwr2_ErrID
);
// MC_Home for axis 0
HM1(
Axis := MC_Axis000,
Execute := Hm1_Ex,
Done => Hm1_D,
Busy => Hm1_Bsy,
CommandAborted => Hm1_Ca,
Error => Hm1_Err,
ErrorID => Hm1_ErrID
);
// MC_Home for axis 1
HM2(
Axis := MC_Axis001,
Execute := Hm2_Ex,
Done => Hm2_D,
Busy => Hm2_Bsy,
CommandAborted => Hm2_Ca,
Error => Hm2_Err,
ErrorID => Hm2_ErrID
);
//MC_MoveVelocity
VEL(
Axis := MC_Axis000,