ProXR Command Set

The Complete ProXR Command Set

The ProXR Standard for Data Collection and Control

ProXR Boards and Software

By now, you have seen ProXR all over our web site.  Just about every controller we currently make is a ProXR controller.  You will find ProXR in relays, inputs, outputs, potentiometers, analog to digital conversion, and much more.  Put simply, ProXR is a standardized set of commands.  When you choose a ProXR controller, you can upgrade that controller without having to re-write your software.  One of the greatest benefits to ProXR is that you can develop your software to work with (for instance) an RS-232 device.  Later on, you may find you don't want to use RS-232 any more.  Maybe you want to talk to the device wirelessly, or maybe use an Ethernet, Wi-Fi, USB, or Bluetooth interface.  No Problem.  You don't have to re-write your program.  You can simply use the communication technology that most benefits your application WITHOUT having to redevelop your software.

ProXR is rooted in simplicity just as much as it is standardization.  Most people who visit our web site are programmers who need to integrate a custom hardware application with a minimal learning curve.  If you are a programmer, then you are ready to dive right in and start communicating with our devices.  But we also work with several customers who have NO PROGRAMMING EXPERIENCE.  And we take pride in making sure these people are brought up to speed with a simple set of tutorials.  So weather you are a programmer or an electrician, we can help get you started.  We move at a pace you can easily follow, so you don't have to worry too much about steep learning curves.  We put a lot of effort into making our devices easy to use and standardized, while supporting all of today's popular communication technologies at a pace anyone can understand.

Before we dive into the command set, there are three reading prerequisites:

1)  Our articles will introduce you to various technologies, and you should read the article that pertains to your favored communication technology first.  Click here to see our articles.

2)  Review our tutorials, they will give you everything you need for first time users to configure a programming language to speak to our devices.

3)  Our ProXR Manual gives you lots of background details on our robust and growing ProXR command set.  Use it as a reference, even if you are an experienced programmer.

The purpose of this article is to give you a convenient location to review a summary of ProXR commands.  This list will only grow as our products evolve.  This list is divided into 4 simple categories: Input, Parameters, Description, and Output.

Reading the Table
Command These are the bytes that you send to the controller.  These bytes are shown in decimal format, and can be converted to HEX if you prefer.  We use the comma character to separate our bytes, but you should NOT send the comma character to the device.  Also, you do NOT need to send a enter or return to complete the command.  The controller knows when the command is complete.
Parameters Some commands need parameters, such as hours, minutes, and seconds.  Other parameters include a Bank value, which indicates which group of relays you will be speaking to.
Command Description While there is no substitute for reading the ProXR manual, these descriptions give you a basic guideline of what to expect from the command.
Response ProXR controllers will respond to most commands that you send.  Under normal operation (when the controller is in runtime mode) the controller will respond with an 85 for most commands.  If the controller happens to be in configuration mode (a jumper setting on the controller), the controller will respond with 86.  Some commands, such as Analog to Digital Conversion, report 8-bit values from 0-255.  In some cases, 2 or more bytes are sent back to the user.  These will be noted in the Response column. 

Example:  The following command activates the first relay in Bank 1

254, 108, 1    Activate First Relay in Bank 1, Controller Responds with 85 when the jumper setting on the controller is in RUN mode.  If the controller is in CONFIG or SETUP mode, the controller will respond with 86.

If your programming language supports HEX instead of decimal values, you can send the same thing by converting the command to its equivalent HEX values:

Send: FE6C01 Hex, t
he controller will respond with 55 Hex.

 
 

Section 1: Relay Control Commands

These commands are used to activate relays.
 
Command Parameters Command Description Response
What You Send Values What Controller Does What Controller Sends Back to You
254,0 none

Turns Off Relay 0 in the Currently Selected Relay Bank

85
254,1 none Turns Off Relay 1 in the Currently Selected Relay Bank 85
254,2 none Turns Off Relay 2 in the Currently Selected Relay Bank 85
254,3 none Turns Off Relay 3 in the Currently Selected Relay Bank 85
254,4 none Turns Off Relay 4 in the Currently Selected Relay Bank 85
254,5 none Turns Off Relay 5 in the Currently Selected Relay Bank 85
254,6 none Turns Off Relay 6 in the Currently Selected Relay Bank 85
254,7 none Turns Off Relay 7 in the Currently Selected Relay Bank 85
254,8 none

