Advanced, XL Family

RIO-28 Registers

Coils (0XXXX)

 DO1
 DO2
 DO3
 DO4
 DO5
 DO6
 DO7
 DO8

Discrete Inputs (1XXXX)

 DI1
 DI2
 DI3
 DI4
 DI5
 DI6
 DI7
 DI8
 AI1
 AI2 10 
 AI3 11 
 AI4 12 
 AI5 13 
 AI6 14 
 AI7 15 

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)

 DI1Count
 DI2Count
 DI3Count
 DI4Count
 DI5Count
 DI6Count
 DI7Count
 DI8Count
 AI1Count
 AI2Count 10 
 AI3Count 11 
 AI4Count 12 
 AI5Count 13 
 AI6Count 14 
 AI7Count 15 
 Debounce in ms 21 
 BaudDiv baud rate divisor 31 
 SerialMode parity & stop bits 32 
 SerialTimeout default=5 33 
 RespDelay in ms 34 
 QuietTime in ms 35 
 MirSlaveTO in s 36 
 MirMasterTO in ms 37 
 RadioInit 0=don't read, 1=read on init. 38 
 LEDControl 0=off, 1=on 41 
 MirrorMode 0=off, 1=slave, 2=master 42 
 MirRepeat in s 51 
 MirTimeout in s 52 
 MirFailSafe bitmapped 53 - 54 
 MirDO1Addr addr for DO1 55 
 MirDO2Addr addr for DO2 56 
 MirDO3Addr addr for DO3 57 
 MirDO4Addr addr for DO4 58 
 MirDO5Addr addr for DO5 59 
 MirDO6Addr addr for DO6 60 
 MirDO7Addr addr for DO7 61 
 MirDO8Addr addr for DO8 62 
 MirDO1Port port for DO1 63 
 MirDO2Port port for DO2 64 
 MirDO3Port port for DO3 65 
 MirDO4Port port for DO4 66 
 MirDO5Port port for DO5 67 
 MirDO6Port port for DO6 68 
 MirDO7Port port for DO7 69 
 MirDO8Port port for DO8 70 
 MirDI1Addr addr for DI1 71 
 MirDI2Addr addr for DI2 72 
 MirDI3Addr addr for DI3 73 
 MirDI4Addr addr for DI4 74 
 MirDI5Addr addr for DI5 75 
 MirDI6Addr addr for DI6 76 
 MirDI7Addr addr for DI7 77 
 MirDI8Addr addr for DI8 78 
 MirDI1Port port for DI1 79 
 MirDI2Port port for DI2 80 
 MirDI3Port port for DI3 81 
 MirDI4Port port for DI4 82 
 MirDI5Port port for DI5 83 
 MirDI6Port port for DI6 84 
 MirDI7Port port for DI7 85 
 MirDI8Port port for DI8 86 
 MirAO1Addr addr for AO1 87 
 MirAO2Addr addr for AO2 88 
 MirAO3Addr addr for AO3 89 
 MirAO4Addr addr for AO4 90 
 MirAO1Port port for AO1 91 
 MirAO2Port port for AO2 92 
 MirAO3Port port for AO3 93 
 MirAO4Port port for AO4 94 
 MirAI1Addr addr for AI1 95 
 MirAI2Addr addr for AI2 96 
 MirAI3Addr addr for AI3 97 
 MirAI4Addr addr for AI4 98 
 MirAI5Addr addr for AI5 99 
 MirAI6Addr addr for AI6 100 
 MirAI7Addr addr for AI7 101 
 MirAI8Addr addr for AI8 102 
 MirAI1Port port for AI1 103 
 MirAI2Port port for AI2 104 
 MirAI3Port port for AI3 105 
 MirAI4Port port for AI4 106 
 MirAI5Port port for AI5 107 
 MirAI6Port port for AI6 108 
 MirAI7Port port for AI7 109 
 MirAI8Port port for AI8 110 
 DACOffset1 signed 111 
 DACOffset2 signed 112 
 DACOffset3 signed 113 
 DACOffset4 signed 114 
 ADCOffset1 signed 115 
 ADCOffset2 signed 116 
 ADCOffset3 signed 117 
 ADCOffset4 signed 118 
 ADCOffset5 signed 119 
 ADCOffset6 signed 120 
 ADCOffset7 signed 121 
 DACScale1 4095=unscaled 131 
 DACScale2 4095=unscaled 132 
 DACScale3 4095=unscaled 133 
 DACScale4 4095=unscaled 134 
 ADCScale1 4095=unscaled 135 
 ADCScale2 4095=unscaled 136 
 ADCScale3 4095=unscaled 137 
 ADCScale4 4095=unscaled 138 
 ADCScale5 4095=unscaled 139 
 ADCScale6 4095=unscaled 140 
 ADCScale7 4095=unscaled 141 
 ADCScale8 4095=unscaled 142 
 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 
 DAC Channel 1 0=0mA, 4095=20mA 161 
 DAC Channel 2 0=0mA, 4095=20mA 162 
 DAC Channel 3 0=0mA, 4095=20mA 163 
 DAC Channel 4 0=0mA, 4095=20mA 164 
 DAC Channel 1 0=0mA, 32767=20mA 171 
 DAC Channel 2 0=0mA, 32767=20mA 172 
 DAC Channel 3 0=0mA, 32767=20mA 173 
 DAC Channel 4 0=0mA, 32767=20mA 174 
 DAC Channel 1 raw, for cal. only 181 
 DAC Channel 2 raw, for cal. only 182 
 DAC Channel 3 raw, for cal. only 183 
 DAC Channel 4 raw, for cal. only 184 
 BCastReset see below 191-193 
 Address 194 
 DI1LongCount 201-202 
 DI2LongCount 203-204 
 DI3LongCount 205-206 
 DI4LongCount 207-208 
 DI5LongCount 209-210 
 DI6LongCount 211-212 
 DI7LongCount 213-214 
 DI8LongCount 215-216 
 AI1LongCount 217-218 
 AI2LongCount 219-220 
 AI3LongCount 221-222 
 AI4LongCount 223-224 
 AI5LongCount 225-226 
 AI6LongCount 227-228 
 AI7LongCount 229-230 
 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
8, 000
10
11
DO-1 - no change
DO-1 - OFF
DO-1 - ON
9, 100
10
11
DO-2 - no change
DO-2 - OFF
DO-2 - ON
10, 200
10
11
DO-3 - no change
DO-3 - OFF
DO-3 - ON
11, 300
10
11
DO-4 - no change
DO-4 - OFF
DO-4 - ON
12, 400
10
11
DO-5 - no change
DO-5 - OFF
DO-5 - ON
13, 500
10
11
DO-6 - no change
DO-6 - OFF
DO-6 - ON
14, 600
10
11
DO-7 - no change
DO-7 - OFF
DO-7 - ON
15, 700
10
11
DO-8 - no change
DO-8 - OFF
DO-8 - ON
20, 1600
10
11
AO-1 - no change
AO-1 - LOW
AO-1 - HIGH
21, 1700
10
11
AO-2 - no change
AO-2 - LOW
AO-2 - HIGH
22, 1800
10
11
AO-3 - no change
AO-3 - LOW
AO-3 - HIGH
23, 1900
10
11
AO-4 - no change
AO-4 - LOW
AO-4 - HIGH

Broadcast Reset

The Modbus address of a RIO-28 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.