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
- Measurement type. A user can select measurement type (electrical current or voltage) on each channel individually.
- 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.
- 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.
- 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. - 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].
- 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.
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.
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.
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.
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.)
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:
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.)
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.
Fig. 8. The main menu for IOMod 8AI, IEC-60870-5-101 version
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] 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 |
||
[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.
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.
Fig.10. Current calibration screen
Fig. 10. Manual calibration coefficients’ setting
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.).
It is recommended to close terminal window after entering firmware upgrade mode. |
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.)
Fig. 13. Dragging and dropping new firmware file
Reconnect device and check firmware version. It should now represent the one it was updated to.