This web site requires Java Script.
You must enable Java Script on
your browser to navigate this site.















WTX4 Isolated Stackable DAQ Module

Isolated Stackable DAQ Module
The WTX4 is a Data Acquisition & Control module available in various different versions that provide a wide assortment of input and output combinations. Multiple units can also be plugged together to create an expandable network. Each WTX4 unit is comprised of four individual sub units which can be a mix of the following different types of I/Os.

DIGITAL INPUT – Used to read the on/off states of dry contacts for switches, proximity sensors, optical encoders, TTL level pulses, NPN or PNP sensor outputs, etc. 24-bit counter with adjustable rollover limits can count event pulses or track the position of a incremental quadrature encoder. Can also measure the speed of a rotating shaft up to 400,000 RPM.

DIGITAL OUTPUT – Used for TTL level outputs, or high current open collector outputs to control the on/off states of relays, solenoids, magnetic latches, flow valves, DC motors, etc. Provides PWM control signals as well as Timer outputs that span from 1 mS to 65,535 mS and re-loadable on the fly.

ANALOG INPUT – Used to read the voltages from pressure transducers, load cells, strain gauges, temperature sensors, 4-20 mA devices, potentiometer positions, etc. 20-bit A/D resolution with user programmable gain and offset.

ANALOG OUTPUT – Used to output DC control voltages to machinery that requires a ±10V control signal. Includes an internal automatic ramp generator with trapezoidal or S-curve shaped slope profiles which can execute independently of the host PC. 12-bit D/A resolution.

THERMOCOUPLE INPUT – Used to read the micro level voltages produced by types J, K, T, E thermocouples and convert it to absolute temperature using a high-order polynomial equation and NIST published coefficients. Each channel is user selectable for Fahrenheit or Celsius formats. Built-in cold junction reference, no external ice-point necessary. 16-bit A/D resolution.

Data Sheet Software Accessories



WTX4 Main Features

Electrical Isolation

Each of the four WTX4 sub units are electrically isolated from each other, the power supply rails, the communications bus, and the RS-232 / USB port. This allows for the use of sensors which are mounted to machinery with conflicting ground potentials as well as preventing ground loops between the WTX4 and the host PC. This also protects both the host PC and the WTX4 network from accidental ground surges which can be very damaging.

Advantages of Isolation

Any large machine or equipment that is drawing a significant amount of electrical current will have a ground potential that is completely different than the ground (or negative side) of the power supply that is delivering current to it. This is because the current drawn by the machine will create a voltage drop across the power supply cable and in turn, cause the voltage potential of the machine ground to be raised up to a level which is equal to this voltage drop. It will no longer be at the same voltage potential as the power supply ground even though they are directly connected together. If you have a sensor mounted to the machine that is outputting a TTL level pulse, for instance, and tied to the machine ground, the signal coming from this sensor will also be raised up with respect to the power supply ground.

For example, suppose you have a machine that is drawing 10A of current and the power supply cable is long enough that the resistance of the wire equals 0.2 ohms. This will create a 2V drop across the ground wire of the power supply cable and a sensor which is outputting a 0-5 volt pulse will now be seen as a 2-7 volt pulse with respect to the power supply ground. And this will be above the low side trigger threshold of a typical pulse counting measurement device which is usually around 1V.

Fortunately, since the WTX4 and its sub units are fully isolated from power supply ground, the COM terminal of the sub unit can be connected to the machine ground as apposed to the power supply ground and the pulses coming from the sensor will be seen as a true 0-5 volt signal. And each one of the WTX4 sub units can be connected to separate machines which have completely different ground potentials.

Connecting Multiple Units

Up to eight WTX4 units can be connected together via the RJ-11 modular jacks at the top of the unit and share the same communications link with the host. The RJ-11 ports are constructed using a pair of optically isolated current loops creating a multi-drop bus which is virtually immune to noise and can be extended hundreds of feet over common 4 conductor wire. Use standard inverted wiring from plug to plug.

The communications bus between each WTX4 unit as well as their four sub units uses a stratagem based on the Carrier Sense Multiple Access (CSMA/CD) protocol. Carrier Sense (CS) is the monitoring of the data bus for a period of inactivity before a sub unit is allowed to begin its own transmission. Multiple Access (MA) means that once the bus is free, every sub unit has an equal opportunity to transmit a frame. And Collision Detection (CD) uses non destructive bit wise arbitration to preserve the integrity of a data frame when two or more sub units try to transmit at the exact same time. And since the data frame that wins arbitration remains intact during a collision, there is no additional communications delay when a collision occurs no matter how often it happens.

Sub Unit Communications

