Skip to main content

IOMOD 16DI User Manual IEC 60870-5-101

Introduction

IOMOD 16DI is small sized stand-alone Modbus (RTU) or IEC 60870-5-101 digital input controller. IOMOD is 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, control, 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

 
  • 16 digital inputs;
  • Configurable active input signal polarity or input inversion;
  • Galvanically isolated inputs;
  • Configuration over USB console;
  • Drag and Drop firmware upgrade over USB mass storage;
  • Modbus, IEC-60870-5-101 communication over RS485;
  • Values with data and time information;
  • Time synchronization over IEC-60870-5-101;
  • Software selectable termination resistor on RS485;
  • LED indication for input and data transmission;
  • Easy integration with WCC Lite gateway and CloudIndustries.eu platform

Operational information

IOMOD 16DI uses Modbus (RTU) or IEC 60870-5-101 protocol over RS485 interface. Protocol used by device can be changed by uploading a corresponding firmware. Default communication settings are: 9600 baud rate, 8E1, Link address - 1.

Status LED

Status LED can be in 2 colors :

Blue - Device connected to USB.

Green - Normal operation.

Rx/Tx LED

The RX/TX LED on the IOMod flashes when data is either being transmitted or received via the RS485 port.

IEC 60870-5-101 description

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 request status of link (function code = 9). This message is answered by IOmod with the status of link (function code = 11) if link is available. Otherwise there is going to be no response. After receiving the status of link the master will send Reset of remote link command (function code = 0) to restart the communication. The IOMod can respond with either acknowledgment (function code = 0, ACK) or Negative Acknowledgment (function code = 1, NACK). If IOMod respond is ACK then the initialization procedure is finished. The described procedure enables 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 16DI 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 16. 

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,16] - inputs

Device configuration

Input inversion and polarity selection:

Input polarity selection (active signal selection) is done by connecting appropriate supply to COM pin. Further explained in section 5: Mounting and installation guide.

Input inversion does logical inversion of signals.

Input grouping:

Sometimes two inputs must be captured as one DPI input. Inputs can be grouped into pairs of two. Only two neighbor pins can be grouped into pair, while first pin in pair must be an odd number pin. When grouped, second pin in the pair is not used anymore – all request to this pin generate an error. For example – IN1 and IN2 can be grouped, after that IN2 is not used; IN2 and IN3 cannot be grouped; IN3 and IN4 can be grouped, but IN4 is not used, etc.

 

Fig. 1. shows inputs ungrouped and controlled independently. In this mode, General Interrogation will be composed of 16 input states. Notice +VIO and –VIO connection: when COM is connected to negative power supply voltage, inputs are controlled by positive voltage.

image-1668411587059.png

Fig. 1.

In addition to this, Fig. 2. shows 1st + 2nd and 11th + 12th inputs are grouped into pair. Now, General Interrogation will be composed of 14 input states (with IN2 and IN12 missing). Input numbers is represented by “Info number” in protocol. Here, COM is connected to positive voltage of power supply and inputs are controlled by negative voltage.

image-1668411609185.png

Fig. 2.

Input filter:

Input filter is a simple input glitch filter with a time input. This filter time corresponds to time that input must achieve without changing state before sending status change.

Addressing configuration:

Devices Input address is configurable. This addresses in IEC 60870-5-101 protocol is considered as “Function Type”. Input address is 160 by default.

 

Device is addressed in the line as “Link address”, which is 1 by default.

Technical information

System

Dimensions

101 x 119 x 17.5, mm

Case

IP20, blend PC/ABS self-extinguishing, black

Working environment

Indoors

Operating temperature

-40 ¸ +85°C

Humidity

5-95% RH (non-condensing)

Configuration

USB – serial console

Firmware upgrade

USB – mass storage device

Electrical specifications

Inputs

16 X 3kV isolated 12-24VDC;
Selectable inversion.

Power 

Power Supply

9V to 33V

Current consumption

130 mA

Mounting and installation guide

