Skip to main content

IOMOD 8AI User Manual IEC 60870-5-101

Introduction

 

IOMod 8AI is a compact-sized stand-alone Modbus (RTU) or IEC60870-5-101 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-101 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, 8E1 port configuration, Link 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-101 only lets 13-bit signed measurands, therefore only cast representation of true value can be used with absolute limits being [-4095, 4095].
  6.  Fig. 1. 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. 1.). 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.

    image-1668493530189.png

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

IEC 60870-5-101 working information

Initialization

 

IOmod uses a standard IEC-60870-5-101 communication scheme. Initiation, control messages, and queries are initiated by the master (controlling station), while the IOMod device (controlled station) only answers these requests. Therefore, the first message should be sent by the master to start/restart communication (ResetOfRemoteLink). This message is answered by IOMod with an acknowledgment (ACK) to enable the master to proceed with sending other messages defined by the IEC-60870-5-101 protocol. 

Data polling

 

When initialization is complete, the master may request data from the IOmod device with general interrogation. Although according to the protocol specification IOMod will send data on value change.  The 8AI IOMod responds with type 30 (M_SP_TB_1) a single point value with a time tag. 

Input messages

 

When input status changes, IOMod device filters input glitches through filters with a user-configurable filter time. When the filter is passed device sends a “Spontaneous” message with the 30 data types (M_SP_TB_1), and “IOA” as the input pin number shifted by 8. 

Time synchronization

 

To initiate the time synchronization between devices the master must send a Clock Sync command. The command type is C_CS_NA_1 (103) and the Cause of Transmission (COT) has to be 6. The command has to be sent to the correct link address and CASDU, which is the same as the link address by default. If the sent frame is correct the IOMod will respond with a C_CS_NA_1 (103) type command with the COT (cause of transmission) of 7 and the p/n bit will be positive (0) also the command will be time-tagged with the device time. If the time synchronization feature is disabled or the command is sent to an undefined CASDU the response is the same except the p/n bit will be negative (1).

General interrogation

General Interrogation (GI) is initiated by the master sending the General Interrogation command. The command type is C_IC_NA_1 (100) and the Cause of Transmission (COT) has to be 6. The command has to be sent to the correct link address and CASDU, which is the same as the link address by default. If the sent frame is correct the IOMod will respond with a C_IC_NA_1 (103) type command with the COT (cause of transmission) of 7 and the p/n bit will be positive (0). Otherwise, it will respond with the same command just that the p/n bit will be negative (1). Then the device will begin to send all of its data. After that's done the IOMOD will also send another 100 type command with the COT (cause of transmission) of 10 (ActTerm) meaning the general interrogation is over.

 

IOAs [1,8] inputs.

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: ±51.2 mA, ±25.
and ±12.8 mA
○ Unipolar: 51.2 mA, 25.6
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. 2.

image-1668494455217.png

Fig. 2. 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. 3. See Configuration over USB chapter for instructions for analog input configuration.

image-1668494513080.png

Fig. 3. 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. 4.  See Configuration over USB chapter for instructions for analog input configuration.

image-1668494563169.png

Fig. 4. 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. 5.)

image-1668494639509.png

Fig. 5. 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. should appear:


image-1668494752347.png

Fig. 6. 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. 7.)

image-1668494805211.png

Fig. 7. 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-1668494867569.png

Fig. 8. The main menu for IOMod 8AI, IEC-60870-5-101 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 [3] 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.

IEC-60870-5-101 Main Menu


Menu name
Function Values
Default values
[1] Link Address Changing link address 1-247 1
[2] Baudrate, parity and stopbits

[1] Set 8 Data bits + 1 Stop bit

[2] Set 8 Data bits + 2 Stop bit
[3] Configure baud rate
[4] Configure Parity

[3] 100-256000
[4] None/ Odd /Even / Mark/ Space
[3] 9600
[4] Even
[3] RS485 Terminating Resistor

RS485 120 Ohm Terminating Resistor

[1] Enable
[2] Disable
Disabled
[4]

Individual channel configuration

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

[6]

Protocol settings

-

[6].[1]

Toggle 24/56 bit time

Changes time mode for info mode to 24 or 56 bits by pressing [1]

24/56

56 bit

[6].[2]

Change IOA size

[1] 1

[2] 2

[3] 3

[0] back

1-3

1

[6].[3]

Toggle measurements type

Changes measurement type to integer or float by pressing [3]

Integer/Float

Float

[6].[4]

Toggle measurement time

Enables or disables timed measurements by pressing [4]

Enabled/Disabled

Enabled

[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 screen

Input  states

-

-

[0]

Exit

Exit and disconnect

-

-

Individual channel configuration


Menu name
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
[-10240.00 mV; 10210.00mV]
[4] Live zero tolerance Enter live zero tolerance (percent) Floating values in a
range defined by
measuring sensitivity
(0.0000) %
[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. 9.) from main menu press ‘@’ symbol.

image-1668498028375.png

Fig. 9. 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. 10.) Calibrating voltage is an identical process therefore only current setting is explained.

image-1668498087785.png

Fig.10. Current calibration screen

image-1668498241522.png

Fig. 10. Manual calibration coefficients’ setting

image-1668498283760.png

Fig. 11. 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. 11.) as well as manual (Fig. 10.). 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-101 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. 12.).




image-1668498662185.png

Fig. 12. Mass storage device warning

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

image-1668498713954.png

Fig. 13. Dragging and dropping new firmware file

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