Turns On Relay 0 in the Currently Selected Relay Bank

85
254,9 none Turns On Relay 1 in the Currently Selected Relay Bank 85
254,10 none Turns On Relay 2 in the Currently Selected Relay Bank 85
254,11 none Turns On Relay 3 in the Currently Selected Relay Bank 85
254,12 none Turns On Relay 4 in the Currently Selected Relay Bank 85
254,13 none Turns On Relay 5 in the Currently Selected Relay Bank 85
254,14 none Turns On Relay 6 in the Currently Selected Relay Bank 85
254,15 none Turns On Relay 7 in the Currently Selected Relay Bank 85
254,16 none Report the Current On/Off Status of Relay 0 in the Currently Selected Relay Bank 0 or 1
254,17 none Report the Current On/Off Status of Relay 1 in the Currently Selected Relay Bank 0 or 1
254,18 none Report the Current On/Off Status of Relay 2 in the Currently Selected Relay Bank 0 or 1
254,19 none Report the Current On/Off Status of Relay 3 in the Currently Selected Relay Bank 0 or 1
254,20 none Report the Current On/Off Status of Relay 4 in the Currently Selected Relay Bank 0 or 1
254,21 none Report the Current On/Off Status of Relay 5 in the Currently Selected Relay Bank 0 or 1
254,22 none Report the Current On/Off Status of Relay 6 in the Currently Selected Relay Bank 0 or 1
254,23 none Report the Current On/Off Status of Relay 7 in the Currently Selected Relay Bank 0 or 1
254,24 none Reports the Current Status of 8 Relays in the Currently Selected Relay Bank 0-255 (Note 2)
254,25 none

Turns On Automatic Relay Refreshing

85
254,26 none

Turns Off Automatic Relay Refreshing

85
254,27 none

Turns On Reporting Mode (Setting Stored)

85
254,28 none

Turns Off Reporting Mode (Setting Stored)

85
254,29 none

Turn Off All Relays

85
254,30 none

Turn On All Relays

85
254,31 none

Inverts All Relays in Bank

85
254,32 none

Reversed Order of Relays in Bank

85
254,33 none

Test 2-Way Communication

85
254,34 none

Sends Currently Selected Relay Bank

0-32
254,35 none

Store Relay Automatic Refresh Setting

85
254,36 none

Reports the Automatic Refresh Setting

0 or 1
254,37 none

Manually Refresh All Relay Banks

85
254,40 Relay (0-255)

Set Status of All Relays at One Time

85
254,41 none

No Function

85
254,42 Bank (0-32)

Store Startup Status of Relays in Selected Bank

85
254,43 Bank (0-32)

Recall Startup Status of Relays in Selected Bank

0-255 (Note 2)
254, 46 Relay (0-255)

Turn On One Relay ONLY, Safe Break Before Make

85
254, 47 Relay (0-255)

Turn Off a Relay Specified by its Relay Number

85
254, 48 Relay (0-255)

Turn On a Relay Specified by its Relay Number

85
254, 49 Bank (0-32)

Sets the Current Relay Banks Commands are Directed To

85
254, 50 Timer (50-66)
Hour (0-255)
Minute (0-255)
Second (0-255)
Relay (0-255)

Choose a Duration Timer (16 Timers Available)
Relay Will Stay Active for Selected Hours
Relay Will Stay Active for Selected Minutes
Relay Will Stay Active for Selected Seconds
Assign a Relay to This Timer

