2.1.3.2 High-speed Inputs/Outputs
Commander controllers have high-speed inputs and outputs with dedicated functions. These include position latching inputs and synchronization outputs. If these functions are not required for an application, they can also be used as general-purpose inputs or outputs.
Commander controllers provide four (4) high-speed inputs. Each input can be independently set as a position latching input or general-purpose input. By default, these inputs are set to general-purpose input.
On this page
Position Latching Inputs
Any of the four high-speed inputs can be set independently to be position latch inputs by enabling the feature using the LT[axis] command for the corresponding axis. This feature allows the controller to perform a high-speed position capture of both pulse and encoder counters based on a digital input trigger. The timing between digital input trigger being received and the capture of the pulse and encoder position is 150 to 200ns.
Each axis has a designated digital input to perform a high-speed position latch.
Corresponding latch input for each axis:
|
Axis |
Input |
|
X |
DI1/LTCx |
|
Y |
DI2/LTCy |
|
Z |
DI3/LTCz |
|
U |
DI4/LTCu |
Latching inputs
Use the LT[axis] command to enable and disable the latch feature. To read the latch status, use the latch status LTS[axis] command.
Return values of the latch status command:
|
Value |
Condition |
|
0 |
Latch off |
|
1 |
Latch on and waiting for latch trigger |
|
2 |
Latch triggered |
LTS command return
Once the latch is triggered, the triggered pulse position can be retrieved using LTP[axis] command. Similarly, the triggered encoder position can be retrieved using the LTE[axis] command.
When StepNLoop mode is enabled, the position value is invalid.
High-Speed Digital Inputs
Any of the four high-speed inputs can be set independently to be general-purpose inputs by disabling the position latch feature using the LT[axis] command for the corresponding axis. These inputs are set to general-purpose by default.
The digital input status of all four available inputs can be read with the DI command. Digital input values can also be referenced one bit at a time by using the DI[1-4] commands. Note that the indexes are 1-based for the bit references. For example, DI1 refers to bit 0, not bit 1.
|
Bit |
Input |
Bit-Wise Command |
|
0 |
Digital Input 1 |
DI1 |
|
1 |
Digital Input 2 |
DI2 |
|
2 |
Digital Input 3 |
DI3 |
|
3 |
Digital Input 4 |
DI4 |
DI command
If a digital input is on, the corresponding bit of the DI command is 1. Otherwise, the bit status is 0. The voltage level required to activate a digital input is determined by the polarity setting. The DIP command can be used to toggle the polarity of the digital inputs.
High-Speed Digital Outputs
Commander controllers provide four (4) high-speed outputs. Each output can independently be set as a synchronization output or a general-purpose output. By default, the outputs are set to general-purpose outputs.
Synchronization Outputs
Commander controllers provide four high-speed synchronization outputs. This feature allows the controller to perform a high-speed comparison between the encoder or pulse position counter and a set condition (comparator), which is set with the SYNP[axis] command. When the condition is met, the corresponding synchronization output is enabled. The timing between the condition being met and the synchronization output being triggered is 150 to 200ns.
There are three modes for the synchronization outputs to be enabled, which can be set with the SYNC[axis] command:
- At position mode (counter = comparator)
- > or < position mode (counter is either > or < than the comparator)
- Continuous mode (every comparator position)
For continuous mode, and at position mode, the output can be output in both directions, or limited to only one direction (positive or negative) of movement.
For > or < position mode, you can select only Counter > Comparator or Counter < Comparator.
|
Bit |
Description |
Decimal |
||
|
Pulse Position |
Encoder Position |
|||
|
0-3 |
Synchronization Condition: |
From sync source: |
||
|
0001 |
Trigger when sync position = actual position. Any direction |
1 |
17 |
|
|
0010 |
Trigger when sync position = actual position. Positive motion |
2 |
18 |
|
|
0011 |
Trigger when sync position = actual position. Negative motion |
3 |
19 |
|
|
0100 |
Trigger when sync position > actual position |
4 |
20 |
|
|
0101 |
Trigger when sync position < actual position |
5 |
21 |
|
|
0111 |
Reserved/not available |
|
|
|
|
1000 |
Trigger every sync position. Any direction |
8 |
24 |
|
|
1001 |
Trigger every sync position. Positive motion |
9 |
25 |
|
|
1010 |
Trigger every sync position. Negative motion |
10 |
26 |
|
|
4 |
Synchronization Source: |
|
|
|
|
0 |
Sync position will be compared to pulse position |
|
|
|
|
1 |
Sync position will be compared to encoder position |
|
|
|
Synchronization mode and source (SYNC)

