QTester104 is a free, open-source, multiplatform graphical utility designed to act as a client (master side) protocol tester for the IEC 60870-5-104 standard. Developed by Ricardo L. Olsen, it is a crucial tool for SCADA, automation, and electrical substation engineers to verify communication, poll data, and issue commands to remote terminal units (RTUs) or smart devices over TCP/IP networks.
The software can be utilized as a standalone troubleshooting tool or as part of the broader Open Substation HMI (OSHMI) project. Key Features of QTester104
Master/Client Simulation: Simulates the client side of an IEC 104 network connection to test and poll data from remote systems.
Command Issuance: Supports sending specific control directives to substation equipment, such as Single Commands (Types ⁄58) with or without Select-Before-Operate (SBO) checks.
General Interrogation (GI): Includes a one-click button to trigger a GI command, requesting a full status update of all data points from the connected RTU.
Real-time Diagnostic Log: Displays a live data traffic log stream on screen to easily debug raw message packets.
Structured Data Grid: Features a clear right-side data table showing structural parameters including: Protocol Address (Information Object Address / IOA) Last Acquired Value ASDU Type (Application Service Data Unit) Cause of Transmission (COT) Quality Flags & Transmission Count
Cross-Platform Compatibility: Written in pure C++ using the Qt UI Framework, meaning it can be compiled natively for both Windows and Linux. Step-by-Step Setup Guide
You can obtain pre-compiled Windows x64 executable files or access raw source code on the riclolsen/qtester104 GitHub repository. 1. Download and Installation
For Windows Users: Download the latest compiled package zip (e.g., qtester104-v3.0.0-x64.zip) directly via the QTester104 SourceForge Releases Page. Extract the contents into a local folder.
For Linux Users: Clone the repository and compile using Qt Creator or the command line. You must have Qt 6.10.0 or later installed on your system. 2. Configuration Settings
Before executing the file, navigate to the extracted /conf directory and open the configuration files (.ini or .conf):
Define your destination IP address corresponding to your target RTU or simulator.
Specify the network TCP port (the standard assignment for IEC 104 is port 2404). Set system parameters like timeouts (
) if your test environment demands precise protocol timings. 3. Running the Tool
Launch the qtester104.exe application (Windows) or the compiled binary executable (Linux).
Ensure your local firewall allows TCP communications over your designated testing port. Basic Operational Tutorial
Once the graphical interface opens, follow these simple steps to perform a communication check:
[Start App] ➔ [Click Connect] ➔ [Verify Connection State] ➔ [Click GI] ➔ [View Data Matrix]
Step 1: Connect to the Target. Click the Connect or initialization button. Check the main transaction log window; successful connections will show an Established status, followed by standard IEC 104 STARTDT (Start Data Transfer) handshakes.
Step 2: Poll Data. Click the [GI] button. The server should respond by transmitting current states for all mapped digital inputs, analog measurements, and pulse counters.
Step 3: Analyze Data points. Look at the structured right-hand panel table. Verify that the IOAs (Addresses) map correctly to your physical substation schema and check that the Quality Flags do not report “invalid” or “substituted” data states.
Step 4: Execute a Control Command. To test control capabilities, navigate to the Command fields. Enter the target Information Object Address (IOA), choose your Command Type, input the command value (e.g., 0 for Close/OFF or 1 for Open/ON), and hit send. Monitor the response log to verify the confirmation handshake from the device. To continue, let me know:
Are you setting this up to test a physical device (RTU) or a software simulator?
Do you need assistance with compiling the source code on a specific OS platform?
Are you looking to integrate it with the broader Open Substation HMI (OSHMI) environment?
riclolsen/qtester104: Protocol tester for IEC60870-5-104 protocol
Leave a Reply