85
254, 50 Timer (50-66)
Hour (0-255)
Minute (0-255)
Second (0-255)
Relay (0-255)
Choose a Pulse Timer (16 Timers Available)
Relay Will Stay Active for Selected Hours
Relay Will Stay Active for Selected Minutes
Relay Will Stay Active for Selected Seconds
Assign a Relay to This Timer
85
254, 50 Timer (50-66)
Hour (0-255)
Minute (0-255)
Second (0-255)
Relay (0-255)
Choose a Duration Timer (Timer Activated Using Different Command)
Relay Will Stay Active for Selected Hours
Relay Will Stay Active for Selected Minutes
Relay Will Stay Active for Selected Seconds
Assign a Relay to This Timer
85
254, 50 Timer (50-66)
Hour (0-255)
Minute (0-255)
Second (0-255)
Relay (0-255)
Choose a Pulse Timer (Timer Activated Using Different Command)
Relay Will Stay Active for Selected Hours
Relay Will Stay Active for Selected Minutes
Relay Will Stay Active for Selected Seconds
Assign a Relay to This Timer
85
254, 50, 130 Timer(1-16)

Query Selected Timer
Device Returns Current Hour of Timer
Device Returns Current Minute of Timer
Device Returns Current Second of Timer
Device Returns Relay Number that is Assigned to Selected Timer

Hour (0-255)
Minute (0-255)
Second (0-255)
Relay (0-255)
254, 50, 131 TimeLSB (0-255)
TimeMSB (0-255)

Manually Activate/Halt Selected Timers (Least Sig. Byte)
Manually Activate/Halt Selected Timers (Most Sig. Byte)

85
254, 50, 132 CalibrateLSB (0-255)
CalibrateMSB (0-255)

Sets the LSB Calibration of the Timer (Stores in Config. Mode Only)
Sets the MSB Calibration of the Timer (Stores in Config. Mode Only)

85
254, 50, 133 none

Retrieves the Calibration Value of the Timer
Least Significant Bytes will be Sent First (LSB)
Most Significant Bytes will be Sent Last (MSB)

CalibrateLSB (0-255)
CalibrateMSB (0-255)
254, 50, 134 none

Calibrators ON, Measure Time Between Data to Help Set Calibration
Patches In an ASCII Character Output Signifying the Start of a Timer
Patches In an ASCII Character Output Signifying the End of a Timer

85
Start (90)
Stop (91)
254, 50, 135 none

Calibrators OFF, Timers Will Not Signify Start/Stop

85
254, 50, 136 none

Retrieves the Repetitions Value (Fights EMI by Holding Relays On)

Reps (1-255)
254, 50, 137 REPS (1-255)

Stores the Repetitions Value (Config. Mode Only)

85
254, 50, 138 none

Retrieves the Character Delay Value (Delay Between Bytes Sent to PC)

CDEL (3-255)
254, 50, 139 CDEL (3-255)

Stores the Character Delay (Config. Mode Only)

85
254, 50, 140 none

Retrieves the Number of Relay Banks Attached to Controller

ATBanks (1-255)
254, 50, 141 ATBanks (1-255)

Stores the Number of Relay Banks Attached (Config. Mode Only)

85
254, 50, 144 none

Return to Safe Factory Default Values (Config. Mode Only)

85
254, 50, 145 none

Get TestCycle Value (How Many Banks Tested in Config. Mode, 0=None)

TCycle (0-32)
254, 50, 146 TCycle (0-32)

Set TestCycle Value (works in any mode)

85
254, 50, 147 none

Attempt to Recover from a Controller that has Lost Communication

