|
Motor Driver Controller
for external Amplifier Command / Reply / Event messages V2.5
|
Cdios Controller Commands | Cdios Firmware Page
Addition to V2.0:
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)
This command modifies the 4 digital outputs direct or after a central synchronization pulse (by bus or Cdios controller).
|
|
|
|
|
|
|
|
|
|
|
|
Selector |
|
|
|
|
|
|
|
Value |
Description |
|
Selector |
|
Write outputs direct |
|
|
Write outputs latched, outputs will be updated after SYNC command. |
|
|
|
Description |
|
|
|
contains the state for output 1, 0 is off, 1 is on |
|
|
contains ... |
|
|
3 |
contains the state for output 4, 0 is off, 1 is on |
Confirmation reply message (suppressed when 'Confirm' is 0):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Possible error message:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description |
|
|
|
1 = Selector parameter out of range |
|
1 |
1 = Data parameter out of range |
This commands reads the current output state
|
|
|
Selector |
|
|
|
|
|
|
|
|
80h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
Description |
|
|
|
contains the state for output 1 |
|
|
contains ... |
|
|
3 |
contains the state for output 4 |
Possible error message:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description |
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
16 |
|
Selector |
Data |
|
|
|
|
|
|
Value |
Description |
|
Selector |
|
Write analog output #1 direct |
|
|
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) |
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):
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
Possible error message:
|
|
|
|
|
|
|
|
|
|
56 |
|
|
|
|
|
|
|
|
|
|
Description |
|
|
|
1 = Selector parameter out of range |
|
1 |
1 = Analog value out of range | |
|
7 |
1 = Motor is enabled, analog output #1 cannot be modified |
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) |
|
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 |
All data set with this command is stored in EEPROM after the 'Store Configuration Command', becoming the new power on default.
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
0 |
Seek Speed |
Maximum Speed |
Slope |
||
|
1 |
Maximum Voltage | Forward End Switch |
Reverse End Switch |
I Factor | |||
| 2 | Pulses Per Revolution | Hold On Enable | Auto Zero | Slope Profile | |||
| 3 | Positioning Error | P Factor | D Factor | Failsafe | |||
| 4 | 0 | 0 | Ready Input Check | Error Input Check | Run Check Inhibit | ||
| 5 | F Factor | 0 | HP Factor | HD Factor | HI Factor | ||
| Traject 0 settings | |||||||
| 10h |
Relative end position (traject phase 1) |
Length | |||||
| 11h |
Initial speed |
0 | 0 | 0 | |||
| 12h |
Relative speed change position 1 (traject phase 2) |
0 | |||||
| 13h |
Speed 1 |
0 | 0 | 0 | |||
| 14h |
Relative speed change position 2 (traject phase 3) |
0 | |||||
| 15h |
Speed 2 |
0 | 0 | 0 | |||
| 16h |
Relative speed change position 3 (traject phase 4) |
0 | |||||
| 17h |
Speed 3 |
0 | 0 | 0 | |||
| Traject 1 settings | |||||||
| 20h |
Relative end position (traject phase 1) |
Length | |||||
| 21h |
Initial speed |
0 | 0 | 0 | |||
| 22h |
Relative speed change position 1 (traject phase 2) |
0 | |||||
| 23h |
Speed 1 |
0 | 0 | 0 | |||
| 24h |
Relative speed change position 2 (traject phase 3) |
0 | |||||
| 25h |
Speed 2 |
0 | 0 | 0 | |||
| 26h |
Relative speed change position 3 (traject phase 4) |
0 | |||||
| 27h |
Speed 3 |
0 | 0 | 0 | |||
| Range | Default | Units | Description | |||||||||||||
|
Seek Speed |
1-32767 | 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-32767 | 8000 | ||||||||||||||
|
Slope |
1 - 255 | 10 | 0.1 S |
The time it will take to accelerate from zero up to Maximum speed, 0.1 -
25.5 Seconds |
||||||||||||
|
Maximum Voltage |
100 - 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 - 65535 | 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 |
|
|||||||||||||
| Slope Profile | 0 - 1 | 0 |
|
|||||||||||||
| 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 |
|||||||||||||
| F Factor | 0 - 255 | 0 | RPM control loop feed forward. This parameter is used to make an output voltage estimate corresponding to the desired RPM A P factor of 128 will result in full D/A converter output value (10V) when the desired RPM = Maximum RPM |
|||||||||||||
| P Factor | 0 - 255 | 64 | RPM control loop gain. Higher value means bigger (faster) response on RPM errors (and possibly more oscillations) A P factor of 64 will result in full D/A converter output value (10V) when the RPM error = Maximum RPM |
|||||||||||||
| D Factor | 0 - 255 | 64 | RPM control loop derivative. Higher value means greater response on change in RPM to dampen oscillations |
|||||||||||||
| I Factor | 0 - 255 | 64 | RPM control loop integral | |||||||||||||
| HP Factor | 0 - 255 | 32 | Hold position control loop gain. Higher gain means bigger (faster) response on positional errors (and possibly more oscillations) A P factor of 64 will result in full D/A converter output value (10V) when the positional error = 7500 |
|||||||||||||
| HD Factor | 0 - 255 | 32 | Hold position control loop derivative. Higher value means greater response on change in position to dampen oscillations |
|||||||||||||
| HI Factor | 0 - 255 | 32 | Hold position control loop integral | |||||||||||||
| 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)
|
|||||||||||||
| Ready Input Check | 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 Check | 0 - 1 | 1 | Enable/disable (1/0) error input checking When enabled, the motor may not run when the Error input is active |
|||||||||||||
| Run Check Inhibit | 0 - 1 | 0 | When 1, the controller is not disabled (emergency stop) when the motor is not running when it should. | |||||||||||||
| Traject settings | ||||||||||||||||
| Length | 0 - 4 | 0 | Amount of positions in Traject 0/1:
|
|||||||||||||
| 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: When motor is running, only configuration commands with selector value 1, 3 or 5 are allowed |
|
|
1 |
1 = Selector parameter out of range |
||
|
2 |
1 = Seek 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 = P Factor or HP Factor parameter out of range | ||
| 6 | 1 = Failsafe parameter out of range | ||
| 7 | 1 = Traject configuration parameter out of range (Length or Speed) | ||
|
Command |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80 - A7h |
0 | 0 | 0 | 0 | 0 |
|
Reply |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
20h |
0 - 15 |
80h |
Seek Speed |
Maximum Speed |
Slope |
||
|
81h |
Maximum Voltage | Forward End Switch |
Reverse End Switch |
I Factor | |||
| 82h | Pulses Per Revolution | Hold On Enable | Auto Zero | Slope Profile | |||
| 83h | Positioning Error | P Factor | D Factor | Failsafe | |||
| 84h | 0 | 0 | Ready Input Check | Error Input Check | Run Check Inhibit | ||
| 85h | P Factor | 0 | HP Factor | HD Factor | HI Factor | ||
| Traject 0 settings | |||||||
| 90h |
Relative end position (traject phase 1) |
Length | |||||
| 91h |
Initial speed |
0 | 0 | 0 | |||
| 92h |
Relative speed change position 1 (traject phase 2) |
0 | |||||
| 93h |
Speed 1 |
0 | 0 | 0 | |||
| 94h |
Relative speed change position 2 (traject phase 3) |
0 | |||||
| 95h |
Speed 2 |
0 | 0 | 0 | |||
| 96h |
Relative speed change position 3 (traject phase 4) |
0 | |||||
| 97h |
Speed 3 |
0 | 0 | 0 | |||
| Traject 1 settings | |||||||
| A0h |
Relative end position (traject phase 1) |
Length | |||||
| A1h |
Initial speed |
0 | 0 | 0 | |||
| A2h |
Relative speed change position 1 (traject phase 2) |
0 | |||||
| A3h |
Speed 1 |
0 | 0 | 0 | |||
| A4h |
Relative speed change position 2 (traject phase 3) |
0 | |||||
| A5h |
Speed 2 |
0 | 0 | 0 | |||
| A6h |
Relative speed change position 3 (traject phase 4) |
0 | |||||
| A7h | Speed 3 | 0 | 0 | 0 | |||
|
|
Description |
|
All |
Same format as in the 'Set Analog Servo motor configuration' command |
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 |
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 |
Motor position |
0 |
|||
|
Parameter |
Value |
Description |
|
Motor Position |
32 bits- |
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 |
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. |
|
|
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; 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 |
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 maximum speed. When the speed is zero, the configured maximum speed is used. After power on or reset, the speed is set to zero. |
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, 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 |
||
|
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 seek speed |
|
1 |
Motor starts and accelerates to maximum speed |
|
|
2 |
Motor starts and remains at seek 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. |
|
| 3 | Motor will accelerate / decellerate from its current speed to
the selected motor speed.
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. |
|
| 4 | Motor starts and remains at seek 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 seek 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 - 32767 |
Target MotorSpeed (Option = 3) |
|
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 |
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 seek speed and remains at seek speed |
|
1 |
Motor decelerates 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. |
|
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 |
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 |
Reserved |
|||||||||||||||
|
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, |
|||||||||||||||
|
4 |
1 = Motor was stopped by an active and enabled reverse end switch, |
|||||||||||||||
|
5 |
1 = Motor was stopped by an emergency stop, power failure or watchdog
time-out. |
|||||||||||||||
| 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 | 1 = Error input active | |||||||||||||||
| 2 | 1 = Motor does not run When this happens and the Run Check Inhibit parameter = 0, the motor stops with an emergency stop, to clear this status a START command with option=5 has to be given. |
|||||||||||||||
| 3 | 1 = Motor was disabled while it was in holding mode and could
not be kept within the error window (note) This will also set the emergency bit (status2 bit 5). This bit is cleared when the emergency bit is cleared. |
|||||||||||||||
| 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 | 1 = Ready input active | |||||||||||||||
| 2 | 1 = Hold active, controller keeps motor at the setpoint | |||||||||||||||
| 3 | 1 = A traject is running (started with a GOTO command) | |||||||||||||||
| 4 | When a traject is running these bits indicate:
|
|||||||||||||||
| 5 | ||||||||||||||||
| 6 | 1 = Motor position is within allowed error range of the most recent GOTO target position (only set when Hold active (Status 4 bit 2) is 1) | |||||||||||||||
| 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 - 32767 | The actual motor speed, value depends on the Pulses Per Revolution setting | ||||||||||||||
| RPM Error | -32767 - 32767 | 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. |
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 |
|
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 |
|
|
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 |
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 |
|
Reply |
Module ID |
Selector |
4 |
5 |
6 |
7 |
8 |
|
27h |
0 - 15 |
80h |
Mask 1 |
Mask 2 |
Mask 3 |
Mask 4 |
Timers |
|
Parameter |
Description |
|
All |
Same format as in the 'Set event on motor status change mask' command |
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 |
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 120 up
to 250 milli-seconds, 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.
|
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 |
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 |
Reserved |
|
|
4 |
1 = Motor is running at maximum speed |
<