
PoKeys Pulse engine v2 documentation
31
www.poscope.com
PoKeys Pulse engine operates in different modes with additional modes selectable per each axis.
Modes of operation
Stopped
: the pulse engine does not generate any pulses.
Error
: the pulse engine encountered an error (e.g. limit switch was activated).
Homing
: homing mode is activated. In this mode, one or more axes can be homed. The
selected axis (or axes) moves in negative direction at predefined fraction of the maximum
speed until the home switch is tripped. Then, the direction is changed to positive and speed
decreased to half the previous speed. When the switch is tripped, the internal position
counter is reset and the axis is commanded to stop. This operation does not include moving
back to position 0. The state of homing procedure is reflected in axes states.
Probing
: during probing, selected axes are actuated by PoKeys device until a probe signal has
changed to a predefined state. The position of the axes is saved and the motion is stopped.
(MPG) Jogging
: if axis has an MPG assigned, the MPG jog is done by PoKeys device itself
using the MPG multiplier value.
Running
: normal operation mode. In this mode, each axis can be put into either the ‘buffer’
mode (the internal controller is disabled and the slots are fed direclty from a slot buffer,
which must be constantly filled by the external application) or into the ‘internal controller
mode’:
o
internal position control: moves the axis to the desired position, following the
limitations set by the axis parameters,
o
internal speed control: moves the axis at the desired speed, following the limitations
set by the axis parameters.
Internal controller modes and buffer mode utilize separate internal buffers for operation. Hence,
changing between internal or external (buffered) mode does not require clearing the motion buffers.
Moreover, internal controller can be used on selected axes in parallel to the external (buffered)
mode on other axes (new to Pulse engine v2).
In buffer (slave) mode, the generated motion is transferred and temporarily stored in the timeslot
buffer - a 128-slots deep buffer that holds pulse frequencies for each axis, giving a 128 millisecond
buffered motion period. Each slot entry in the buffer holds 16 bytes (2 byte per axis) and each axis
entry uses 15-bits for pulse frequency and MSB bit for the direction signal (if MSB bit is set, the
direction output is activated). Although buffer holds 16 bytes per time slot, only [number of activated
axes] bytes are transferred for each slot using default ‘Fill motion buffer’ command.
Fill buffer command is used to transfer the data to the slot buffer. Application that uses the fill buffer
command should send as much time slot data as possible. PoKeys Pulse engine will then return the
number of accepted time slots. This omits the need of additional query on the buffer free space in
PoKeys Pulse engine buffer. Application should only then increase the 'read pointer' based on the
number of accepted slots. Additionally, fill buffer command returns a number of parameters of the
pulse engine (position, engine state, state of limit and home switches and states of each axis).
In Mach3 plugin, PoKeys Pulse engine operates in buffer (slave) mode during job execution and
executes the motion, generated by Mach3 motion planner. During jogging, MPG jogging, homing,
probing operations, the selected axis is switched to internal motion controller, enabling real-time