88
254, 100 Bank(0-32) Turn Off Relay 0 in Specified Relay Bank 85
254, 101 Bank(0-32) Turn Off Relay 1 in Specified Relay Bank 85
254, 102 Bank(0-32) Turn Off Relay 2 in Specified Relay Bank 85
254, 103 Bank(0-32) Turn Off Relay 3 in Specified Relay Bank 85
254, 104 Bank(0-32) Turn Off Relay 4 in Specified Relay Bank 85
254, 105 Bank(0-32) Turn Off Relay 5 in Specified Relay Bank 85
254, 106 Bank(0-32) Turn Off Relay 6 in Specified Relay Bank 85
254, 107 Bank(0-32) Turn Off Relay 7 in Specified Relay Bank 85
254, 108 Bank(0-32) Turn On Relay 0 in Specified Relay Bank 85
254, 109 Bank(0-32) Turn On Relay 1 in Specified Relay Bank 85
254, 110 Bank(0-32) Turn On Relay 2 in Specified Relay Bank 85
254, 111 Bank(0-32) Turn On Relay 3 in Specified Relay Bank 85
254, 112 Bank(0-32) Turn On Relay 4 in Specified Relay Bank 85
254, 113 Bank(0-32) Turn On Relay 5 in Specified Relay Bank 85
254, 114 Bank(0-32) Turn On Relay 6 in Specified Relay Bank 85
254, 115 Bank(0-32) Turn On Relay 7 in Specified Relay Bank 85
254, 116 Bank(0-32) Report the Current On/Off Status of Relay 0 in the Specified Relay Bank 0 or 1
254, 117 Bank(0-32) Report the Current On/Off Status of Relay 1 in the Specified Relay Bank 0 or 1
254, 118 Bank(0-32) Report the Current On/Off Status of Relay 2 in the Specified Relay Bank 0 or 1
254, 119 Bank(0-32) Report the Current On/Off Status of Relay 3 in the Specified Relay Bank 0 or 1
254, 120 Bank(0-32) Report the Current On/Off Status of Relay 4 in the Specified Relay Bank 0 or 1
254, 121 Bank(0-32) Report the Current On/Off Status of Relay 5 in the Specified Relay Bank 0 or 1
254, 122 Bank(0-32) Report the Current On/Off Status of Relay 6 in the Specified Relay Bank 0 or 1
254, 123 Bank(0-32) Report the Current On/Off Status of Relay 7 in the Specified Relay Bank 0 or 1
254, 124 Bank(0-32)

Reports Status of Relay Bank

0-255**
254, 129 Bank(0-32)

Turn Off All Relays

85
254, 130 Bank(0-32)

Turn On All Relays

85
254, 131 Bank(0-32)

Inverts All Relays in Bank

85
254, 132 Bank(0-32)

Reversed Order of Relays in Bank

85
254, 140 Relay(0-255)
Bank(0-32)

Set Status of All Relays at One Time

85
254, 142 Bank(0-32)

Store Startup Status of Relays in Selected Bank

85
254, 143 Bank(0-32)

Recall Startup Status of Relays in Selected Bank

0-255**
254, 246 none

Get Device Description Data from Controller: Outputs Below
Device ID Part 1
Device ID Part 2
Device Year of Design
Device Firmware Version
E3C Device Number

1
0
205***
17***
Default is 0

Section 2: E3C Networking Control Commands

All E3C Networking Commands only apply to RS-232 devices.  They do NOT function with Bluetooth, Wi-Fi, Ethernet, USB, Fiber Optic, or ZigBee interface devices.
254, 247 none

Retrieve Stored E3C Device Number

E3CDevice(0-255)
254, 248 none

Enable All Devices Command

No Response
254, 249 none

Disable All Devices Command

No Response
254, 250 Device(0-255)

Enable Selected Device

No Response
254, 251 Device(0-255)

Disable Selected Device

No Response
254, 252 Device(0-255)

Enable Selected Device ONLY, All Other Devices Disabled

No Response
254, 253 Device(0-255)

Disable Selected Device ONLY, All Other Devices Enabled

No Response
254, 255 Device(0-255)

Store E3C Device Number (Config Mode Only)

No Response

*Bank Value of 0 Directs Command to ALL Relay Banks
** Returns 32 Bytes of Data if Relay Bank is Set to 0
*** Subject to Change as Device is Improved
85 Values are Sent if Reporting Mode is ON

Section 3: 8-Channel 8/10-Bit Analog to Digital Conversion

The following commands are compatible with ProXR Series devices equipped with 8-channels of Analog to Digital Conversion.
254,150 none

Read 8-Bit A/D Channel 1

0-255
254,151 none

Read 8-Bit A/D Channel 2

0-255
254,152 none

Read 8-Bit A/D Channel 3

0-255
254,153 none

Read 8-Bit A/D Channel 4

0-255
254,154 none

Read 8-Bit A/D Channel 5

0-255
254,155 none

Read 8-Bit A/D Channel 6

0-255
254,156 none

Read 8-Bit A/D Channel 7

0-255
254,157 none

Read 8-Bit A/D Channel 8

0-255
254,158 none

Read 10-Bit A/D Channel 1

