Skip to main content

IOMOD 8AI User Manual Modbus

Introduction

IOMod 8AI is a compact-sized stand-alone Modbus (RTU) or IEC-60870-5-103 analog input controller. IOMod can be used for industrial applications where digital signaling is used and robust communication is needed. IOMod is an ideal solution for applications such as data acquisition, observation, process monitoring, testing and measurement at remote places. It is controlled over Modbus or IEC 60870-5-103 protocol, and can be used with any SCADA system.

Features

● 8 analog inputs, each configurable separately
● All inputs are capable of measuring electrical voltage or current
● Inputs can be recalibrated according to the needs of a user
● RS485 communication
● LED input indications, + Data transmission (Rx and Tx) indication.
● Configurable over USB
● Drag-and-Drop firmware upgrade over USB
● A small sized case with removable front panel
● DIN rail mount
● Operating temperature: from -30 to +70°C
● Power Requirements: 12-24 VDC

Operational Information

IOMod 8AI uses Modbus (RTU) or IEC 60870-5-103 protocol over RS485 interface. A protocol used by a device can be changed by uploading corresponding firmware. Default communication settings: 9600 baud/s baud rate, 8N1 port configuration, Slave address - 1.

Common configuration information

  1. Measurement type. A user can select measurement type (electrical current or voltage) on each channel individually.
  2. Sensitivity selection. To increase a resolution of input measurement capture, a user can define in which range measurement will occur. The best resolution will be achieved within a shortest selected range. For all possible configurations refer to Technical Information and Configuration over USB described later in this document.
  3.  Measurement limits can be selected, which in turn set thresholds on underflow or overflow error statuses. Also, if a scaled integer data type is selected, these limits will be converted to values using limits stated in Casting data range for Modbus protocol.
  4. Data type selection. A device can output float or scaled integer data types for each input individually for Modbus. Modbus input register read will then show raw float value (in milliamperes or millivolts) or scaled integer types. When a float data type is selected, each input will be represented as two Modbus registers (32-bits). These values can be later
    converted to IEEE-754 standard-compatible float values.
  5. Casting data range. A device is capable of converting measurements into desired decimal values in a linear manner. For Modbus, a user can select between floating point data type – which will return a raw measurement of either voltage or current and scaled integer type – which conversion is freely definable. Note that the specification for IEC-60870-5-103 only lets 13-bit signed measurands, therefore only cast representation of true value can be used with absolute limits being [-4095, 4095].
    Fig. 3.2 shows how raw measurement (current in this case) is converted to an integer type. Conversion is done by defining measurement limits (from -25mA to 25mA) and casting data range (from 0 to 100). Measurement limits define thresholds for overflow and underflow errors respectively; casting data range defines limits (from 0 to 100) that value should be between after recalculation. Such a recalculation can be used in applications that require measurements in relative units such as percentage.
    A device can round measurements to lower conversion limit (in this case – to zero) if a measurement is near it: ±15% of measurement value (Fig. 3.2). Live zero correction is a useful option for eliminating noise. As signals always have some noise level, such an option can compensate it to get a true zero value.Fig. 3.2. Conversion graph from raw measurement to cast integer

Fig. 3.2. Conversion graph from raw measurement to cast integer

MODBUS operational information

Each input can be configured to represent 16-bit signed integer value or 32-bit float value. When the float data type is selected, the value will be shown as two registers for one input. When the 16-bit integer data type is selected, a value will be shown as one register. This means addresses of individual input and the maximum number of readable registers can differ according to user configuration.
Configure device over USB terminal. Modbus commands that can be used are shown in the table below.

Supported MODBUS functions

02 (0x02) Read Input Status
Used to read analog input overflow and underflow statuses. First 8 inputs show each input underflow statuses (according to measurement limits option) and second 8 inputs show overflow statuses.

04 (0x04) Read Input Registers
Used to read measurements of at most 8 analog inputs. IOMod 8AI has 8 analog inputs from address 0 to address 15 (0000Fh). Different analog inputs can be cast in different data types configured over a USB interface.

02 (0x02) Read Input Status
Used to read analog input overflow and underflow statuses. First 8 inputs show each input underflow statuses (according to measurement limits option) and second 8 inputs show overflow statuses. 04 (0x04) Read Input Registers
Used to read measurements of at most 8 analog inputs. IOMod 8AI has 8 analog inputs from address 0 to address 15 (0000Fh). Different analog inputs can be cast in different data types configured over a USB interface.

