|
Cdios controller commands | Cdios
firmware page
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.
All multibyte (16 / 32 bits) parameters are placed in the messages with
the LSB first (little endian)
Command code 10h: Set digital outputs
This command modifies the 4 digital outputs direct or after a central
synchronization pulse (by bus or Cdios controller).
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
10h |
0 - 15 |
Selector |
Data |
0 |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
0 |
Write outputs direct |
|
1 |
Write outputs latched, outputs will be updated after SYNC
command. |
- After a latched command the outputs are updated after receiving a SYNC
pulse directly from the CAN bus (CANopen SYNC or DeviceNet Bit-strobe
message) or from the Cdios controller's SYNC command.
- When a SYNC pulse is received without prior reception of a latched
command, the outputs remain unchanged.
|
Parameter |
Bit |
Description |
|
Data |
0 |
contains the state for output 1, 0 is off, 1 is on |
|
until |
contains ... |
|
3 |
contains the state for output 4, 0 is off, 1 is on |
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
10h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
90h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Selector parameter out of range |
|
1 |
1 = Data parameter out of range |
Command code 10h: Get digital outputs
This commands reads the current output state
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
10h |
0 - 15 |
80h |
0 |
0 |
0 |
0 |
0 |
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
11h |
0 - 15 |
0 |
State |
0 |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
State |
0 |
contains the state for output 1 |
|
until |
contains ... |
|
3 |
contains the state for output 4 |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
90h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Selector parameter out of range |
Command code 16h: Set analog outputs
This command modifies the outputs direct or after a central
synchronization pulse (by bus or Cdios controller).
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
16 h |
0 - 15 |
Selector |
Data |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
00h |
Write analog output #1 direct |
|
01h |
Write analog output #1 latched, output will be updated after SYNC
command. |
| 10h |
Write analog output #2 direct |
| 11h |
Write analog output #2 latched, output will be updated after SYNC
command. |
| Data |
-10000 - 10000 |
Analog output will be set from -10.00 up to +10.00 V (note) |
After a latched command the outputs are updated after receiving a SYNC pulse
directly from the CAN bus (e.g. CANopen SYNC message) or from the Cdios
controller's SYNC command.
When a SYNC pulse is received without prior reception of a latched command,
the outputs remain unchanged.
Note that analog output #1 can only be modified when the 6168 controller
itself isn't controlling it. This is the case when the Enable status bit is
inactive (status 3, bit 7).
Confirmation reply message (suppressed when 'Confirm' is 0):
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
16 h |
0 - 15 |
0 |
0 |
0 |
0 |
0 |
0 |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
56 h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error Status |
0 |
1 = Selector parameter out of range |
|
1 |
1 = Analog value out of range |
|
7 |
1 = Motor is enabled, analog output #1 cannot be modified |
Command code 16h: Read analog outputs
This command reads the value of one of the 2 outputs.
|
Command |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
16h |
0 - 15 |
Selector |
0 |
0 |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
|
Selector |
80h |
Read value of output #1 |
|
90h |
Read value of output #2 |
Normal reply is:
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
16h |
0 - 15 |
Selector |
Data |
0 |
0 |
0 |
|
Parameter |
Value |
Description |
| Selector |
x |
Copy of value of the command |
| Data |
-10000 - 10000 |
Analog output value from -10.00 up to +10.00 V (note) |
Possible error message:
|
Error |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
56h |
0 - 15 |
0 |
0 |
Error Status |
0 |
0 |
0 |
|
Parameter |
Bit |
Description |
|
Error status |
0 |
1 = Selector parameter out of range |
Command code 20h: Set Analog Servo motor configuration
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
0 |
Minimum Speed |
Maximum Speed |
Slope |
|
1 |
Maximum Voltage |
Forward
End Switch |
Reverse
End Switch |
0 |
| 2 |
Pulses Per Revolution |
Hold On Enable |
Auto Zero |
Slope Profile |
| 3 |
Positioning Error |
Gain Factor |
D Factor |
Failsafe |
| 4 |
0 |
0 |
Ready Input |
Error Input |
0 |
| |
Traject 0 settings |
| 10h |
Relative end position |
Length |
| 11h |
Initial speed |
0 |
0 |
0 |
| 12h |
Relative speed change position 1 |
0 |
| 13h |
Speed 1 |
0 |
0 |
0 |
| 14h |
Relative speed change position 2 |
0 |
| 15h |
Speed 2 |
0 |
0 |
0 |
| 16h |
Relative speed change position 3 |
0 |
| 17h |
Speed 3 |
0 |
0 |
0 |
| |
Traject 1 settings |
| 20h |
Relative end position |
Length |
| 21h |
Initial speed |
0 |
0 |
0 |
| 22h |
Relative speed change position 1 |
0 |
| 23h |
Speed 1 |
0 |
0 |
0 |
| 24h |
Relative speed change position 2 |
0 |
| 25h |
Speed 2 |
0 |
0 |
0 |
| 26h |
Relative speed change position 3 |
0 |
| 27h |
Speed 3 |
0 |
0 |
0 |
|
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. |
|
Maximum Voltage |
1000 - 10000 |
10000 |
mV |
Set maximum output voltage (absolute value) for the motor regulating
analog output (note). |
|
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 |
| Hold On Enable |
0 - 1 |
0 |
|
When 1, the current motor position is copied to the
setpoint and the motor will be hold there when the ENABLE command or a
STOP command is given. |
| 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 - 63 |
0 |
|
Defines the active level of the digital inputs.
0 = active high (when input is above 11 Volts)
1 = active low (when input is below 4 Volts)
| bit 0 |
Active level of Forward endswitch input |
| bit 1 |
Active level of Reverse endswitch input |
| bit 2 |
Active level of Emergency input |
| bit 3 |
Active level of Zero input |
| bit 4 |
Active level of Ready input |
| bit 5 |
Active level of Error input |
|
| Ready Input |
0 - 1 |
1 |
|
Enable/disable (1/0) error input checking
When enabled, the motor may not run when the Ready input is NOT active |
| Error Input |
0 - 1 |
1 |
|
Enable/disable (1/0) error input checking
When enabled, the motor may not run when the Error input is active |
| |
|
|
|
Traject settings |
| Length |
0 - 4 |
0 |
|
Amount of positions in Traject 0/1:
| 0: |
Traject not defined |
| 1: |
Only relative endposition + goto speed defined |
| 2-4 |
1-3 speed changes in traject |
|
| End Position |
-2147483648
up to
2147483647 |
0 |
|
The traject end position relative to the current setpoint
at the moment the GOTO TRAJECT command is given. |
| Initial Speed |
0 - 32767 |
0 |
RPM |
The motor speed of the first (and maybe only) part of the
traject |
| Speed Change Position x |
-2147483648
up to
2147483647 |
0 |
|
The setpoint relative position to change motor speed. |
| Speed x |
0 - 32767 |
0 |
RPM |
The motor speed of the next part of the traject |
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 |
1 = Hold On Enable parameter out of range |
Ready parameter out of range |
| 7 |
1 = Autozero parameter out of range |
Error parameter out of range |
|
Error Status2 |
0 |
1 = Maximum Voltage 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 |
1 = Traject configuration parameter out of
range (Length or Speed) |
Command code 20h: Read Analog Servo motor configuration
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80 - A7h |
0 |
0 |
0 |
0 |
0 |
Normal reply is:
|
Reply |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80 |
Minimum Speed |
Maximum Speed |
Slope |
|
81 |
Maximum Voltage |
Forward
End Switch |
Reverse
End Switch |
0 |
| 82 |
Pulses Per Revolution |
Hold On Enable |
Auto Zero |
Slope Profile |
| 83 |
Positioning Error |
Gain Factor |
D Factor |
Failsafe |
| 84 |
0 |
0 |
Ready Input |
Error Input |
0 |
| |
Traject 0 settings |
| 90h |
Relative end position |
Length |
| 91h |
Initial speed |
0 |
0 |
0 |
| 92h |
Relative speed change position 1 |
0 |
| 93h |
Speed 1 |
0 |
0 |
0 |
| 94h |
Relative speed change position 2 |
0 |
| 95h |
Speed 2 |
0 |
0 |
0 |
| 96h |
Relative speed change position 3 |
0 |
| 97h |
Speed 3 |
0 |
0 |
0 |
| |
Traject 1 settings |
| A0h |
Relative end position |
Length |
| A1h |
Initial speed |
0 |
0 |
0 |
| A2h |
Relative speed change position 1 |
0 |
| A3h |
Speed 1 |
0 |
0 |
0 |
| A4h |
Relative speed change position 2 |
0 |
| A5h |
Speed 2 |
0 |
0 |
0 |
| A6h |
Relative speed change position 3 |
0 |
| A7h |
Speed 3 |
0 |
0 |
0 |
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 / endpoint
of traject) |
|
Reply |
Module ID |
3 |
4 |
5 |
6 |
7 |
8 |
|
21h |
0 - 15 |
Selector
(copy of command) |
Motor position |
0 |
|
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 |
motor position |
0 |
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, starts a traject or sets the motor speed for the next goto command
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
23h |
0 - 15 |
0 - 5 |
Motor position or amount of steps
|
0 |
| 6 - 7 |
Traject |
0 |
0 |
0 |
0 |
| 8 |
Next GOTO Speed |
0 |
0 |
0 |
| 9 |
Next speed change absolute motor position |
0 |
| 10 |
Change GOTO Speed |
0 |
0 |
0 |
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. |
| 6 |
Starts the execution of traject 0/1 |
| 7 |
Starts the execution of traject 0/1, after the SYNC
command (note 1) |
| 8 |
Sets the maximum speed for the next GOTO command. |
| 9 |
Sets the absolute motor position to change the motor speed.
When an interruptable GOTO is running;
- send a new GOTO speed with selector = 8.
- send a speed change position with selector is 9.
When this command is given and the current motor position is beyond the
given speed change position (command given too late), the speed is changed
immediately.
In fact this is a subset of the internal traject function. This command
is illegal when a traject is running or NO interruptable GOTO is running |
| 10 |
Immediately changes the motor speed of a running GOTO.
This command is illegal when a traject is running or NO interruptable
GOTO is running |
| Parameter |
Range |
Description |
|
Motor Position |
-2147483648
up to
2147483647 |
32 bits long integer |
| Traject |
0 - 1 |
Defines the traject number to use |
| Speed |
0 - 32767 |
Sets the maximum speed for the next GOTO command.
This speed is checked against and clamped to the configured minimum and
maximum speeds.
When the speed is zero, the configured maximum speed is used.
After power on or reset, the speed is set to zero. |
When 'Slope Profile' is zero, GOTO commands can be
interrupted by other goto commands to change the speed or direction...
Change the motor speed while a GOTO command is executing can be done in 3
ways;
- Send the new speed with selector = 10
- Preset the new speed with selector = 8 and set the motor position to
start the change with selector = 9
- Preset the new speed with selector = 8 and resend the GOTO command (with
same or other GOTO position).
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
When the motor is running, a TRAJECT cannot be started and a GOTO command
or speed change cannot be given when:
|
|
1 |
1 = Emergency stop, watchdog status active, error input active,
ready not active (note 2) |
|
2 |
1 = Selector parameter out of range |
| 3 |
1 = Traject parameter out of range |
| 4 |
1 = Speed parameter out of range |
| 5 |
1 = No GOTO running |
| 6 |
1 = Traject cannot start, slope profile = 1 |
| 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 |
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. When 'Hold On
Enable' is set to 1, the motor position will be hold on the setpoint after
this. |
| 6 |
Motor starts and remains at minimum speed until the I
(index) and the Z (Zero) input are active. The motor position is set to
zero.
The motor probably will run a bit further after the inputs became active. |
| 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, error input active,
ready not active (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.When the 'Hold on Enable'
configuration is 1, the motor will be hold at that position.
This option also stops the motor when is was started with a goto
command, the motor allways will be held at the setpoint |
|
2 |
Fast stop. The current position will be transferred to the
setpoint.When the 'Hold on Enable' configuration is 1, the motor will be
hold at that position.
This option also stops the motor when is was started with a goto
command, the motor allways will be held at the setpoint
|
|
3 |
Reserved |
| 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 - 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 |
0 |
0 |
0 |
| 2 |
MotorSpeed |
RPM_Error |
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 (note
2).
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 active Error input or inactive
Ready input (when checking enabled, note 2)
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 |
Reserved |
| 2 |
1 = Motor does not run
When this happens, the motor stops with an emergency stop, to clear this
status a START command with option=5 has to be given. |
| 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 START command with option=5 has to be given. |
| 5 |
1 = Encoder input frequency is too high, pulses may be
missed |
| 6 |
1 = Motor voltage limiting is active (abs(output
voltage) = maximum voltage) |
| 7 |
1 = Motor is enabled |
| Status 4 |
0 |
1 = Z input active |
| 1 |
Reserved |
| 2 |
1 = Hold active, controller keeps motor at the setpoint |
| 3 |
1 = A traject is running (started with a GOTO command) |
| 4 |
1 = Ready input active |
| 5 |
1 = Error input active |
| 6 |
Reserved |
| 7 |
1 = Motor position is not initialized, may be incorrect.
This bit is set after power on reset or node reset. It is cleared after:
- a 'Set Position' command
- an autoreset
- a position reset caused by a start command with option 2, 4 or 6 |
| Motor Speed |
0 - 30000 |
The actual motor speed, value depends on the Pulses Per
Revolution setting |
| RPM Error |
-30000 - 30000 |
The difference between the (internal) desired motor speed
and the actual motor speed.
When RPM Error < 0 the motor runs too slow.
When RPM Error > 0 the motor runs too fast .
It is normal that this value is a bit negative during accelleration and a
bit positive during decelleration. |
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 |
Timers |
|
Parameter |
Bit |
Default |
Description |
|
Mask 1 |
0 |
0 |
1 = enable bit 0 of the status 1 byte |
|
until |
|
1 = enable ... |
|
7 |
0 |
1 = enable bit 7 of the status 1 byte |
|
Mask 2 |
0 |
0 |
1 = enable bit 0 of the status 2 byte |
|
until |
|
1 = enable ... |
|
7 |
0 |
1 = enable bit 7 of the status 2 byte |
|
Mask 3 |
0 |
0 |
1 = enable bit 0 of the status 3 byte |
|
until |
|
1 = enable ... |
|
7 |
0 |
1 = enable bit 7 of the status 3 byte |
| Mask 4 |
0 |
0 |
1 = enable bit 0 of the status 4 byte |
|
until |
|
1 = enable ... |
|
7 |
0 |
1 = enable bit 7 of the status 4 byte |
| Timers |
0 - 2 |
0 |
This value (0 - 7) determines the 'send current position' interval |
| 3 |
0 |
0 = current position is send on timer interval
1 = current position is send on timer interval only when it was changed |
| 4 - 6 |
0 |
This value (0 - 7) determines the 'send MotorSpeed/RPM Error' interval |
| 7 |
0 |
0 = MotorSpeed/RPM Error is send on timer interval
1 = MotorSpeed/RPM Error is send on timer interval only when one or both
values were changed |
|
|
| Value |
Interval |
| 0 |
Value is never send |
| 1 |
3.9 mS |
| 2 |
7.8 mS |
| 3 |
15.6 mS |
| 4 |
31.25 mS |
| 5 |
62.5 mS |
| 6 |
125 mS |
| 7 |
250 mS |
|
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 |
Timers |
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.
The motor must be disabled when executing this
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 260
up to 750 milliseconds, then the reply message is send.
During programming I/O communication with this module is inhibited.
Sending a command will result in a general
error message with errorcode = 8.
The confirmation reply message for this command is NEVER
SUPPRESSED.
|