MSB(0-255)
LSB(0-255)
254,159 none

Read 10-Bit A/D Channel 2

MSB(0-255)
LSB(0-255)
254,160 none

Read 10-Bit A/D Channel 3

MSB(0-255)
LSB(0-255)
254,161 none

Read 10-Bit A/D Channel 4

MSB(0-255)
LSB(0-255)
254,162 none

Read 10-Bit A/D Channel 5

MSB(0-255)
LSB(0-255)
254,163 none

Read 10-Bit A/D Channel 6

MSB(0-255)
LSB(0-255)
254,164 none

Read 10-Bit A/D Channel 7

MSB(0-255)
LSB(0-255)
254,165 none

Read 10-Bit A/D Channel 8

MSB(0-255)
LSB(0-255)
254, 166 none

Read 8-Bit A/D All Channels, This Command Returns 8 Bytes

AD1(0-255)
AD2(0-255)
AD3(0-255)
AD4(0-255)
AD5(0-255)
AD6(0-255)
AD7(0-255)
AD8(0-255)
254, 167 none

Read 10-Bit A/D All Channels, This Command Returns 16 Bytes

AD1-MSB(0-255)
AD1-LSB(0-255)
AD2-MSB(0-255)
AD2-LSB(0-255)
AD3-MSB(0-255)
AD3-LSB(0-255)
AD4-MSB(0-255)
AD4-LSB(0-255)
AD5-MSB(0-255)
AD5-LSB(0-255)
AD6-MSB(0-255)
AD6-LSB(0-255)
AD7-MSB(0-255)
AD7-LSB(0-255)
AD8-MSB(0-255)
AD8-LSB(0-255)

Section 4: SCAN Series Contact Closure Input Detection

The following command works with all SCAN series controllers and all UXP Series controllers equipped with a USCS Series Contact Closure Input Expansion.
254, 175 Bank (0-255) Read a Bank of Contact Closure Inputs
This command is used to read a group of 8 contact closure inputs.  This command returns a value from 0-255 indicating the on/off status of 8 contact closure inputs.  Using the math function "AND", it is possible to read individual inputs as needed.  Here is a quick example:

Send 254, 175, 0 to read the first bank of contact closure inputs. 
The controller will return a value from 0-255 indicating the on/off status of each of the 8 inputs on the first bank.  For instance, the controller may return the value 170.  You can apply the AND function to the value of 170 to see the on/off status of each bit.  Start by assuming each bit is OFF.

VALUE=170
If (VALUE AND 1) = 1 then BIT 0 is ON
If (VALUE AND 2) = 2 then BIT 1 is ON
If (VALUE AND 4) = 4 then BIT 2 is ON
If (VALUE AND 8) = 8 then BIT 3 is ON
If (VALUE AND 16) = 16 then BIT 4 is ON
If (VALUE AND 32) = 32 then BIT 5 is ON
If (VALUE AND 64) = 64 then BIT 6 is ON
If (VALUE AND 128) = 128 then BIT 7 is ON

0-255

Section 5: 8/12-Bit  16/32/48-Channel Analog to Digital Conversion

The following commands are compatible with ProXR Series devices equipped with 16-channels of 8/12-Bit Analog to Digital Conversion.  This includes ProXR Series devices with part numbers AD1216ProXR, AD1232ProXR, AD1248ProXR, UAD1216ProXR, UAD1232ProXR, UAD1248ProXR, and UXP Series Controllers connected to a UAD1216 Expansion Module.
254,195 Channel(0-15) Read a Single Channel 8-Bit from Device Bank 0 of 2 One Byte Returned ADx(0-255)
254,203 Channel(0-15) Read a Single Channel 8-Bit from Device Bank 1 of 2 One Byte Returned ADx(0-255)
254,208 Channel(0-15) Read a Single Channel 8-Bit from Device Bank 2 of 2 One Byte Returned ADx(0-255)
254,199 Channel(0-15) Read a Single Channel 12-Bit from Device Bank 0 of 2 Two Bytes Returned LSB(0-255)
MSB(0-255)
254,207 Channel(0-15) Read a Single Channel 12-Bit from Device Bank 1 of 2 Two Bytes Returned LSB(0-255)
MSB(0-255)
254,209 Channel(0-15) Read a Single Channel 12-Bit from Device Bank 2 of 2 Two Bytes Returned LSB(0-255)
MSB(0-255)