Modbus register table

Modbus register table

Function Register Name Description Values range
02 00000-0000F Read Input Status Returns overflow and underflow statuses of each input. First 8 shows underflow status, last 8 shows overflow 0 – OK, 1 -
error
04 00000-0000F Read Input Registers Returns Input
values
0-65535
(decimal)
of one
Register

Technical information

System
Dimensions 101 x 119 x 17.5 mm
Case ABS, black
Working environment Indoor
Working temperature -30 +70°C
Recommended operating
conditions
5 – 60°C and 20 – 80%RH;
Configuration USB
Firmware upgrade USB – mass storage device
Electrical specifications
Inputs 16-bit resolution;
Channel-Independent Programmable
Input Ranges:
● Voltage input:
○ Bipolar: ±10.24 V, ±5.12
±2.56 V
○ Unipolar: 10.24 V, 5.12
● Current input:
○ Bipolar: ±45.5 mA, ±22.75.
and ±11.38 mA
○ Unipolar: 45.5 mA, 22.75
Overvoltage protection up to ±20V;
Power
Power Supply 9V to 33V
Current consumption 40mA @ 12VDC, 20mA @ 24VDC

Mounting and installation guide

IOMod 8AI RS485 interface

IOMod 8AI has integrated 120Ω termination resistor which can be enabled or disabled over USB configuration. It is recommended to use termination at each end of the RS485 cable. See typical connection diagram in Fig. 5.1.


image-1638433200572.png

Fig. 5.1. Typical IOMod connection diagram

IOMod 8AI has 1/8 Unit load receiver which allows having up to 255 units on a single line (compared to standard 32 units). To reduce reflections keep the stubs (cable distance from main RS485 bus line) as short as possible.

IOMod 8AI inputs

A typical application of IOMod 8AI unipolar and bipolar voltage inputs is shown in Fig. 5.2. See Configuration over USB chapter for instructions for analog input configuration.

image-1638433329644.png

Fig. 5.2. Voltage input connection diagram for IOMod device

All analog inputs can be configured as current inputs to connect 0-20 mA, 4-20 mA or other current output sensors. Typical application of IOMod 8AI unipolar and bipolar current inputs is shown in

Fig. 5.3. See Configuration over USB chapter for instructions for analog input configuration.

image-1638433409075.png

Fig. 5.3. Current input connection diagram for IOMod device

Configuration over USB

Driver installation

The device requires USB drivers to work as a Virtual COM port. The first-time connection between
device and computer could result in “Device driver software was not successfully installed” error
(as in Fig. 6.1).

image-1638433464719.png

Fig. 6.1. Unsuccessful device software installation error

A user then should manually install drivers by selecting a downloaded driver folder:

  • Go to Control Panel -> Device Manager;
  • Select a failing device;
  • Press “Update driver software”; screen as in Fig. 6.2. should appear:

image-1638433541326.png

Fig. 6.2. Device driver software update message

  • Select “x86” driver for a 32-bit machine or x64 for a 64-bit machine. If not sure, select a root
    folder (folder in which x64 and x86 lay inside, as in Fig. 6.3).

image-1638433569486.png Fig. 6.3. Device driver folder content

IOMod configuration via PuTTY terminal

A configuration of IOMod device is done through CLI (Command Line Interface) on the virtual COM port. Drivers needed for Microsoft Windows to install VCOM will be provided. To open up CLI simply connect to specific V-COM port with terminal software (advised to use PuTTY terminal software. If other software is being used, a user might need to send <return> symbol after each command). When connected user should immediately see the main screen. 

image-1638433657054.png Fig. 6.4. The main menu for IOMod 8AI, Modbus firmware version

Navigation is performed by sending digits or other symbols to a terminal. A user then proceeds by following on-screen instructions. For example, to set baud rate, press [2] to enter Communication settings screen; press [1] to edit; enter new configuration; press [RETURN] to save, or [ESC] to cancel changes. When done, press [0] (exit) before disconnecting device. Default values are set by pressing [7] on the main screen, and confirming changes [1].

If the terminal window is closed accidentally, a user can connect the terminal program again, and press any key on a keyboard to show the main menu again.

Modbus Main menu


Menu Name

Function

Values

Default Values

1.

Slave Address

Modbus Slave address / ID

1-247

1

2.

Communication settings

