Greetings,
If timing issues can be resolved (see below), one may be able to multiplex several 16 bit wide variables through 16 digital input pins by having your JBI program signal request and receipt of each variable through digital output pins. For example, there would be a communication loop in your JBI program requesting two 16 bit variables to be sent through a single set of 16 digital input pins, using two digital output pins: 01b requests variable 1, 10b variable 2, 11b indicates a comm error and 00b indicates all variables received. If a more than bare-bones protocol is required, then more input and more output pins would be used, but less that in the case of dedicated variable pins mentioned previously by forum colleague 95devils.
As in 95devils suggestion, this approach would still require a DAQ board with a sufficient number of digital outputs and inputs (suitably protected through optical isolation).
If you have the multiplexing ADC board on the DX controller, you may alternatively use an analog output of your DAQ board to send appropriately scaled analog signals to your DX (i.e. your variable range would be fit into the analog voltage range of the ADC board, with the corresponding precision limitations of the ADC resolution), one variable per ADC input. Continued use of the DX output pins for communication signalling would be suggested.
Furthermore, with more DX digital pins freed up for use as outputs, you may use the available digital input pins on the DAQ board attached to your PC, to enhance your communication protocol to cover more states (e.g. 5 bits/pins = 32 states).
However, this loop may require more time than is available in your application, e.g. the robot would only receive a position update when that loop is executed successfully, which may take a variable amount of time, depending on the reliability of your PC-DAQ-DX connection.
Please keep us updated as to your efforts in this regard.