Advanced, XL Family

RIO-16D Registers

Coils (0XXXX)

 IO1
 IO2
 IO3
 IO4
 IO5
 IO6
 IO7
 IO8
 IO9
 IO10 10 
 IO11 11 
 IO12 12 
 IO13 13 
 IO14 14 
 IO15 15 
 IO16 16 

Discrete Inputs (1XXXX)

 IO1
 IO2
 IO3
 IO4
 IO5
 IO6
 IO7
 IO8
 IO9
 IO10 10 
 IO11 12 
 IO12 12 
 IO13 13 
 IO14 14 
 IO15 15 
 IO16 16 
 AI1 17 
 AI2 18 
 AI3 19 
 AI4 20 
 AI5 21 
 AI6 22 
 AI7 23 

Input Registers (3XXXX)

 ADC Channel 1 0=0mA, 4095=20mA
 ADC Channel 2 0=0mA, 4095=20mA
 ADC Channel 3 0=0mA, 4095=20mA
 ADC Channel 4 0=0mA, 4095=20mA
 ADC Channel 5 0=0mA, 4095=20mA
 ADC Channel 6 0=0mA, 4095=20mA
 ADC Channel 7 0=0mA, 4095=20mA
 Supply 4095=FS
 ADC Channel 1 0=4mA, 32767=20mA 11 
 ADC Channel 2 0=4mA, 32767=20mA 12 
 ADC Channel 3 0=4mA, 32767=20mA 13 
 ADC Channel 4 0=4mA, 32767=20mA 14 
 ADC Channel 5 0=4mA, 32767=20mA 15 
 ADC Channel 6 0=4mA, 32767=20mA 16 
 ADC Channel 7 0=4mA, 32767=20mA 17 
 ADC Channel 1 0=0mA, 32767=20mA 21 
 ADC Channel 2 0=0mA, 32767=20mA 22 
 ADC Channel 3 0=0mA, 32767=20mA 23 
 ADC Channel 4 0=0mA, 32767=20mA 24 
 ADC Channel 5 0=0mA, 32767=20mA 25 
 ADC Channel 6 0=0mA, 32767=20mA 26 
 ADC Channel 7 0=0mA, 32767=20mA 27 
 Supply 32767=FS 28 
 ADC Channel 1 0=4mA, 4095=20mA 31 
 ADC Channel 2 0=4mA, 4095=20mA 32 
 ADC Channel 3 0=4mA, 4095=20mA 33 
 ADC Channel 4 0=4mA, 4095=20mA 34 
 ADC Channel 5 0=4mA, 4095=20mA 35 
 ADC Channel 6 0=4mA, 4095=20mA 36 
 ADC Channel 7 0=4mA, 4095=20mA 37 
 ADC Channel 1 raw, for cal. only 41 
 ADC Channel 2 raw, for cal. only 42 
 ADC Channel 3 raw, for cal. only 43 
 ADC Channel 4 raw, for cal. only 44 
 ADC Channel 5 raw, for cal. only 45 
 ADC Channel 6 raw, for cal. only 46 
 ADC Channel 7 raw, for cal. only 47 
 Supply raw, for cal. only 48 