IOMOD 16DI RS485 interface


IOMOD 16DI has an 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 on Fig. 3.

image-1668411662441.png

Fig. 3.

IOMOD 16DI has 1/8 Unit load receiver which allows to have up to 256 units on line (compared to standard 32 units). To reduce reflections, keep the stubs (cable distance from main RS485 bus line) as short as possible when connecting device.


IOMOD 16DI inputs


 

Typical application of IOMOD 16DI inputs is shown on Fig. 4. When default configuration for inputs is applied, user will see inputs connected to +12-24V as “high” or state “1” and input status LED will glow.

image-1668411688668.png

Fig. 4.

User also can configure to enable pull-up resistors (function is applied for all inputs) and software input inversion. With this configuration, user will see inputs connected to 0V  as “high” or state “1”, input status LED will NOT glow


Configuration over USB


Driver installation

 

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

image-1668411709047.png

User then manually installs drivers by selecting downloaded driver folder:
Go to Control Panel -> Device Manager;
Select failed device;
Press “Update driver software”; following screen should appear:

image-1668411726717.png

Select “x86” driver for 32bit machine, or x64 for 64bit machine. If not sure, select root folder (folder in which x64 and x86 lays inside).

image-1668411745956.png

IOMOD configuration with PuTTY terminal

 

Configuration of IOMOD device is done through CLI (Command Line Interface) on virtual COM port. Drivers needed for MS 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, user might need to send <return> symbol after each command). When connected user should immediately see main screen as in Fig. 5.

image-1668413364818.png

Fig.5

Navigation is performed by sending number to terminal. User then proceeds by following further on-screen instructions. For example, to set baud rate, press [3] to enter Baudrate 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 is set by pressing [7] on main screen, and confirming changes [1].

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

 

Main menu contains various possibilities of device configuration. A user can configure Link Address (Fig. 6.), set communication settings (Fig. 7.), change which input values are inverted (Fig. 8.). Fig. 9. shows diagnostics screen.

image-1668414210521.png

Fig. 6.

image-1668414303426.png

Fig. 7.


image-1668414653531.png

Fig. 8.

image-1668414774824.png

Fig. 9.

Main Menu


Menu name

Function

Values

Default values

1.

Link Address

Setts Link address

1-255

1

2.

Baudrate, Parity and stop bits

Enters configuring screen for communication settings

8+1 or 8+2 (Data + Stop),

None, Odd, Even, Mark, Space (Parity)

9600,

8+1, Parity - Even

3.

RS485 Terminating Resistor

RS485 120 Ohms Terminating Resistor

0 - 1 (off/on)

0

4.

Input state inversion

Input inversion (Inverts input states in protocol logic)

0 - 1 (off/on)

0 (not inverted)

5.

Input configure

Enters screen for configuring (see 5.1 – 5.2 rows below)

-

-

5.1

Input grouping;

Groups or ungroups inputs

16 inputs ungrouped / 8 pairs grouped

All inputs ungrouped by default

5.2

Input filter time;

Input glitch filter – minimum stable time to detect input

1 – 60000 milliseconds

100

6. 

Protocol settings

Enters screen for protocol settings (see rows 6.1 - 6.2)

-

-

6.1

Toggle 24/56 bit time

Time mode for info objects

24/56

56

6.2

Change IOA size

IOA size

1-3

1

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 states

-

-

0.

Exit

Exit and disconnect

-

-

Protocol simulator

When entered diagnostics screen, user can turn on protocol simulator by pressing [9]. When protocol simulator is turned on, device will communicate through USB port rather than RS-485 line. Communication on RS-485 line is closed and all IEC-101 commands will be accepted only from USB. To exit this mode user must restart device.

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.

image-1668415408925.png

Device reconnects as mass storage device:

image-1668411877014.png

User then must delete existing file “firmware.bin”, and simply drag and drop new firmware file.

image-1668411895536.png

Reconnect device, set default settings and check firmware version in Diagnostics screen.