To communicate with the WTX4 DAQ module, commands are sent to the individual sub units. Each command string includes a header character at the beginning (the address) so that the command can be routed to the appropriate sub unit. If using multiple WTX4 units connected together, the DIP switch for each unit should be set to a different position so that its sub units will be assigned a different set of header characters. Each sub unit type has its own command set used to configure it, operate the functions, and to read data from it. These commands are listed in the WTX4 data sheet. A typical command string looks like this:


H = Header Character
C = Command Character
N = Channel Number (if applicable)
V = Value (if applicable)
{cr} = Carriage Return

If using our ModCom HMI software, the carriage return is not necessary because ModCom automatically inserts this at the end of each command string. ModCom has a communications dialog box which can be used to transmit individual commands to the sub units and see the data coming back. This is helpful in learning the style of the command-set protocol and testing the hardware that's attached to the WTX4 DAQ module. It is highly recommended that this testing be done prior to setting up any complex control programs.


Digital Input Features

Input Types

The input channels of the Digital Input sub unit can be connected to TTL level outputs, dry contacts of switches, optical sensors, proximity sensors, or quadrature encoders which are sometimes called incremental encoders or rotary encoders. Each sub unit can be configured for either NPN or PNP type sensors by selecting the pull-up resistor termination. Setting it to HIGH will enable it to be used with NPN type sensors and dry contacts, setting it to LOW will enable it to be used with PNP type sensors and TTL level outputs.

Input Protection

In many cases, the industrial environment is a very harsh and unforgiving opponent to a typical digital input sensing circuit. A large machine or motor that switches on and off will inadvertently induce voltage spikes onto any neighboring electrical wires even if it is not physically touching them. And if these wires are attached to sensitive electronics, damage could result. Fortunately, the digital inputs of the WTX4 sub units incorporate high voltage transient protection to insure that these voltage spikes do not cause any harm. In addition, the inputs are configured to accept a wide range of input voltages that represent each logic level. A logic high can be anywhere from +4V up to +40V, a logic low can be anywhere from +0.8V down to -40V. This allows for the connection to sensors with very diverse output voltages.

Switch Contact Debounce

A typical switch or button uses metal plates (called contacts) which can be moved together or apart in order to make or break the current path. During switch closure, when these plates first make contact with each other, they will bounce several times before coming to rest. This bouncing of the contacts will appear as multiple transitions to a digital input monitoring system, and in most cases, not be desirable.

Each of the input channels of the Digital Input sub unit incorporates its own de-bounce timer used to mask these multiple transitions by disabling the input for a short period of time after each logic state change. If an input channel is setup for SWITCH or BUTTON and it detects a change of state, the action is immediately reported to the host, its de-bounce timer is loaded with a value equal to 100mS, and the input is disabled until this time period has lapsed. Because each input channel's timer operates independently of each other, the Digital Input can still report actions on additional inputs while it’s waiting for this timer to expire.

Polling or Auto Reporting

The logic state of each input channel can be read (or polled) by the host using the READ command, or each channel can be set up to automatically report a logic transition by using the SWITCH or BUTTON command. This automatic reporting allows the host to be performing other tasks or transmitting other commands while it is waiting for an external mechanical switch or button to change state.

Pulse Counting Function

The digital inputs can be set up to count pulses using the COUNT command and either increment or decrement the 24-bit counting register with each pulse. In addition, the rollover point is programmable to any number from 0 to 16,777,215. Incrementing past the upper limit will automatically roll over to zero, decrementing past the lower limit of zero will automatically roll over to the upper limit.

Quadrature Encoder Function

A normal inductive pickup, optical sensor, or proximity sensor attached to a rotating shaft can keep track of the pulse count and/or RPM frequency but it can not determine the direction that the shaft is rotating. An incremental or rotary encoder with a quadrature output incorporates two individual signals which are 90° out of phase. These out-of-phase signals can be used to determine both the magnitude and direction of movement for precise position sensing applications. The input channels of the Digital Input sub unit can be set up using the QUADRATURE command to read and track the position of an incremental encoder using two channels as a pair for each encoder. These input channel pairs will automatically decode the two out of phase quadrature signals and be able to monitor the exact position as the shaft rotates in either direction. Moving in one direction will increment the count, moving in the opposite direction will decrement the count. As with the pulse counting function, the rollover point of the 24-bit counting register is programmable to any number from 0 to 16,777,215.

RPM Scanning Function

The input channels can also be set up to measure the rate of a rotating shaft by using the TACHOMETER command. Once this command is issued on a particular input channel, the pulse rate of the applied signal will be continuously sampled in the background, converted to RPM, and stored in memory. Each time that the TACHOMETER command is issued, the latest results will be returned to the host without any acquisition delay. However, although the results returned to the host will always be immediate, the update rate may be much slower depending on the frequency of the input signal. The lower the RPM, the more time it takes to sample and get an accurate reading. And since the Digital Input sub unit can only sample one input channel at a time, a low RPM signal applied to one channel will slow down the update rate of any other channels of this sub unit which are configured to read RPM.


