How to Use Analog Inputs on the I/O Gateway
  • 30 Sep 2022
  • 2 Minutes to read
  • Contributors

How to Use Analog Inputs on the I/O Gateway


Article summary

How to Use Analog Inputs on the I/O Gateway

Here's how to use the 4 analog inputs with the Generic ADC driver on the I/O Gateway.

The Generic-ADC driver on the I/O Gateway is used to read the voltage value on each of the gateway's 4 analog channels.

These channels can be located on the "power side" of the gateway at the end labelled "ANALOG INPUT".

How to Use Analog Inputs on the I_O Gateway_116081351.png

Each channel can read between 0-24 volts with an effective resolution of 9 bits, which means it can read voltage changes every 0.002 Volts.

Each channel references its measurement to the the return channel ( - ) on the input. This means that all analog voltage measurements will share the same analog common.

Setting up the Generic-ADV Driver

To use these values in Tulip, you will have to make sure that the "GENERIC-ADC-VOLTAGE" driver is turned on in the Device Portal on the Driver Configuration page

Using Analog Inputs in Triggers

To use the data in your app, there are two ways can use triggers to capture this analog data.

  1. Capturing data when the voltage changes
  2. Requesting the current value of a channel

Here's an example of how to capture data when voltage changes:

  • When "device" "Analog Voltage Input" outputs at "this station"
  • If "Device Output" "channel" "=" "Static Value" "Integer" "1"
  • Then: "Data Manipulation" "Store" data: "Device Output" "voltage" location: (variable)
  • Then: "Data Manipulation" "Store" data: "Device Output" "rawValue" location: (variable)
  • Then: "Data Manipulation" "Store" data: "Device Output" "channel" location: (variable)

This method will capture the following data every time the gateway detects that the voltage has changed:

  • Voltage
  • Raw reading from ADC chip
  • Channel

It will not send repeat values. The GENERIC-ADC-VOLTAGE driver will emit data if it detects too much noise on the the single causing the voltage to fluctuate more than 0.002V.

Here's an example of how to request the current value of a channel.

  • "When" "button is pressed"
  • "Run Device Function" "Analog Voltage Input" "Get current reading" at "this station" channel: "static value" "integer" "1" "Channel 1 reading"

This method will request the current voltage on a specific channel and will return the value even if the reading hasn't changed.

This is necessary for signals from devices such as pressure sensors which, when held at a steady voltage, would not otherwise send an update to Tulip.

Device Examples

This section includes notes for individual devices that can be used with Tulip by using this driver.

Prosense 25 10-XXXXX

This device provides an output signal of 0-10V depending on the pressure applied to the sensor. A simple proportional relation links the voltage reading from Tulip to the pressure reading. This proportion is dependent on the rated measurement range of the sensor.

The device should be wired according to the instructions in the Datasheet. The wiring diagram is shown below for convenience. In this situation, pin 1 should be provided 24V relative to the ground of the analog input pins, pin 2 should be connected to the analog input pin on the Tulip I/O Gateway, and pin 3 should be connected to the analog input ground.


Was this article helpful?