254,192

none

Read All 16 Channels at a Time, 8-Bit A/D Device Bank 0 of 2.
This command returns 16 bytes of data in Order of Channels 0-15.

16 Bytes Returned
Channels(0-16)

254,193 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 1 of 2.
This command returns 16 bytes of data in Order of Channels 0-15.
16 Bytes Returned
Channels(0-15)
254,194 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 2 of 2.
This command returns 16 bytes of data in Order of Channels 0-15.
16 Bytes Returned
Channels(0-15)

 254,196

none

Read All 16 Channels at a Time, 8-Bit A/D Device Bank 0 of 2.
This command returns 32 bytes of data in Order of Channels 0-15.

LSBx(0-255)
MSBx(0-255)

254,197 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 1 of 2.
This command returns 32 bytes of data in Order of Channels 0-15.
LSBx(0-255)
MSBx(0-255)
254,198 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 2 of 2.
This command returns 32 bytes of data in Order of Channels 0-15.
LSBx(0-255)
MSBx(0-255)
254,200 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 0 of 2.
This command returns 18 bytes of data in Order:
Header Byte, Channels 0-15, Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0(0-255)
AD1(0-255)
AD2(0-255)
AD3(0-255)
AD4(0-255)
AD5(0-255)
AD6(0-255)
AD7(0-255)
AD8(0-255)
AD9(0-255)
AD10(0-255)
AD11(0-255)
AD12(0-255)
AD13(0-255)
AD14(0-255)
AD15(0-255)
Checksum(0-255)
254,201 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 1 of 2.
This command returns 18 bytes of data in Order:
Header Byte, Channels 0-15, Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0(0-255)
AD1(0-255)
AD2(0-255)
AD3(0-255)
AD4(0-255)
AD5(0-255)
AD6(0-255)
AD7(0-255)
AD8(0-255)
AD9(0-255)
AD10(0-255)
AD11(0-255)
AD12(0-255)
AD13(0-255)
AD14(0-255)
AD15(0-255)
Checksum(0-255)
254,202 none Read All 16 Channels at a Time, 8-Bit A/D Device Bank 2 of 2.
This command returns 18 bytes of data in Order:
Header Byte, Channels 0-15, Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0(0-255)
AD1(0-255)
AD2(0-255)
AD3(0-255)
AD4(0-255)
AD5(0-255)
AD6(0-255)
AD7(0-255)
AD8(0-255)
AD9(0-255)
AD10(0-255)
AD11(0-255)
AD12(0-255)
AD13(0-255)
AD14(0-255)
AD15(0-255)
Checksum(0-255)
254,204 none Read All 16 Channels at a Time, 12-Bit A/D Device Bank 0 of 2.
This command returns 32 bytes of data in Order:
Header Byte, Channels 0-15 (LSB and MSB), Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0-LSB(0-255)
AD0-MSB(0-255)
AD1-LSB(0-255)
AD1-MSB(0-255)
AD2-LSB(0-255)
AD2-MSB(0-255)
AD3-LSB(0-255)
AD3-MSB(0-255)
AD4-LSB(0-255)
AD4-MSB(0-255)
AD5-LSB(0-255)
AD5-MSB(0-255)
AD6-LSB(0-255)
AD6-MSB(0-255)
AD7-LSB(0-255)
AD7-MSB(0-255)
AD8-LSB(0-255)
AD8-MSB(0-255)
AD9-LSB(0-255)
AD9-MSB(0-255)
AD10-LSB(0-255)
AD10-MSB(0-255)
AD11-LSB(0-255)
AD11-MSB(0-255)
AD12-LSB(0-255)
AD12-MSB(0-255)
AD13-LSB(0-255)
AD13-MSB(0-255)
AD14-LSB(0-255)
AD14-MSB(0-255)
AD15-LSB(0-255)
AD15-MSB(0-255)
Checksum(0-255)
254,205 none Read All 16 Channels at a Time, 12-Bit A/D Device Bank 1 of 2.
This command returns 32 bytes of data in Order:
Header Byte, Channels 0-15 (LSB and MSB), Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0-LSB(0-255)
AD0-MSB(0-255)
AD1-LSB(0-255)
AD1-MSB(0-255)
AD2-LSB(0-255)
AD2-MSB(0-255)
AD3-LSB(0-255)
AD3-MSB(0-255)
AD4-LSB(0-255)
AD4-MSB(0-255)
AD5-LSB(0-255)
AD5-MSB(0-255)
AD6-LSB(0-255)
AD6-MSB(0-255)
AD7-LSB(0-255)
AD7-MSB(0-255)
AD8-LSB(0-255)
AD8-MSB(0-255)
AD9-LSB(0-255)
AD9-MSB(0-255)
AD10-LSB(0-255)
AD10-MSB(0-255)
AD11-LSB(0-255)
AD11-MSB(0-255)
AD12-LSB(0-255)
AD12-MSB(0-255)
AD13-LSB(0-255)
AD13-MSB(0-255)
AD14-LSB(0-255)
AD14-MSB(0-255)
AD15-LSB(0-255)
AD15-MSB(0-255)
Checksum(0-255)
254,206 none Read All 16 Channels at a Time, 12-Bit A/D Device Bank 2 of 2.
This command returns 32 bytes of data in Order:
Header Byte, Channels 0-15 (LSB and MSB), Checksum Byte at End of Packet.

