It is a regular task for those who work with automation systems, SCADA, etc., to configure the data exchanges between the devices, using communication protocols.
Often, these integrations between client and server devices are not easily obtainable. When a problem occurs, there is always a question of whether the cause is on the client or the server. In these cases, you can use third-party tools to simulate client and server systems, log communications so you can better analyze the problem.
In this article, I present some useful tools to perform tests and simulations of some communication protocols. There are many commercial tools for this purpose in the market, like ASE 2000 and Triangle Test Harness, but I will focus only on those that can be obtained free of charge and allow continued use without that typical 30-day limit of use.
Opendnp3 Simulator

This tool is part of the Opendnp3 project, a pretty complete and excellent quality open source DNP3 protocol implementation.
The simulator allows you to do both the client and server roles. Protocol or TCP variants can be configured. You can create multiple devices. Quality values and bits can be edited for the generation of events in the protocol.
The logs produced are quite detailed and easy to understand, presenting separately the levels of binding, transport, and application.
To download this simulator here:
https://github.com/riclolsen/dnp3-simulator/releases/download/v0.0.1/dnp3-simulator-setup.msi
IEC Server

This software simulates an IEC60870-5-104 protocol server.
You can add point by point to be made available by configuring information type, ASDU address, transmission cause, object address, and value. Timed simulation of values can be made or can be changed manually. The point database can be saved and reloaded later.
It is available at: https://sourceforge.net/projects/iecserver/.
QTester104

This open source tool, developed by myself as a part of the open source SCADA project OSHMI (Open Substation HMI), allows to play the role of the client of protocol IEC60870-5-104, that is, it obtains data from a server.
The capabilities of the tool are:
- Acquisition of various types of information (ASDU’s).
- Sending digital and analog commands of various types.
- Sending General Interrogation (GI) request.
- Sending time synchronization.
- Log of the protocol in a readable format that can be copied.
- Exportable table with all acquired points, values, qualifiers, type of ASDU, cause, time tag, etc.
- TLS Connections
Available here: http://qtester104.sourceforge.net/.
Or here: http://github.com/riclolsen/qtester104.
MZ Automation IEC 60870-5-101/104 Test Tool

This is a free version of a pro-tool that has some restrictions but it is very useful anyway. The 101 protocol is not available in the free version, however.
It works as a client and has a very complete implementation of the 101/104 protocols producing a detailed and easy to read overview of protocol events, raw log and object viewer.
This tool is created with their 101/104 GPL protocol implementation that is fantastic, highly recommended also.
Download here https://www.mz-automation.de/communication-protocols/iec-60870-5-104-test-tool/.
Vincy Software

This software is a companion to an interesting device that has various ports (USB, RS-232, RS485, fiber) and adapters. The software, however, can be also used without the device.
Supported protocols are Modbus TCP/RTU/ASC and IEC 60870-101/103/104, in slave and master modes. Project files can be saved and point lists can be exported as text files.
A unique feature is that it is possible to attribute pin functions individually for serial ports.
Software available here http://the-vinci.com/vinci-software/.
OPC Watch

This tool allows to connect to OPC UA servers and explore its nodes in detail. Connections can be established also with certificates and authentication.
It is possible to auto-update values, write values to nodes, save project files and export node identifiers.
Available here (no registration required) https://www.traeger.de/opc-produkte/net-opc-ua-server-and-client-sdk.html.
Modbus PLC Simulator

Modbus open source slave simulator.
Allows entering the simulated data manually, by automatic animation or through VB script. Performs message logging. Import CSV file settings.
Link to download: http://www.plcsimulator.org/downloads.
UnSlave Modbus Slave Simulator
This is a powerful slave simulator that works in console mode. It can be configured to create multiple slaves and respective available data using a JSON config file. This an HTTP API that allows to simulate values. This too is very useful to create a big number of slaves for testing Modbus masters.
Link to download: https://unserver.xyz/products/modbus-slave-simulator/
ModbusExaminer

This is an open source Modbus client that can read and write to slave devices.
The software can be downloaded from here: http://www.minaandrawos.com/tcp-modbus-examiner-tool/.
IED Explorer
This is a great open source tool to test IEC61850 devices.
It can inspect and write variables values in the tree structure of IEC61850, send commands, download files and also capture MMS and Goose packets.
Available here: https://sourceforge.net/projects/iedexplorer/.
Axon Test

This tool allows you to simulate several protocols in master and slave mode: Modbus DNP3, IEC 60870-101/103/104.
In freeware mode, you can only simulate one device at a time and you can not save the settings. Still, the tool is extremely useful.
The quality of the logs is very good. You can configure automatic value simulations, give feedback to commands in state points, generate events, etc.
To obtain it is necessary to register in the site:http://www.axongroup.com.co/downloads/.
Enilit CMS

Last but not least, Enilit CMS is a complete protocol gateway software. This is without a doubt the best and most powerful free protocol testing tool available. The only limitation of the demonstration version is that after 12h of continuous use the gateway stops to distribute data, needing to be restarted to resume distribution.
Easy to use, Enilit CMS allows you to add, without limits, master and slave ports for the available protocols. The data acquired by one protocol can be distributed by others, combined as desired.
The slave protocols are IEC60870-5-101 / 104, DNP3 Serial and SPA-Bus. The master protocols are IEC61850, IEC60870-5-101 / 103 / 104, DNP3 Serial / TCP, Modbus Serial / TCP and SPA-Bus. Data simulators are also available.
All settings can be changed online, without restarting the system.
The quality of the implementation of the protocols is excellent, with international certifications. The logs are very complete and detailed.
To obtain a download link of this software, request it here:
http://www.enilit.lt/index.php?page=downloads
Copyright © 2017-2025 Ricardo L. Olsen. All rights reserved.
SCADAvis.io HTML5 Synoptic Toolkit, SCADA-like graphics for the Web, Power BI, NodeRed and Grafana.
Company: DSC Systems – https://dscsys.com
#SCADA #PROTOCOLS #IEC61850 #IEC60870 #DNP3 #OPEN #SOURCE