[1] Baud rate,
[2] Data, Stop and
Parity Bits,
[3] RS485
Terminating resistor
[1] 100 - 256000,
[2] 8 Data bits + 1/2
Stop bits,
Even/None/Odd
Parity
[3] Enabled/Disabled
[1] 9600,
[2] 8N1,
[3] Enabled
3.

Individual channel configuration

Channel configuration screen (see Table “Individual Channel
Configuration”)

7.

Set Default Settings

Sets Default Settings

(1 to confirm, 0 to cancel)

-

8.

Firmware Upgrade

Mass Storage Device Firmware Upgrade

(1 to confirm, 0 to cancel)

-

9.

Diagnostics

Input / Output states

-

-

0.

Exit

Exit and disconnect

-

-

Individual channel configuration


MenuName Function Values Default
Values
[1] Measure Current/Voltage Selecting this option
toggles measurement
selection
- -
[2] Change sensitivity Selecting a
measurement range
[1] [-10.24 V, 10.24
V],
[2] [-5.12 V, 5.12 V],
[3] [-2.56 V, 2.56 V],
[4] [0 V, 10.24 V],
[5] [0 V, 5.12 V]

[1]

[-10.24 V, 10.24 V]

[3] Measurement limits Entering floating point
values to use them for
marking
overflow/underflow
statuses
Floating values in a
range defined by
measuring sensitivity
-5 mV; 5mV
[4] Cast to a scaled integer/float Selecting this option
toggles value casting
selection
   
[5] Casting data range Check Common configuration information




[6]
Live zero tolerance
0 Back Back to last menu
screen
   

Measurements’ calibration

Every device is shipped containing factory-predefined calibration coefficients. However, changing temperature and humidity conditions can affect the accuracy of measurements. To get the best accuracy, use the device at room temperature and if that is not possible, calibrate coefficients accordingly.
To enter the calibration screen (Fig. 6.6) from main menu press ‘@’ symbol.

image-1638434412722.png

Fig. 6.6. Analog inputs’ calibration screen

In the calibration screen, either current or voltage coefficients can be selected. Selecting current by pressing [1] should enter additional screen (Fig. 6.7). Calibrating voltage is an identical process therefore only current setting is explained.

image-1638434628095.png

Fig. 6.7. Current calibration screenimage-1638434684411.png

Fig. 6.8. Manual calibration coefficients’ setting

image-1638434687599.png

Fig.6.9. Automatic calibration coefficients’ setting

All configuration coefficients can either be configured all at once or individually. The coefficient setting for all channels is done manually only. Tweaking individual channels, however, can be automatic (Fig. 6.9) as well as manual (Fig. 6.8). Selecting automatic calibration polls values that user inputs and tweaks coefficients to minimize the additive error. It is therefore advised to scan several values differing by the same value interval to get the best results. Pressing ESC finishes calibration and saves coefficients to non volatile memory.

Protocol simulation over USB

After entering the diagnostics screen, protocol simulator can be turned on by pressing [9]. When it is on, the device will communicate over USB port rather than a RS-485 line. Communication on a RS-485 line is closed and all Modbus or IEC-60870-5-103 commands will only be accepted from USB. To exit this mode device must be restarted.

Firmware upgrade over USB

To update device firmware user must enter main configuration menu.
Enter Firmware update screen by pressing [8];
Confirm update by pressing [1];
Device now enters Firmware Upgrade mode. Device reconnects as mass storage device (Fig 6.10.).

image-1623933576298.pngFig. 6.10. Mass storage device warning

User then must delete existing file “firmware.bin”, and simply upload new firmware file by drag and drop. (Fig 6.11.)

image-1623933602252.pngFig. 6.11. Dragging and dropping new firmware file

Reconnect device and check firmware version. It should now represent the one it was updated to.

Testing With “THE VINCI” software

To test IOMod with default settings, a device should be connected through RS485 to Modbus master. Example using “The Vinci Expert” device as serial interface converter and adapter to PC with “The Vinci” software. Default settings for Modbus – 9600 baud/s baud rate; 8 data, no parity, 1 stop bit. When opening “The Vinci” software, choose Modbus serial – Master mode. In the Settings tab, choose station number (default – 1); configure tags (as described in section Modbus operational information); Press Start and go to “Statistic” tab as shown in Fig. 7.1.

image-1638434912446.png

Fig. 7.1. Testing IOMod Modbus communication using “THE VINCI” software

image-1638434927947.pngFig. 7.2. Testing IEC-60870-5-103 communication using “THE VINCI” software