Tip: RMCWin's Address Tool provides an easy way to identify addresses in the RMC. Simply open the Address Tool and then move the cursor to any field in RMCWin that represents an RMC Register, and the Address Tool will display the address in the address format of your choice. See Address Tool for details.
The RMC module has 64K (65536) 16-bit registers that can be read from or written to over Ethernet, Serial, Modbus Plus, and PROFIBUS-DP. Each register is assigned an address. However, under the different communication methods, different addressing schemes are used. This topic describes using Allen-Bradley PLC addressing. For details on addressing from other modules refer to the following topics:
Allen-Bradley offers several Ethernet and serial solutions for its ControlLogix, SLC, PLC-5, and SoftLogix 5 controllers. In addition, SoftPLC emulates the PLC-5 and therefore also uses Allen-Bradley's Ethernet protocol. Over this protocol, the RMC's registers are broken into a number of integer files. Each integer file used (N7, N9-N18, L19, N20-N255) is configured to be the maximum size allowed on a SLC 5/05 file: 256 elements: Nf:0-255. For details on reading and writing these registers, see the following topics:
Status Registers:
These registers can only be read; writes are ignored.
Allen-Bradley |
Register Description |
N7:0 |
Axis 0 Command Position |
N7:1 |
Axis 0 Target Position |
N7:2 |
Axis 0 Actual Position |
N7:3 |
Axis 0 Transducer Counts. Note: See the Transducer Counts (32-bit) Registers section below for a way to read 32-bit counts instead of 16-bit counts. |
N7:4 |
Axis 0 Status Word |
N7:5 |
Axis 0 Drive |
N7:6 |
Axis 0 Actual Speed |
N7:7 |
Axis 0 Null Drive |
N7:8 |
Axis 0 Event Step |
N7:9 |
Axis 0 Link Value |
N7:10-19 |
Same as above but for axis 1 |
N7:20-29 |
Same as above but for axis 2 |
N7:30-39 |
Same as above but for axis 3 |
N7:40-49 |
Same as above but for axis 4 |
N7:50-59 |
Same as above but for axis 5 |
N7:60-69 |
Same as above but for axis 6 |
N7:70-79 |
Same as above but for axis 7 |
Command Registers:
These registers can be read or written.
Allen-Bradley |
Register Description |
N7:80 |
Axis 0 Mode Word |
N7:81 |
Axis 0 Acceleration |
N7:82 |
Axis 0 Deceleration |
N7:83 |
Axis 0 Speed |
N7:84 |
Axis 0 Command Value |
N7:85 |
Axis 0 Command |
N7:86-91 |
Same as above but for axis 1 |
N7:92-97 |
Same as above but for axis 2 |
N7:98-103 |
Same as above but for axis 3 |
N7:104-109 |
Same as above but for axis 4 |
N7:110-115 |
Same as above but for axis 5 |
N7:116-121 |
Same as above but for axis 6 |
N7:122-127 |
Same as above but for axis 7 |
Parameter Registers:
These registers can be read or written. Changes to these registers do not take effect until a Set Parameters (P) command is executed.
Allen-Bradley |
Register Description |
N7:128 |
Axis 0 Configuration Word |
N7:129 |
Axis 0 Scale |
N7:130 |
Axis 0 Offset |
N7:131 |
Axis 0 Extend Limit |
N7:132 |
Axis 0 Retract Limit |
N7:133 |
Axis 0 Proportional Gain |
N7:134 |
Axis 0 Integral Gain |
N7:135 |
Axis 0 Differential Gain |
N7:136 |
Axis 0 Extend Feed Forward |
N7:137 |
Axis 0 Retract Feed Forward |
N7:138 |
|
N7:139 |
|
N7:140 |
Axis 0 Dead Band Eliminator |
N7:141 |
Axis 0 In Position Window |
N7:142 |
Axis 0 Following Error |
N7:143 |
Axis 0 Auto Stop |
N7:144-159 |
Same as above but for axis 1 |
N7:160-175 |
Same as above but for axis 2 |
N7:176-191 |
Same as above but for axis 3 |
N7:192-207 |
Same as above but for axis 4 |
N7:208-223 |
Same as above but for axis 5 |
N7:224-239 |
Same as above but for axis 6 |
N7:240-255 |
Same as above but for axis 7 |
Event Step Table Registers:
These registers can be read or written. When using the Allen-Bradley addressing scheme with these registers, you must keep in mind that the Event Step Table is split over eight register files (this is done because the SLC 5/05 only supports 256 words per file). Use the following table to determine the register file for a given event step:
Event Step (n) |
Register File (f) |
Step Offset (r) |
0-31 |
N9 |
( n - 0 ) x 8 |
32-63 |
N10 |
( n - 32 ) x 8 |
64-95 |
N11 |
( n - 64 ) x 8 |
96-127 |
N12 |
( n - 96 ) x 8 |
128-159 |
N13 |
( n - 128 ) x 8 |
160-191 |
N14 |
( n - 160 ) x 8 |
192-223 |
N15 |
( n - 192 ) x 8 |
224-255 |
N16 |
( n - 224 ) x 8 |
Note: On Allen-Bradley PLCs, reads and writes that extend beyond the end of an RMC register file will continue into the next file or files. This is particularly useful on the ControlLogix, which allows reading large amounts of data with a single MSG block. For example, by reading 2048 integers starting at N9:0 in the RMC, the entire Event Step table can be read into the ControlLogix.
The register map for addressing the fields in the event step table is as follows:
Allen-Bradley |
Register Description |
N9:0 |
Step 0 Mode Word |
N9:1 |
Step 0 Acceleration |
N9:2 |
Step 0 Deceleration |
N9:3 |
Step 0 Speed |
N9:4 |
Step 0 Command Value |
N9:5 |
Step 0 Command/Commanded Axes |
N9:6 |
Step 0 Link Type/Link Next |
N9:7 |
Step 0 Link Value |
Nf:r + 0 |
Step n (0-255) Mode Word |
Nf:r + 1 |
Step n (0-255) Acceleration |
Nf:r + 2 |
Step n (0-255) Deceleration |
Nf:r + 3 |
Step n (0-255) Speed |
Nf:r + 4 |
Step n (0-255) Command Value |
Nf:r + 5 |
Step n (0-255) Command/Commanded Axes |
Nf:r + 6 |
Step n (0-255) Link Type/Link Next |
Nf:r + 7 |
Step n (0-255) Link Value |
Input to Event Table Registers:
These registers can be read or written.
Allen-Bradley |
Register Description |
N17:0 |
Event Step for Axis 0 on Input 0 Rising Edge |
N17:1 |
Event Step for Axis 1 on Input 0 Rising Edge |
N17:2 |
Event Step for Axis 2 on Input 0 Rising Edge |
N17:3 |
Event Step for Axis 3 on Input 0 Rising Edge |
N17:4 |
Event Step for Axis 4 on Input 0 Rising Edge |
N17:5 |
Event Step for Axis 5 on Input 0 Rising Edge |
N17:6 |
Event Step for Axis 6 on Input 0 Rising Edge |
N17:7 |
Event Step for Axis 7 on Input 0 Rising Edge |
N17:8 + n |
Event Step for Axes n (0-7) on Input 1 Rising Edge |
|
: |
N17:120 + n |
Event Step for Axes n (0-7) on Input 15 Rising Edge |
N17:128 + n |
Event Step for Axes n (0-7) on Input 0 Falling Edge |
|
: |
N17:248 + n |
Event Step for Axes n (0-7) on Input 15 Falling Edge |
Status Map Registers:
This block of registers is only used by the Modbus Plus and PROFIBUS interfaces. Therefore, these registers are unused by this Ethernet protocol.
Allen-Bradley |
Register Description |
N18:0-63 |
Status Map Entries |
Plot Type Registers:
The plot type registers can be read or written. The values that are read indicate the extra plot information in the current graph. The values written to these registers tell the controller which extra plot information to obtain on the next plot. For these registers, the following values are used:
0: Extra position precision
1: Command and Command Value
2: Event Step and Link Value
3: Raw Transducer Counts
4: Internal Target and Actual Speeds
5: Integral Drive
For more information on these four types of plot information, see Selecting the Data to Plot and Reading Plots from the Communication Module.
Allen-Bradley |
Register Description |
N18:64 |
Axis 0 plot type |
N18:65 |
Axis 1 plot type |
N18:66 |
Axis 2 plot type |
N18:67 |
Axis 3 plot type |
N18:68 |
Axis 4 plot type |
N18:69 |
Axis 5 plot type |
N18:70 |
Axis 6 plot type |
N18:71 |
Axis 7 plot type |
Digital (Discrete) I/O Registers:
These registers indicate the current state of the digital inputs and outputs. These registers may only be read; writes will be ignored, as this product does not support forcing inputs or outputs.
Because different PLCs label bit numbers differently, the following chart is provided to show the mapping between the devices:
|
MSB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LSB |
RMC bit # |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Allen-Bradley bit # |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
The bit numbers listed in the table below are in RMC format (0 is LSB, 15 is MSB):
Allen-Bradley |
Register Description |
N18:72 |
CPU Digital Inputs 0 and 1 in LSBs of low byte, Outputs 0 and 1 in LSBs of high byte |
N18:73 |
Unused |
N18:74 |
Unused |
N18:75 |
Sensor Digital I/O Inputs 0-15 |
N18:76 |
Sensor Digital I/O Inputs 16-17 (stored to two LSBs) |
N18:77 |
Sensor Digital I/O Outputs 0-7 in high byte (low byte unused) |
N18:78 |
Unused |
N18:79 |
Unused |
Plot Time Registers:
The Plot Time interval is configurable on the RMC. This interval indicates the number of control loops between each sample in a plot. Therefore, if the control loop is 0.976ms (e.g. RMC100-M1), this value indicates roughly the number of milliseconds between samples. If the control loop is 1.953ms (e.g. RMC100-M4), this indicates half of the number of milliseconds between samples.
These registers may be read or written. When read, they indicate the plot interval of the currently gathered plot. When written, they set the plot interval the RMC should use for the next plot it will gather. When the RMC starts the next plot, it copies the requested plot interval into the currently used plot interval.
Allen-Bradley |
Register Description |
N18:80 |
Axis 0 plot time interval |
N18:81 |
Axis 1 plot time interval |
N18:82 |
Axis 2 plot time interval |
N18:83 |
Axis 3 plot time interval |
N18:84 |
Axis 4 plot time interval |
N18:85 |
Axis 5 plot time interval |
N18:86 |
Axis 6 plot time interval |
N18:87 |
Axis 7 plot time interval |
Last Parameter Error Registers:
Note: To use these registers through Ethernet, you must have RMC100 CPU control firmware dated 19990715 or later and Ethernet firmware dated 19990702 or later.
Each of these read-only registers holds the number of the last parameter error generated on an axis. This is useful for determining the cause of the Parameter Error bit in the status word. For a description of the values read from these registers, see Parameter Error Values.
Allen-Bradley |
Register Description |
N18:88 |
Last parameter error on axis 0 |
N18:89 |
Last parameter error on axis 1 |
N18:90 |
Last parameter error on axis 2 |
N18:91 |
Last parameter error on axis 3 |
N18:92 |
Last parameter error on axis 4 |
N18:93 |
Last parameter error on axis 5 |
N18:94 |
Last parameter error on axis 6 |
N18:95 |
Last parameter error on axis 7 |
Firmware Date Registers:
Note: To use these registers through Ethernet, you must have RMC100 CPU control firmware dated 19990715 or later and Ethernet firmware dated 19990702 or later.
These read-only registers hold information about the firmware versions in the RMC100 CPU module. The Boot and Loader firmware versions have no effect on the actual performance of the RMC and therefore can usually be ignored.
Allen-Bradley |
Register Description |
N18:96 |
Boot firmware month (MSB) and day (LSB) |
N18:97 |
Boot firmware year |
N18:98 |
Loader firmware month (MSB) and day (LSB) |
N18:99 |
Loader firmware year |
N18:100 |
Control firmware month (MSB) and day (LSB) |
N18:101 |
Control firmware year |
N18:102 |
Control firmware Beta Code. This will be 0 for standard release firmware, 'B' for Beta firmware, or 'SI' for Superimposed firmware. |
N18:103 |
Feature code. This register is mainly reserved for internal use but does have two bits that may be useful to some users:
|
Transducer Counts (32-bit) Registers:
Note: To use these registers through Ethernet, you must have RMC Ethernet firmware dated 20020115 or later.
Each of these read-only registers holds the transducer counts for an axis. Notice that these registers are 32-bit registers. The low 16 bits will match the Counts register read from registers N7:3, N7:13, etc. However, when the transducer counts go below zero (for incremental transducers) or above 65,535 counts, some information is lost. By using these registers, all bits of the counts are available.
Allen-Bradley |
Register Description |
L19:0 |
32-bit Transducer Counts for axis 0 |
L19:1 |
32-bit Transducer Counts for axis 1 |
L19:2 |
32-bit Transducer Counts for axis 2 |
L19:3 |
32-bit Transducer Counts for axis 3 |
L19:4 |
32-bit Transducer Counts for axis 4 |
L19:5 |
32-bit Transducer Counts for axis 5 |
L19:6 |
32-bit Transducer Counts for axis 6 |
L19:7 |
32-bit Transducer Counts for axis 7 |
Reserved Registers:
Reading these values will return zero, and writes are ignored.
Allen-Bradley |
Register Description |
N20:0-N47:255 |
Unused |
Spline Download Area:
These registers are write only. Reading them will return zero. This area is used to download intervals and points in a spline. This is a much more efficient alternative to using individual New Spline Point and Set Spline Interval/End Segment commands. For details on using this Spline Download Area, see Downloading Splines to the RMC.
Allen-Bradley |
Register Description |
N48:0-N63:255 |
Spline Download Area |
Plot Registers:
These registers can only be read; writes are ignored.
Note: Reading plots is not a trivial task; for further details, see Reading Plots from the Communication Module.
Allen-Bradley |
Register Description |
N64:0-N87:255 |
Plot data for axis 0 |
N88:0-N111:255 |
Plot data for axis 1 |
N112:0-N135:255 |
Plot data for axis 2 |
N136:0-N159:255 |
Plot data for axis 3 |
N160:0-N183:255 |
Plot data for axis 4 |
N184:0-N207:255 |
Plot data for axis 5 |
N208:0-N231:255 |
Plot data for axis 6 |
N232:0-N255:255 |
Plot data for axis 7 |
Copyright (c) 1997-2015 by Delta Computer Systems, Inc.