|
Cdios controller commands | Cdios firmware page
6167 Cdios Module V2.0 Commands
Addition to V2.0:
- START / STOP commands have an 'ENABLE' option to enable/disable the motor.
It will not run when it is not enabled.
- GOTO commands now have a maximum speed parameter
- Relative GOTO commands are relative to actual position or current setpoint
(e.g. last GOTO command)
- HOLD configuration removed. HOLD is now inherently ON while using GOTO
commands and off when using START/STOP control.
- FAILSAFE parameter to select endswitch / emergency and ZERO inputs active
high or active low
- Current limiting active status bit added
- Logic and motor power supply will be separated; a 'no motor power supply'
status bit is added
- Z-input hardware position changed, status bit added
- Motor not running status bits changed (now only one)
All CDIOS messages are presented as 8 bytes long. When variable length messages are
selected, the part of the message that is not send over the CAN bus is
represented in italic/light gray text.
Command code 20h: Set Analog Servo motor configuration
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
0 |
Minimum Speed (lsb) (msb) |
Maximum Speed (lsb) (msb) |
Slope |
|
1 |
Run Current |
0 |
Forward End Switch |
Reverse End Switch |
0 |
| 2 |
Pulses Per Revolution (lsb)
(msb) |
0 |
Auto Zero |
Slope Profile |
| 3 |
Positioning Error (lsb)
(msb) |
Gain Factor |
D Factor |
Failsafe |
|
Parameter |
Range |
Default |
Units |
Description |
|
Minimum Speed |
1-2500 |
50 |
RPM |
RPM is calculated from encoder pulses and the 'Pulses per revolution'
parameter. For higher precision with low RPM motors it is advised to set 'Pulses
per revolution' lower then the actual value (e.g. 10 times) to get a higher RPM
value. |
|
Maximum Speed |
50-32000 |
8000 |
|
Slope |
1 - 255 |
10 |
0.1 S |
The time it will take to accelerate from Minimum speed up to Maximum speed
(and decelerate to Minimum Speed), 0.1 - 25.5 Seconds The time will be
proportionally shorter when the motor's RPM is changed to an intermediate value. |
|
Run Current |
10 - 200 |
100 |
0.01A |
Set maximum motor current while motor is running, 0.10 - 2.00 A |
|
Forward End Switch |
0 - 1 |
1 |
|
Enable/disable (1/0) forward/reverse end switch checking
When enabled and the endswitch becomes active, the motor is immediately
stopped and the enable bit cleared (status3 bit 7) |
|
Reverse End Switch |
0 - 1 |
1 |
|
| Pulses Per Revolution |
1 - 10000 |
500 |
|
Defines the pulses per revolution of the encoder input, to
calculate the correct RPM |
| AutoZero |
0 - 1 |
0 |
|
| 0: |
Device does not Auto Zero the motor position. Z input has no other function
and can be used as digital input |
| 1: |
Device one time only sets the motor position to zero when the Zero and Index
inputs are active. Both inputs must become inactive to enable another reset. |
|
| Slope Profile |
0 - 1 |
0 |
|
| 0: |
linear slope |
| 1: |
sin2 slope |
|
| Positioning Error |
0 - 10000 |
25 |
|
The allowed error of the motor positioning system. After a
GOTO command, the controller tries to keep the motor position within the allowed
range from the setpoint. This can be stopped with a 'STOP' command |
| Gain Factor |
1- 255 |
32 |
|
RPM control loop gain. Higher gain means bigger (faster)
response on RPM errors (and possibly more oscillations) |
| D Factor |
0 - 255 |
32 |
|
RPM control loop derivative. Higher value means greater
response on change in RPM to dampen oscillations |
| Failsafe |
0 - 1 |
0 |
|
Defines how the endswitch / emergency and zero inputs act: 0
= active high (when input is above 11 Volts) 1 = active low (when input is
below 4 Volts) |
This command is only valid when the motor is not running.
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
If any error occurs, the current speed settings remain unchanged and an error
message is returned
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A0h |
0 - 15 |
0 |
0 |
Error Status1 |
Error Status2 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status1 |
0 |
1 = Motor is running |
|
1 |
1 = Selector parameter out of range |
|
2 |
1 = Minimum speed parameter out of range |
|
3 |
1 = Maximum speed parameter out of range |
|
4 |
1 = Slope parameter out of range |
| 5 |
1 = Pulses per revolution parameter out of range |
| 6 |
reserved |
| 7 |
1 = Autozero parameter out of range |
|
Error Status2 |
0 |
1 = Run current parameter out of range |
| 1 |
1 = Slope Profile parameter out of range |
| 2 |
1 = Forward end switch parameter out of range |
|
3 |
1 = Reverse end switch parameter out of range |
| 4 |
1 = Positioning Error parameter out of range |
| 5 |
1 = Gain Factor parameter out of range |
| 6 |
1 = Failsafe parameter out of range |
| 7 |
reserved |
Command code 20h: Read Analog Servo motor configuration
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80 - 82h |
0 |
0 |
0 |
0 |
0 |
Normal reply is:
|
Repy |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80h |
Minimum Speed (lsb) (msb) |
Maximum Speed (lsb) (msb) |
Slope |
|
81h |
Run Current
|
0 |
Forward end switch |
Reverse end switch |
0 |
| 82h |
Pulses Per Revolution (lsb)
(msb) |
0 |
AutoZero |
Slope Profile |
| 83h |
Positioning Error (lsb)
(msb) |
Gain Factor |
D Factor |
Failsafe |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A0h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
|
1 |
1 = Selector parameter out of range |
Command code 21h: Read current position
This command returns the current 32 bits (signed) motor position.
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
21h |
0 - 15 |
0 - 2 |
0 |
0 |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
0 |
Read current motor position |
| 1 |
Read latched motor position, latched by the latest SYNC command |
| 2 |
Read current setpoint (e.g. latest GOTO position) |
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
21h |
0 - 15 |
Selector (copy of command) |
(lsb) |
|
|
(msb) |
0 |
| Motor position |
|
Parameter |
Value |
Description |
|
Motor Position |
32 bits- long-int |
The requested 32 bits (signed) motor position |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A1h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Selector parameter out of range |
Command code 22h: Set position
This command sets the current 32 bits (signed) motor position and the current
setpoint.
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
22h |
0 - 15 |
0 |
(lsb) |
|
|
(msb) |
0 |
| motor position |
This command is only valid when the motor is not running.
Allowable range for motor position: -2147483648 up to 2147483647
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
22h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
If any error occurs, the current setting remains unchanged and an error
message is returned
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A2h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Motor is running |
Command code 23h: Goto position
This command causes the motor to move to the given 32 bits (signed) motor
position.
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
23h |
0 - 15 |
Selector |
(lsb) |
|
|
(msb) |
Speed |
| motor position or amount of steps |
This command is only valid when the motor is not running.
|
Parameter |
Bit |
Description |
|
Selector |
0 |
Move motor absolute to the given position |
|
1 |
Write position into internal latch, motor will move after SYNC command (note
1)
When a SYNC pulse is received without prior reception of the goto command
with selector = 1, the motor state remains unchanged. |
|
2 |
Move motor relative, motor moves forward when given amount of steps is
positive. New motor position is calculated by adding the amount of steps to
the current position, as long this is in the motor position range of -2147483648
up to 2147483647 (motor will move to the limit) |
|
3 |
Write relative position into internal latch, motor will move after SYNC command (note
1)
When a SYNC pulse is received without prior reception of the goto command
with selector = 3, the motor state remains unchanged. |
| 4 |
Move motor relative, motor moves forward when given amount of
steps is positive. New motor position is calculated by adding the amount of
steps to the current setpoint (e.g. last GOTO position) position, as long this
is in the motor position range of -2147483648 up to 2147483647 (motor will move
to the limit) |
| 5 |
Write setpoint relative position into internal latch, motor will move after SYNC command (note
1)
When a SYNC pulse is received without prior reception of the goto command
with selector = 3, the motor state remains unchanged. |
| Parameter |
Range |
Description |
| Speed |
0 - 255 |
Sets the maximum speed for this GOTO command, the speed
parameter is internally multiplied by 100 to get the maximum speed to use. This
speed is checked against and clamped to the configured minimum and maximum
speeds.
When speed is zero, the configured maximum speed is used... |
|
Motor Position |
-2147483648 up to 2147483647 |
32 bits long integer |
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
23h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
If any error occurs, the current setting remains unchanged and an error
message is returned
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A3h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Motor is running |
|
1 |
1 = Emergency stop, power failure or watchdog status active (note
2) |
|
2 |
1 = Selector parameter out of range |
| 3 - 6 |
reserved |
| 7 |
1 = Motor is not enabled |
Command code 24h: Start
This command is used to control the motor motion 'manually' Do not combine
this command with the 'goto position' command.
After a start command the Hold status (status 4 bit 2) will be zero
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
24h |
0 - 15 |
Selector |
Direction |
Option |
MotorSpeed (lsb)
(msb) |
0 |
This command is only valid when the motor is not running.
|
Parameter |
Value |
Description |
|
Selector |
0 |
Motor starts directly according to 'Direction' and 'Option' |
|
1 |
Motor starts after SYNC
command (note 1) |
|
Direction |
0 |
Motor starts in Forward direction, if forward end switch is inactive or
forward end switch checking is disabled |
|
1 |
Motor starts in Reverse direction, if reverse end switch is inactive or
reverse end switch checking is disabled |
|
Option |
0 |
Motor starts and remains at minimum speed |
|
1 |
Motor starts at minimum speed and accelerates to maximum speed This option
is allowed to be given when the motor already was started with option 0,
however, direction has to be the same. |
|
2 |
Motor starts and remains at minimum speed until the forward (when direction
if forward) or reverse (when direction is reverse) end switch is activated, even
if end switch checking is disabled. The motor will run a bit further after
the endswitch was activated. |
| 3 |
Motor will accelerate / decellerate from its current speed to
the selected motor speed.
- MotorSpeed is zero; the motor will stop
- MotorSpeed < minimum speed; minimum speed is used
- MotorSpeed > maximum speed, maximum speed is used
This option is not allowed to be given when the motor was already started
with option 2 or the motor is performing a GOTO operation. Otherwise it can
be given at any time. |
| 4 |
Motor starts and remains at minimum speed until the I (index)
input becomes active. The motor position is set to zero. The motor probably
will run a bit further after the I input became active. |
| 5 |
Enable the motor (it may run from now on). The current
position will be transferred to the setpoint. |
| MotorSpeed |
0 - 30000 |
Target MotorSpeed (Option = 3) |
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
24h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
If any error occurs, the current setting remains unchanged and an error
message is returned
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A4h |
0 - 15 |
0 |
0 |
Error Status1 |
Error Status2 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status1 |
0 |
1 = Motor is running |
|
1 |
1 = Emergency stop, watchdog status active or still motor power failure
(note 2) |
|
2 |
1 = Motor is running in opposite direction |
|
3 |
1 = Selector parameter out of range |
|
4 |
1 = Direction parameter out of range |
|
5 |
1 = Option parameter out of range |
| 6 |
1 = End switch active, cannot start |
| 7 |
1 = MotorSpeed parameter out of range, only checked if Option =
3 |
| Error Status2 |
0 -6 |
reserved |
| 7 |
1 = Motor is not enabled |
Command code 25h: Stop
This command is used to control the motor motion 'manually' This command
can be used to abort a still executing 'goto position' command (Option = 1 or
2).
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
25h |
0 - 15 |
Selector |
Option |
0 |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
0 |
Stop command is executed immediately |
|
1 |
Stop command is latched and executed after receiving SYNC command (note
1) |
|
Option |
0 |
Motor decelerates to minimum speed and remains at minimum speed |
|
1 |
Motor decelerates to minimum speed and then stops. The current position will
be transferred to the setpoint.
This option also stops the motor when is was started with a goto command, the
motor will be held at the setpoint |
|
2 |
Fast stop. The current position will be transferred to the
setpoint.
This option also stops the motor when is was started with a goto command, the
motor will be held at the setpoint
|
|
3 |
Release emergency stop condition, the emergency stop and power failure status
have to be inactive (note 2). |
| 4 |
Clear Hold status (status 4 bit 2). The motor is not held at the
setpoint any more. |
| 5 |
Disable the motor, it may not run anymore. If it's running it
does a fast stop... The Hold status is also cleared. |
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
25h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
If any error occurs, the current setting remains unchanged and an error
message is returned
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A5h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Motor is running (when option 4 selected) |
|
1 |
1 = Emergency stop or power failure status active (note 2) |
|
2 |
1 = Motor is not running (when option 0,1 or 2 selected) |
|
3 |
1 = Selector parameter out of range |
|
4 |
1 = Option parameter out of range |
| 5 |
1 = No emergency stop condition to release (when option 3
selected) |
| 6 |
reserved |
| 7 |
1 = Motor is not enabled |
Command code 26h: Read motor status
This commands reads the internal motor controller module status
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
26h |
0 - 15 |
0 - 1 |
0 |
0 |
0 |
0 |
0 |
|
Reply |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
26h |
0 - 15 |
0 |
Status 1 |
Status 2 |
Status 3 |
Status 4 |
0 |
| 1 |
MotorSpeed (lsb)
(msb) |
Motor Current |
Heatsink Temperature |
0 |
|
Parameter |
Bit / value |
Description |
|
Status 1 |
0 |
1 = Motor is running forward |
|
1 |
1 = Motor is running reverse |
|
2 |
1 = Motor is running until end switch found |
|
3 |
1 = Motor is running at minimum speed |
|
4 |
1 = Motor is running at maximum speed |
|
5 |
1 = Motor is accelerating |
|
6 |
1 = Motor is decelerating |
|
7 |
1 = Goto command is being executed |
|
Status 2 |
0 |
1 = Forward end switch active |
|
1 |
1 = Reverse end switch active |
|
2 |
1 = Emergency stop input is active (note 2) |
|
3 |
1 = Motor was stopped by an active and enabled forward end switch, These
status bit will be cleared by a start command |
|
4 |
1 = Motor was stopped by an active and enabled reverse end switch, These
status bit will be cleared by a start command |
|
5 |
1 = Motor was stopped by an emergency stop, power failure or watchdog
time-out. This status bit can only be cleared by a stop command with option
3, 'Goto' , 'Start' and other 'Stop' commands return an error is this bit is
set. When this bit is set, the motor will be disabled, so to start againg the
user must give; - a 'Stop' command (option = 3) to release the emergency -
a 'Start' command (option = 5) to enable the motor |
| 6 |
1 = Motor was stopped by 0.5 second 'watchdog' time-out. The
Cdios controller checks the 6167 with a short interval, when this fails, the
6167 performs an emergency stop. This will also set the emergency bit
(status2 bit 5). This bit is cleared when the emergency bit is cleared. |
| 7 |
1 = Motor was stopped by motor power supply failure. This
will also set the emergency bit (status2 bit 5). This bit is cleared when the
emergency bit is cleared. |
| Status 3 |
0 |
1 = Motor position was set to zero by I input (start command) or
Z and I inputs (AutoZero).
This status bit will be automatically cleared
when the status is read (note). |
| 1 |
1 = Heatsink temperature too high (note) |
| 2 |
1 = Motor does not run |
| 3 |
Reserved |
| 4 |
1 = Motor runs in opposite direction (+ and - terminals should
be changed). When this happens, the motor stops with an emergency stop, to
clear this status a STOP command with option=3 has to be given. |
| 5 |
1 = Encoder input frequency is too high, pulses may be missed |
| 6 |
1 = Motor current limiting is active (motorcurrent = maximum
current). This bit may also become set when heatsink temperature is above
85°C. |
| 7 |
1 = Motor is enabled |
| Status 4 |
0 |
1 = Z input active |
| 1 |
1 = Power failure active, motor has no power |
| 2 |
1 = Hold active, controller keeps motor at the setpoint |
| Motor Speed |
0 - 30000 |
The actual motor speed, value depends on the Pulses Per
Revolution setting |
| Motor Current |
0 - 255 |
Measured motor current, resolution is 0.01A |
| Heatsink Temperature |
0 - 100 |
Heatsink temperature in ºC, bit 1 of Status3 will be high when
Heatsink Temperature > 81ºC (note) |
Command code 27h: Set event on motor status change mask
This commands defines the motor controller status bits to scan for change.
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
27h |
0 - 15 |
0 |
Mask 1 |
Mask 2 |
Mask 3 |
Mask 4 |
0 |
|
Parameter |
Bit |
Description |
|
Mask 1 |
0 |
1 = enable bit 0 of the status 1 byte |
|
until |
1 = enable ... |
|
7 |
1 = enable bit 7 of the status 1 byte |
|
Mask 2 |
0 |
1 = enable bit 0 of the status 2 byte |
|
until |
1 = enable ... |
|
7 |
1 = enable bit 7 of the status 2 byte |
|
Mask 3 |
0 |
1 = enable bit 0 of the status 3 byte |
|
until |
1 = enable ... |
|
7 |
1 = enable bit 7 of the status 3 byte |
| Mask 4 |
0 |
1 = enable bit 0 of the status 4 byte |
|
until |
1 = enable ... |
|
7 |
1 = enable bit 7 of the status 4 byte |
At power on or reset, the internal masks are cleared.
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
27h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
Command code 27h: Read event on motor status change mask
This command reads back the motor controller status bits to scan for change.
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
27h |
0 - 15 |
80h |
0 |
0 |
0 |
0 |
0 |
Normal reply:
|
Reply |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
27h |
0 - 15 |
80h |
Mask 1 |
Mask 2 |
Mask 3 |
Mask 4 |
0 |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
A7h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
|
0 |
1 = Selector parameter out of range |
Command code 05h: Store configuration
This command stores the current or the default I/O module configuration into
internal EEPROM memory. The configuration is restored from this memory after
power on or a reset command.
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
05h |
0 - 15 |
Selector |
43h |
44h |
53h |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
0 |
Store current configuration |
|
1 |
Change configuration into default and then store it. |
The internal EEPROM erasing / programming takes 120 up
to 250 milliseconds, then the reply message is send.
The confirmation reply message for this command is NEVER
SUPPRESSED.
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
05h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
85h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error status |
0 |
1 = Selector parameter out of range |
| 1 |
1 = 'password' bytes 4-6 in command are not equal to 43h,44h,53h |
| 2 |
1 = Configuration EEPROM programming error |
Events
If an enabled motor status bit changes state, a read motor status event
message is sent:
|
Event |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
66h |
0 - 15 |
0 |
Status 1 |
Status 2 |
Status 3 |
Status 4 |
0 |
|
Parameter |
Bit |
Description |
|
Status 1 |
0 |
1 = Motor is running forward |
|
1 |
1 = Motor is running reverse |
|
2 |
1 = Motor is running until end switch found |
|
3 |
1 = Motor is running at minimum speed |
|
4 |
1 = Motor is running at maximum speed |
|
5 |
1 = Motor is accelerating |
|
6 |
1 = Motor is decelerating |
|
7 |
1 = Goto command is being executed |
|
Status 2 |
0 |
1 = Forward end switch active |
|
1 |
1 = Reverse end switch active |
|
2 |
1 = Emergency stop input is active (note 2) |
|
3 |
1 = Motor was stopped by an active and enabled forward end switch, These
status bit will be cleared by a start command |
|
4 |
1 = Motor was stopped by an active and enabled reverse end switch, These
status bit will be cleared by a start command |
|
5 |
1 = Motor was stopped by an emergency stop, power failure or watchdog
time-out This status bit can only be cleared by a stop command with option 3,
'Goto' , 'Start' and other 'Stop' commands return an error is this bit is set. When
this bit is set, the motor will be disabled, so to start againg the user must
give; - a 'Stop' command (option = 3) to release the emergency - a 'Start'
command (option = 5) to enable the motor |
| 6 |
1 = Motor was stopped by 0.5 second 'watchdog' time-out. The
Cdios controller checks the 6167 with a short interval, when this fails, the
6167 performs an emergency stop. This will also set the emergency bit
(status2 bit 5). This bit is cleared when the emergency bit is cleared. |
| 7 |
1 = Motor was stopped by motor power supply failure. This
will also set the emergency bit (status2 bit 5). This bit is cleared when the
emergency bit is cleared. |
| Status 3 |
0 |
1 = Motor position was set to zero by I input (start command) or
Z and I inputs (AutoZero)
This status bit will be automatically cleared
when the status is read (note). |
| 1 |
1 = Heatsink temperature too high (note). |
| 2 |
1 = Motor does not run |
| 3 |
Reserved |
| 4 |
1 = Motor runs in opposite direction (+ and - terminals should
be changed). When this happens, the motor stops with an emergency stop, to
clear this status a STOP command with option=3 has to be given. |
| 5 |
1 = Encoder input frequency is too high, pulses may be missed |
| 6 |
1 = Motor current limiting is active (motorcurrent = maximum
current) This bit may also become set when heatsink temperature is above
85°C. |
| 7 |
1 = Motor is enabled |
| Status 4 |
0 |
1 = Z input active |
| 1 |
1 = Power failure active, motor has no power |
| 2 |
1 = Hold active, controller keeps motor at the setpoint |
All status data is given, so the application has to find out itself
which status actually changed.
Calibration
The 6167 is calibrated by CD Systems before delivery.
All calibration values are stored in the internal calibration FLASH EEPROM.
Calibration commands and protocol are described in 6167-calibration.
| Note 1: |
Any latched command (still waiting for SYNC) will be cleared
when:
- A 'goto', 'start' or 'stop' command is given with a selector value of 0
- A 'set position' command is given
- Before a new command is latched (only the latest latched command will be
active)
|
| Note 2: |
Whenever the emergency stop input is active, a watchdog
time-out or a motor power failure occurs, the emergency status (status2 bit 5)
is set and the motor is stopped.
This condition can only be cleared by sending a 'stop' command with option 3
|
| Note 3: |
The auto-clear mechanism of Status3 bit 0 depends on if and how
an event is enabled:
| Action |
Event enabled (Mask3, bit 0) |
Status 3, bit 0 auto-cleared |
| Read Status with command 26h |
0 |
yes |
| 1 |
no |
Event send by controller (event checking / COS handling must
be on) |
0 |
no |
| 1 |
yes |
|
|
Note 4: |
When the heatsink temperature becomes above 85°C, the maximum motor current
will slowly be lowered until the heatsink cools. |
|