Block Diagram of synchronization function
Each axis has a designated high-speed synchronization output. While synchronization output is enabled for an axis, the corresponding digital output cannot be manually controlled by the user.
Corresponding synchronization output for each axis:
|
Axis |
Output |
|
X |
DO1/SYNCx |
|
Y |
DO2/SYNCy |
|
Z |
DO3/SYNCz |
|
U |
DO4/SYNCu |
Synchronization output
Use the SYNO[axis] command to enable and the SYNF[axis] command to disable the synchronization feature. To read the synchronization status, use the synchronization status SYNS[axis] command (2-bit).
|
Bit |
Condition |
Setting |
|
|
0 |
Synchronization function |
0 - Disabled |
1 - Enabled |
|
1 |
Synchronization Window |
0 - Disabled |
1 - Enabled |
SYNS command return
In continuous mode, there is an option for a synchronization window function. When enabled with the SYNWO[axis] command, the synchronization function runs continuously, but only outputs a pulse when the counter is between the synchronization maximum SYNMAX[axis] and minimum SYNMIN[axis] points. There is no loss of synchronization when outside the synchronization window while continuous mode is enabled. To disable the window function, use the SYNWF[axis] command; synchronization will not be lost. To simultaneously disable the window function and continuous sync mode, use the SYNF[axis] command.
The DOP can be used to toggle the polarity of the digital outputs.
|
ASCII |
|||||
|
Standalone |
SYNON[axis] |
- |
SYNOFF[axis] |
- |
SYNSTAT[axis] |
|
ASCII |
|||||
|
Standalone |
SYNPOS[axis] |
SYNCFG[axis] |
- |
- |
- |
High-Speed Digital Outputs
Any of the four high-speed outputs can be set independently to be general-purpose outputs by disabling the synchronization feature using the SYNF[axis] command for the corresponding axis. These outputs are set to general-purpose by default.
The 4-bit DO command can be used to set all the digital outputs at once. The DO value is a decimal number and must be within the range of 0-15.
Digital outputs can also be set one at a time with the DO[1-4] commands. The indexes are 1-based for the bit references, for example, DO1 refers to bit 0, not bit 1.
|
Bit |
Output |
Bit-Wise Command |
|
0 |
Digital Output 1 |
DO1 |
|
1 |
Digital Output 2 |
DO2 |
|
2 |
Digital Output 3 |
DO3 |
|
3 |
Digital Output 4 |
DO4 |
Table DO command
If a digital output is turned on, the corresponding bit of the DO command is 1. Otherwise, the bit status is 0. The voltage level of the digital output when it is on or off is determined by the polarity setting. The DOP command can be used to toggle the polarity of the digital outputs.
The initial state of the digital outputs can be defined by setting the 4-bit DOBOOT register to the desired initial digital output value. The DOBOOT value must be within the range of 0-15. The value is stored to flash memory once the STORE command is issued.
|
Bit |
Output |
Setting |
|
0 |
Digital Output 1 |
0 - OFF 1 - ON |
|
1 |
Digital Output 2 |
0 - OFF 1 - ON |
|
2 |
Digital Output 3 |
0 - OFF 1 - ON |
|
3 |
Digital Output 4 |
0 - OFF 1 - ON |
Table DOBOOT command