13.1 Sample Program
13.1.1 Step Out Detection by Comparing Feedback Value with Elapsed Value
This section describes a program example for comparing the count of the output pulses with the
count of the feedback pulses during the E-point control and for making a deceleration stop if the
count is out of the allowable range.
● Using the PG_ReadStatus function block, read the pulse output elapsed value and the pulse
count of the feedback counter.
• Pulse output elapsed value (AbsoluteCounter output parameter)
• Pulse count of the feedback counter (FeedbackCounter output)
● In the following program, a deceleration stop is performed when the following state is
reached.
"Pulse output elapsed value"-"Pulse count of the feedback counter" > 1000 (u)
■
Program (ST)
Declaration section
PROGRAM sample
VAR
Process :UDINT := 0;
PG_Power_0: PG_Power;
PG_MoveRelative_0: PG_MoveRelative;
PG_Stop_0: PG_Stop;
PG_ReadStatus_0: PG_ReadStatus;
END_VAR
Implementation section
CASE Process OF
0://Servo On
PG_Power_0(
UnitID:=1,
AxisNo:=1,
Enable:=TRUE,
bRegulatorOn:=TRUE);
IF PG_Power_0.Status = TRUE THEN
Process := 1;
END_IF
1://Execute the PG_MoveRelative
PG_MoveRelative_0(
UnitID:=1,
AxisNo:=1,
Execute:=TRUE,
Distance:= 10000,
Velocity:=10000,
AccDec:=10000);
PG_ReadStatus_0(
UnitID:=1,
AxisNo:=1,
Enable:=TRUE);
IF PG_ReadStatus_0.AbsoluteCounter - PG_ReadStatus_0.FeedbackCounter
13.1 Sample Program
13-2 WUME-GM1PG-01