Checksum Value Always Equals the Sum of All Bytes Sent, Including the Header.  The Checksum Value is Always 8-Bits.  You Should Extract the Lower 8 Bits from the Checksum to Return a Matched Value.  Use This Formula:

CheckSumTest = Sum of All Bytes Sent from Controller
CheckSum = Last Byte Sent from Controller
(CheckSumTest AND 255) MUST Equal CheckSum

The AND Function Used in the Above Formula is a Mathematical Function that Returns (in this case) the Lower 8 Bits of the CheckSumTest.  AND is supported by Most Programming Languages.

Header Byte 254
AD0-LSB(0-255)
AD0-MSB(0-255)
AD1-LSB(0-255)
AD1-MSB(0-255)
AD2-LSB(0-255)
AD2-MSB(0-255)
AD3-LSB(0-255)
AD3-MSB(0-255)
AD4-LSB(0-255)
AD4-MSB(0-255)
AD5-LSB(0-255)
AD5-MSB(0-255)
AD6-LSB(0-255)
AD6-MSB(0-255)
AD7-LSB(0-255)
AD7-MSB(0-255)
AD8-LSB(0-255)
AD8-MSB(0-255)
AD9-LSB(0-255)
AD9-MSB(0-255)
AD10-LSB(0-255)
AD10-MSB(0-255)
AD11-LSB(0-255)
AD11-MSB(0-255)
AD12-LSB(0-255)
AD12-MSB(0-255)
AD13-LSB(0-255)
AD13-MSB(0-255)
AD14-LSB(0-255)
AD14-MSB(0-255)
AD15-LSB(0-255)
AD15-MSB(0-255)
Checksum(0-255)

Section 6: Digital Potentiometer Control

The following commands are compatible with ProXR Series devices equipped with Potentiometer Outputs.  This includes ProXR Series devices with part numbers POT8ProXR, POT16ProXR, PORT24ProXR, UPOT8ProXR, UPOT16ProXR, UPOT24ProXR, and UXP Series Controllers connected to a UPOT16 Potentiometer Expansion Module.
254,170 Potentiometer(0-255)
Value(0-255)
Set a Single Potentiometer to a Specific Value 85
254, 171 Value(0-255) Set All Potentiometers to a Specific Value 85
254,172 Potentiometer(0-47)
Value(0-255)
Store One Potentiometer Startup Value as the Default Power-Up Value. 
This Command Does NOT Apply to UXP Series Controllers.
85
254,173 Potentiometer(0-47) Ask Controller the Default Power-Up Value of a Specific Potentiometer.
This Command Does NOT Apply to UXP Series Controllers.
Value(0-255)
Processing...

The ProXR Standard for I/O and Relay Control

A0010