Digital Output Features

Output Current

The output channels of the Digital Output sub unit uses an open-collector configuration which can sink up to 1.0 amps per channel allowing them to directly drive relays, solenoids, DC motors, magnetic latches, flow valves, etc. To attach the outputs to a device such as a relay or solenoid, connect one side of the coil to the positive side of an appropriate power source, the other side of the coil to one of the output channels of the WTX4 sub unit, and the COM terminal of the WTX4 sub unit to the negative side (or ground) of the power source. Then use the LOW command to pull the output channel to ground which will complete the circuit and current will flow through the coil activating the relay or solenoid. The HIGH command can be used to release the output channel from ground and deactivate the relay or solenoid.

Output Timer Function

Each of the output channels of the Digital Output sub unit incorporates its own independent count-down timer which can be used to control the length of time that a HIGH or LOW function holds the output at a specific state before returning it to the previous state. This timer can be re-loaded on the fly before it times out which provides a valuable feature. Suppose the output channel is being used to turn on a piece of machinery but ideally you would want that machine to turn back off automatically if the host PC shuts down or for any other reasons the communications has failed. By activating the channel using the HIGH or LOW command including a time value and then re-transmitting that command repeatedly at a rate faster than the timer can expire, will keep the machine active only as long as those commands are being received from the host.

This same procedure can be used to turn on an external alarm or warning light if there are any communications problems by having the host continuously transmitting a deactivation command instead of the activation command mentioned above. When using this method, the DEFAULT command should be used to make sure the output channel is set to the deactivation state upon power up.

PWM Output Function

Each Digital Output sub unit contains one channel which can be set up for PWM (Pulse Width Modulation) output using the PWM command. In this mode, the output is a continuous 20KHz square wave with a variable duty cycle which is controlled by the host. Duty Cycle represents the percentage of high time to low time of each 20kHz pulse and can be used to control the current flow through a load such as a DC motor or flow control valve, for instance. The duty cycle can be adjusted in 0.1% increments from 0 to 1000.

Output Overload Shutdown

Each of the output channels of the Digital Output sub unit incorporates a resettable fuse which protects it from excessive current flow. If the current being sunk by an output channel exceeds 1.0 amps for an extended period of time, the output will automatically shut down to prevent damage to the output drivers. Once this happens, the current must be removed from the output channel before it will return to normal operation.


Analog Input Features

Calibration Mode & Range

Each of the input channels of the Analog Input sub unit can be set up to use 1 of 5 different calibration modes and input voltage ranges. For each input channel there are three factory calibrated modes which will return the results listed in voltage, and two user programmable custom modes which will return the results listed in any direct linear engineering units of choice. To calibrate a custom mode, first set the zero point, then either apply a known stimulus and tell the WTX4 what number you want to see on the computer screen, or tell the WTX4 what exact voltage you want to represent one unit of measurement. The gain and offset for this particular input channel will be automatically re-calibrated to meet this criteria. For more information, see "User Programmable Modes" shown below.

Input Channel Scanning

During normal operation, the Analog Input sub unit continuously scans all 4 channels in the background regardless of whether or not they are being polled by the host. The full 20-bit A/D results of each channel is stored in its own circular buffer which will always hold the most recent 8 samples. At any time a READ command is issued, the 8 samples associated with that particular channel are average together and the results will be the data which is returned to the host. This 8 times averaging smoothes out the readings and reduces the jitter shown on the computer screen.

User Programmable Modes

The Analog Input sub unit incorporates a 32-bit floating point math routine which provides data conversions using calibration coefficients stored in non volatile memory. Each of the modes selected with the MODE command has its own set of calibration coefficients. There are two modes which can be programmed by the user to display the results of each READ command in the linear engineering units preferred. The span of the internal A/D converter is extended across the voltage range of each mode and determines the maximum resolution available. Mode 4 has a range of -8V to +10V and a resolution of 22µV. Mode 5 has a range of -0.6V to +0.6V and a resolution of 1.4µV. Each mode can be individually programmed using one of two methods, SPAN or FACTOR.

SPAN can be used if a known output reading can be generated by the sensor. Sensor manufacturers often include a shunt resistor for this purpose and when attached to the sensor's bridge, will cause it to output a voltage which represents a specific reading. Applying a known load or stimulus to a sensor also works well. After setting up the sensor so that it outputs the known reading, transmit the SPAN command with the value field containing the reading that should be displayed on the computer screen. Multiplying the value by multiples of 10 will increase the resolution. For example, if applying a 50-lbs load to a pressure transducer, transmitting a value of 5000 in the SPAN command will set up the channel to display its readings in 0.01 lbs increments. The DECIMAL command can then be used to set up the channel to automatically insert a decimal point in the correct position of each reading if desirable.