Holding Registers (4XXXX)

 IO1Count
 IO2Count
 IO3Count
 IO4Count
 IO5Count
 IO6Count
 IO7Count
 IO8Count
 IO9Count
 IO10Count 10 
 IO11Count 11 
 IO12Count 12 
 IO13Count 13 
 IO14Count 14 
 IO15Count 15 
 IO16Count 16 
 AI1Count 17 
 AI2Count 18 
 AI3Count 19 
 AI4Count 20 
 AI5Count 21 
 AI6Count 22 
 AI7Count 23 
 Debounce in ms 31 
 IODir bit map 32 
 BaudDiv baud rate divisor 41 
 SerialMode parity & stop bits 42 
 SerialTimeout default=5 43 
 RespDelay in ms 44 
 QuietTime in ms 45 
 MirSlaveTO in s 46 
 MirMasterTO in ms 47 
 LEDControl 0=off, 1=on 51 
 MirrorMode 0=off, 1=slave, 2=master 52 
 MirRepeat in s 61 
 MirTimeout in s 62 
 MirFailSafe bitmapped 63 - 64 
 MirIO1Addr addr for IO1 65 
 MirIO2Addr addr for IO2 66 
 MirIO3Addr addr for IO3 67 
 MirIO4Addr addr for IO4 68 
 MirIO5Addr addr for IO5 69 
 MirIO6Addr addr for IO6 70 
 MirIO7Addr addr for IO7 71 
 MirIO8Addr addr for IO8 72 
 MirIO9Addr addr for IO9 73 
 MirIO10Addr addr for IO10 74 
 MirIO11Addr addr for IO11 75 
 MirIO12Addr addr for IO12 76 
 MirIO13Addr addr for IO13 77 
 MirIO14Addr addr for IO14 78 
 MirIO15Addr addr for IO15 79 
 MirIO16Addr addr for IO16 80 
 MirIO1Port port for IO1 81 
 MirIO2Port port for IO2 82 
 MirIO3Port port for IO3 83 
 MirIO4Port port for IO4 84 
 MirIO5Port port for IO5 85 
 MirIO6Port port for IO6 86 
 MirIO7Port port for IO7 87 
 MirIO8Port port for IO8 88 
 MirIO9Port port for IO9 89 
 MirIO10Port port for IO10 90 
 MirIO11Port port for IO11 91 
 MirIO12Port port for IO12 92 
 MirIO13Port port for IO13 93 
 MirIO14Port port for IO14 94 
 MirIO15Port port for IO15 95 
 MirIO16Port port for IO16 96 
 MirIO1Addr addr for IO1 97 
 MirIO2Addr addr for IO2 98 
 MirIO3Addr addr for IO3 99 
 MirIO4Addr addr for IO4 100 
 MirIO5Addr addr for IO5 101 
 MirIO6Addr addr for IO6 102 
 MirIO7Addr addr for IO7 103 
 MirIO8Addr addr for IO8 104 
 MirIO9Addr addr for IO9 105 
 MirIO10Addr addr for IO10 106 
 MirIO11Addr addr for IO11 107 
 MirIO12Addr addr for IO12 108 
 MirIO13Addr addr for IO13 109 
 MirIO14Addr addr for IO14 110 
 MirIO15Addr addr for IO15 111 
 MirIO16Addr addr for IO16 112 
 MirIO1Port port for IO1 113 
 MirIO2Port port for IO2 114 
 MirIO3Port port for IO3 115 
 MirIO4Port port for IO4 116 
 MirIO5Port port for IO5 117 
 MirIO6Port port for IO6 118 
 MirIO7Port port for IO7 119 
 MirIO8Port port for IO8 120 
 MirIO9Port port for IO9 121 
 MirIO10Port port for IO10 122 
 MirIO11Port port for IO11 123 
 MirIO12Port port for IO12 124 
 MirIO13Port port for IO13 125 
 MirIO14Port port for IO14 126 
 MirIO15Port port for IO15 127 
 MirIO16Port port for IO16 128 
 ADCOffset1 signed 131 
 ADCOffset2 signed 132 
 ADCOffset3 signed 133 
 ADCOffset4 signed 134 
 ADCOffset5 signed 135 
 ADCOffset6 signed 136 
 ADCOffset7 signed 137 
 ADCScale1 1023=unscaled 141 
 ADCScale2 1023=unscaled 142 
 ADCScale3 1023=unscaled 143 
 ADCScale4 1023=unscaled 144 
 ADCScale5 1023=unscaled 145 
 ADCScale6 1023=unscaled 146 
 ADCScale7 1023=unscaled 147 
 ADCScale8 1023=unscaled 148 
 Pulse1 in ms 151 
 Pulse2 in ms 152 
 Pulse3 in ms 153 
 Pulse4 in ms 154 
 Pulse5 in ms 155 
 Pulse6 in ms 156 
 Pulse7 in ms 157 
 Pulse8 in ms 158 
 Pulse9 in ms 159 
 Pulse10 in ms 160 
 Pulse11 in ms 161 
 Pulse12 in ms 162 
 Pulse13 in ms 163 
 Pulse14 in ms 164 
 Pulse15 in ms 165 
 Pulse16 in ms 166 
 BCastReset see below 171-173 
 Address 174 
 IO1LongCount 181-182 
 IO2LongCount 183-184 
 IO3LongCount 185-186 
 IO4LongCount 187-188 
 IO5LongCount 189-190 
 IO6LongCount 191-192 
 IO7LongCount 193-194 
 IO8LongCount 195-196 
 IO9LongCount 197-198 
 IO10LongCount 199-200 
 IO11LongCount 201-202 
 IO12LongCount 203-204 
 IO13LongCount 205-206 
 IO14LongCount 207-208 
 IO15LongCount 209-210 
 IO16LongCount 211-212 
 AI1LongCount 213-214 
 AI2LongCount 215-216 
 AI3LongCount 217-218 
 AI4LongCount 219-220 
 AI5LongCount 221-222 
 AI6LongCount 223-224 
 AI7LongCount 225-226 
 SerialNum 231-232 
 RadioSNum radio serial number 233-234 
 LastCalTimestamp Unix format 241-242 
 CalInitials 243-244 
 LastUpdateTimestamp Unix format 245-246 
 UPLoadAddr read-only 251 
 UPSig uploaded file signature 252 
 UPVPC uploaded file signature 253 
 UPCmdState see below 254 
 UPBreakPt1 not user-supported 255 
 UPBreakPt2 not user-supported 256 
 UPBreakPt3 not user-supported 257 
 UPBreakPt4 not user-supported 258 
 UPKey not user-supported 259 
 UPEndAddr read-only 260 
 Xfer0 for comm. with UP 261 
 Xfer1 for comm. with UP 262 
 Xfer2 for comm. with UP 263 
 Xfer3 for comm. with UP 264 
 Xfer4 for comm. with UP 265 
 Xfer5 for comm. with UP 266 
 Xfer6 for comm. with UP 267 
 Xfer7 for comm. with UP 268 
 Xfer8 for comm. with UP 269 
 Xfer9 for comm. with UP 270 
 Xfer10 for comm. with UP 271 
 Xfer11 for comm. with UP 272 
 Xfer12 for comm. with UP 273 
 Xfer13 for comm. with UP 274 
 Xfer14 for comm. with UP 275 
 Xfer15 for comm. with UP 276 

