The Axis Definition registers contain axis assignment information. These registers are not intended to be accessed directly by the user. In general, do not read or write to these registers. To define the axes on the RMC, use RMCTools. For details, see the Defining Axes topic.
In rare, advanced cases, the user may wish to change the axis definitions as part of the machine operation. This topic describes these registers and how to write to these registers from a host controller to change the axis definitions. Notice that changing axis definitions requires restarting the RMC, and therefore cannot de done while motion is in progress.
The Registers
The axis definition registers contain two areas: the Current Axis Definitions and the Requested Axis Definitions.
RMC75 Address |
RMC150 Address |
RMC200 Address |
Register Name |
|
%MD19.0-15 |
%MD43.0-63 |
%MD24.0-511 |
Current Axis Definitions |
DWORD |
%MD19.16-31 |
%MD43.64-127 |
%MD25.0-511 |
Requested Axis Definitions |
DWORD |
The Current Axis Definitions and the Requested Axis Definitions will generally be the same except in two cases:
(1) The user has written to the requested block and intends to do a warm restart or burn to flash and do a cold restart, or
(2) The requested axis definitions found on startup are invalid for the current hardware configuration; in this case the Current Axis Definitions will be the default for the current hardware configuration.
Changing the Axis Definitions from a Host Controller
Delta recommends changing axis definitions only in RMCTools. However, if your application absolutely requires it, you can change the axis definitions from your host controller (such as a PLC) by writing to the axis definition registers. This section describes how to do so.
The axis definition registers are fairly complex. Therefore, Delta recommends that you do not try to figure them out and write to the ones you need. Instead, Delta recommends that you use RMCTools to define the axes as you desire, then read all of the Current Axis Definition registers and save the data. Then, to apply that axis definition later, write that data to the Requested Axis Definition registers, update Flash, and restart the controller. The procedure is given below:
Obtain the Axis Definitions
For each set of axis definitions that you will need, do the following:
In RMCTools, set up the axis definitions as you desire, and apply them to the RMC.
With your host controller, read the Current Axis Definitions registers, and store that data for later.
Apply the Axis Definitions
Each time you wish to change the axis definitions, write your stored Axis Definitions to the Requested Axis Definitions registers.
Restart the RMC
The RMC75, RMC150, and RMC200 can be restarted by writing to the Loader Command register. The following methods are available. See the Loader Command topic for details.
Cold Restart with Flash Update
This method first updates Flash, then does a cold restart of the RMC, which is the same as cycling power. Use this method if you want to automatically save the Axis Definitions to Flash and then restart.
Cold Restart without Flash Update
Does a cold restart of the RMC, which is the same as cycling power. You must manually save anything to Flash before using this method.
Warm Restart
This method does a warm restart, which retains all the data in the RMC, but doesn't save to Flash. Notice that the restart will apply the new axis definitions and will set all variables to initial values.
Restart Communications
If communicating over USB or serial, wait 4 seconds for the controller to be ready to communicate again. If communicating over Ethernet, wait 8 seconds. After waiting the specified time, re-open the connection to the controller and resume communication.
If you changed axis definitions, some parameters may have changed and you may need to update them.
Axis Definition Registers Details
In each axis definition area (current and requested), there are four 32-bit DWORD registers per axis. Here is how these registers are defined:
n = axis number
Register |
Bits |
Description |
Values |
Register (n x 4)+0: Axis and Input Types |
|||
(n x 4)+0 |
0-7 |
Axis Type |
0 - None 1 - Servo Position Control 3 - Servo Velocity Control 5 - Pressure Control 6 - Force (single-input) Control 7 - Force (dual-input, diff.) Control 8 - Position-Pressure Control 9 - Position-Force (single-input) Control 10 - Position-Force (dual-input, diff.) Control 11 - Velocity-Pressure Control 12 - Velocity-Force (single-input) Control 13 - Velocity-Force (dual-input, diff.) Control 14 - Position Reference 15 - Velocity Reference 16 - Pressure Reference 17 - Force (single-input) Reference 18 - Force (dual-input, diff.) Reference 19 - Virtual Axis 20 - Analog Output Only 22 - Position-Accel (single-input) Control 23 - Position-Accel (dual-input, diff.) Control 24 - Velocity-Accel (single-input) Control 25 - Velocity-Accel (dual-input, diff.) Control 26 - Accel (single-input) Reference 27 - Accel (dual-input, diff.) Reference |
8-15 |
Reserved |
|
|
16-23 |
Input 0 (Primary) Type |
0 - None 1 - Position 2 - Velocity 3 - Pressure 4 - Force (single-input) 5 - Force (dual-input, diff.) 6 - Accel (single-input) 7 - Accel (dual-input, diff.) |
|
24-31 |
Input 1 (Secondary) Type |
Same as Input 0 (Primary) Type |
|
Register (n x 4)+1: Input 0 Feedback |
|||
(n x 4)+1 |
0-3 |
Feedback 0.0 Type |
0 - None 1 - SSI/MDT (RMC75 and RMC200 only) 2 - Quadrature 3 - Custom 6 - Analog 7 - MDT (RMC150 only) 8 - SSI (RMC150 only) 9 - Resolver (RMC150 only) 10 - Load Cell (RMC200 only) |
|
4-7 |
Feedback 0.0 Module |
RMC75 Module IDs: 0 - Axis Module - Axis 0 Connector 1 - Axis Module - Axis 1 Connector 2 - Expansion Slot #1 3 - Expansion Slot #2 4 - Expansion Slot #3 5 - Expansion Slot #4
RMC150 Module IDs: 0 - Comm Slot (not used... yet) 1 - CPU Slot (not used) 2 - Sensor Slot #1 3 - Sensor Slot #2 4 - Sensor Slot #3 5 - Sensor Slot #4
RMC200 Module IDs: 0 - Power Supply (invalid) 1 - CPU (invalid) 2 - Slot #2 ... 14 - Slot #14 |
|
8-11 |
Feedback 0.0 Channel |
0 - First Input on the module (notice that each connector on the 2-axis RMC75 Axis Modules starts over at 0) 1 - Second Input on the module etc. |
|
12-15 |
Reserved |
|
|
16-19 |
Feedback 0.1 Type (only for differential input types) |
see Feedback 0.0 Type |
|
20-23 |
Feedback 0.1 Module |
see Feedback 0.0 Module |
|
24-27 |
Feedback 0.1 Channel |
see Feedback 0.0 Type |
|
28-31 |
Reserved |
|
Register (n x 4)+2: Input 1 Feedback - see Input 0 Feedback |
|||
(n x 4)+2 |
see Input 0 Feedback |
||
Register (n x 4)+3: Output Definition |
|||
(n x 4)+3 |
0-3 |
Output Type |
0 - None 1 - Analog Output 3 - Virtual (Outer Loop) |
4-7 |
Output Module |
RMC75 Output Module IDs: 0 - Axis Module - Axis 0 Connector 1 - Axis Module - Axis 1 Connector
RMC150 Module IDs: 2 - Sensor Slot #1 3 - Sensor Slot #2 4 - Sensor Slot #3 5 - Sensor Slot #4
RMC200 Module IDs: 0 - Power Supply (invalid) 1 - CPU (invalid) 2 - Slot #2 ... 14 - Slot #14 |
|
8-11 |
Output Channel |
0 - First output on the module (notice that each connector on the 2-axis RMC75 Axis Modules starts over at 0) 1 - Second output on the module etc. |
|
12-31 |
Reserved |
|
See Also
Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion