Pulse output instructions
1083
Part III FP Instructions
r: Radius E (Xe,Ye) Target position (End)
|Ye-Yo|
r
|Xe-Xo|
r
Fx= Fvsin θ= Fv Fy= Fvcosθ =Fv
Example: Let channel 0 be the X-axis and channel 2 be the Y-axis. The position control mode is
absolute value control.
The current position is (=60°, Xs=5000, Ys=8660). Pulses are output from the X-axis (channel 0)
and the Y-axis (channel 2) at a speed of Fv=2000Hz. When the pass position (=-20°, Xp=9396,
Yp=3420) has been passed and the target position has been reached, pulse output stops (=-30°,
Xe=8660, Ye=-5000).
General programming information
The execution condition for this instruction must be continually TRUE. When the
execution condition is FALSE, pulse output stops.
The high-speed counter control flag (e.g. sys_bIsHscChannel0ControlActive) and
the pulse output control flag (e.g. sys_bIsPulseChannel0Active) are assigned to
the same internal relay (e.g. R903A). Therefore, when a high-speed counter
instruction or a pulse output instruction is executed, both the high-speed counter
control flag (e.g. sys_bIsHscChannel0ControlActive) and the pulse output control
flag (e.g. sys_bIsPulseChannel0Active) for the channel used are TRUE. No other
high-speed counter instruction or pulse output instruction can be executed as
long as this flag is TRUE.
Executing the circular interpolation control instruction F176 sets the circular
interpolation control flag (sys_bIsCircularInterpolationActive) to TRUE. The status
of this flag is maintained until the target value is reached (even if the execution
condition is no longer TRUE). During this time, other pulse output instructions
cannot be executed. To restart circular interpolation, perform a forced stop (stop
pulse output (see page 1021)) to set the circular interpolation control flag
(sy
s_bIsCi
rcularInterpolationActive) to FALSE.
If "Continue" has been selected for the operation connection mode, use a special
flag (sys_bIsCircularInterpolationOverwritingPossible) to permit overwriting of the
target value. The relay is TRUE for one scan when the circular interpolation
instruction is executed.
The target value for each axis must be within the range of -8388608–8388607.
When this instruction is used in combination with other pulse output instructions,
e.g. F171_PulseOutput_Trapezoidal (see page 1045), the target value in these
instructio
ns must be withi
n the same range.
The accuracy of circular interpolation may degrade if the scan time is too long.
Online editing during RUN mode is not available for this instruction.
If both the main program and the interrupt program contain code for the same
channel, make sure both are not executed simultaneously.
As there is no interpolation function for the home return, the home return should
be executed for each channel.
When using in applications requiring precision, test runs with the actual machine
are necessary.
Set any high-speed counter allocated to a pulse output channel to "Unused" in
the system registers.
We strongly recommend that you incorporate a forced stop (see page 1021)
option in you
r positioning p
rogram.
The status of the high-speed counter control flag or pulse output control flag may
change while a scan is being carried out. For example, if the flag is used more
than once as an input condition, different statuses may exist within one scan. To
ensure proper execution of the program, the status of the special internal relay
should be copied to a variable at the beginning of the program.