Mirror Failsafe

Output failsafe levels are determined by the 16-bit value stored in holding register 43:

BitsBinary ValuesFailsafe effect
16, 000
10
11
IO1 - no change
IO1 - OFF
IO1 - ON
17, 100
10
11
IO2 - no change
IO2 - OFF
IO2 - ON
18, 200
10
11
IO3 - no change
IO3 - OFF
IO3 - ON
19, 300
10
11
IO4 - no change
IO4 - OFF
IO4 - ON
20, 400
10
11
IO5 - no change
IO5 - OFF
IO5 - ON
21, 500
10
11
IO6 - no change
IO6 - OFF
IO6 - ON
22, 600
10
11
IO7 - no change
IO7 - OFF
IO7 - ON
23, 700
10
11
IO8 - no change
IO8 - OFF
IO8 - ON
BitsBinary ValuesFailsafe effect
24, 800
10
11
IO9 - no change
IO9 - OFF
IO9 - ON
25, 900
10
11
IO10 - no change
IO10 - OFF
IO10 - ON
26, 1000
10
11
IO11 - no change
IO11 - OFF
IO11 - ON
27, 1100
10
11
IO12 - no change
IO12 - OFF
IO12 - ON
28, 1200
10
11
IO13 - no change
IO13 - OFF
IO13 - ON
29, 1300
10
11
IO14 - no change
IO14 - OFF
IO14 - ON
30, 1400
10
11
IO15 - no change
IO15 - OFF
IO15 - ON
31, 1500
10
11
IO16 - no change
IO16 - OFF
IO16 - ON

Broadcast Reset

The Modbus address of a RIO-16D device can be changed by broadcasting (i.e. sending to Modbus address 0) a write to holding registers 171-173.

The write should be done with a single, Write Multiple Registers command. In the first two registers (most signifigant word followed by least signifigant word), you should write the device's serial number. In the last register, you should write the new Modbus address.

As per the Modbus standard, the RIO device will not respond to this broadcast. Immediately after receipt, the RIO device will begin responding to requests made of the new address.

Command State

The user-supported values for the UPCmdState are:

ValueMeaning
0xFFFERun
0xFFFFHalt

To halt execution, write 0xFFFF to UPCmdState. To restart execution, write 0xFFFE to UPCmdState.

To restart program execution from the beginning, read the value of UPLoadAddr and then write this value to UPVPC and 0xFFFE to UPLoadAddr in a single operation.