DIRDRIVE mode is used to simulate the axes control without operating the functional part; all the returned information is calculated.
The behavior of the axis can therefore be analyzed independently from the functional part.
Direct mode is selected by assigning value 1 to the word MODE_SEL (%QWr.m.c.0.).
On a request to change mode, the moving part is stopped, then the mode is changed. When the command for switching into direct mode has been recognized, the bit IN_DIRDR (%Ir.m.c.17) is set to 1.
Execution of commands in direct mode
Direct mode includes the movement command DIRDRV (%Qr.m.c.0).
The speed setpoint is transmitted periodically by the variable PARAM (%QDr.m.c.2). The sign of this variable gives the movement direction.
The speed of the translator is controlled between SS_FREQ and FMAX. These values are defined in the configuration screen (FMAX) and in the adjustment screen (SS_FREQ).
The bit ST_DIRDR (%Ir.m.c.20) indicates that a movement is in progress in DIRDRIVE mode.
When the setpoint is changed, the output achieves the new setpoint according to a trapezoid speed law, respecting the parameterized acceleration .
Execution of the DIRDRIVE command
The general conditions for execution of the DIRDRIVE command are as follows:
-
Axis without blocking fault bit AX_OK = : (%Ir.m.c.3).
-
STOP command (%Qr.m.c.8) inactive and confirmation bit of the translator relay ENABLE (%Qxy.i.10) set to 1.
-
Parameter PARAM (%QDr.m.c.2) between - FMAX and -SS_FREQ or between SS_FREQ and FMAX of the selected axis.
A movement may be stopped by:
-
The appearance of the STOP command or the setting to 0 of the confirmation bit of the translator relay ENABLE (%Qr.m.c.10).
-
The appearance of a blocking error or a software limit error.
-
Changing the operating mode.
-
Receiving a configuration.
-
The switch to the end of run plus limit (or minus) during a movement in the plus (or minus) direction.
NOTE: Software limit monitoring remains active is the axis is referenced. To disable this monitoring, cause the axis reference to be lost by temporarily diasabling ENABLE (%Qr.m.c.10) to 0 and confirming by setting ENABLE to 1 or by pressing the confirmation button.