FACTOR can be used if the actual voltage that equals one unit of measurement can be determined. To calculate this voltage in mV, use the factory listed output of the bridge sensor in the following equation:

value = Out * E / FS where:

Out = Output of the sensor in mV/V.
E = Excitation voltage applied to bridge.
FS = Full scale capacity of the sensor.

For best results, the excitation voltage should be measured directly at the bridge using the same analog input channel and lead wires that will be attached to the bridge output itself. Transmit the FACTOR command with the value field containing the results of this equation. Dividing the value by multiples of 10 will increase the resolution displayed on the computer screen in the same way as multiplying the value used in the SPAN command, as discussed earlier. The FACTOR command can also be used to set the display resolution so that it equals 1-bit of the internal A/D converter. This can be accomplished by using a FACTOR value of 0.022mV for Mode 4 and 0.0014mV for Mode 5.

Input Voltage Range

Each of the input channels of the Analog Input sub unit has a common mode range of ±10V with respect to the COM terminal regardless of the MODE it is set to or the magnitude of the differential voltage it is measuring. Both positive and negative inputs must remain inside this range at all times or conversion errors will result. If connecting to a bridge sensor for instance, the excitation voltage applied to the bridge must be less than 20V in order to keep the inputs within this common mode range. An excitation of 5V to 15V is recommended for proper operation.

4-20 mA Current Transmitters

To read the data from a 4-20 mA current transmitter, place a 100-ohm resistor in the current loop and use an input channel to read the voltage across the resistor as shown in the WTX4 data sheet. The results returned to the host will be from 400mV to 2000mV representing the 4mA to 20mA current range. A user programmable mode can be used to automatically convert this voltage reading to any linear engineering units of choice and include a decimal point if desirable.


Analog Output Features

Voltage Output & Ramping

Each output channel of the Analog Output sub unit emits a control voltage which is dictated by the host that can be used to control equipment or machinery that accepts a ±10V control signal. A built-in ramp generator is included that can use a trapezoidal shaped slope profile or an S-curve shaped slope profile and allows the host to initiate a ramping function for a machine which will execute autonomously without guidance from the host. Once the output signal reaches the target voltage, the ramping will terminate automatically. This is very useful if the ramp rate is too fast for the host to keep up using individual voltage set points, or if the host needs to send commands to other sub units while the ramp is executing.

Note, these outputs do not deliver enough current to directly drive a load. If wishing to control the current driven thru a load, use the PWM output of the Digital Output sub unit instead which can deliver up to one full amp.


Thermocouple Input Features

Temperature Conversions

The temperature versus voltage relationship of the output of a typical thermocouple is not linear. Therefore, simply reading the voltage and multiplying it by a scaling factor will not convert it to temperature, or at least not with any degree of accuracy over a broad range. The WTX4 Thermocouple Input sub unit however uses a different approach. The signal from the thermocouple is amplified, converted to a digital format, and then subjected to a high order polynomial equation using 32-bit floating point math. The result is a voltage to temperature conversion with an accuracy of 0.1°C across the entire range of temperatures. Built in to the sub unit’s firmware is the polynomial coefficients published by the United States National Institute of Standards (NIST) which are needed for voltage to temperature conversions for each of the four thermocouple types that the sub unit supports. When a READ command is issued by the host, the appropriate NIST coefficients are extracted and plugged into the mathematical equation mentioned above.

Thermocouple Temperature Range

The range of temperatures which can be measured by the Thermocouple Input sub unit and its thermocouple sensors is dependant on two factors, the physical limitations of the thermocouple itself, and the mathematical boundaries inherent to the polynomial equation that is used to calculate the temperature. The former specifications can be obtained from the thermocouple manufacturer and will vary depending on the form of weld used to make the junction, and the type of insulating material used to cover the wires. As for the limits of the polynomial equation used for temperature conversions, refer to the table shown below.

Thermocouple Temperature Range
Type Celsius Fahrenheit
J -210° to +1200° -346° to +2192°
K -200° to +1372° -328° to +2502°
T -200° to +400° -328° to +752°
E -200° to +1000° -328° to +1832°

Thermocouple Grounding

Thermocouples are offered in a choice of configurations, "grounded", "ungrounded", or "exposed" junctions. If using “grounded” thermocouples, or “exposed” thermocouples which are touching ground, be sure to separate them on different sub units if the grounds they are attached to come from different sources with different voltage potentials. Using “ungrounded” thermocouples is the preferred choice because they can all share the same sub unit without causing grounding conflicts with each other.