Skip to content

Developing a user friendly Modbus Software Tool using the pyQt5 library.

Notifications You must be signed in to change notification settings

Kneatrum/ModConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModConnect.

Developing a user-friendly Modbus tool that helps users to interface with several Modbus slave devices at once, allowing effortless reading from and writing to their respective Modbus addresses.

General Features

  1. Connect to multiple Modbus TCP/IP servers.

  2. Connect to multiple Modbus RTU servers using the RS485 communication protocols.

  3. Read coils, discrete inputs, holding registers.

  4. Write single coil, multiple coils and single registers.

UI Features

  1. Device Creation Simplification: Streamlined process for creating Modbus devices within the application, facilitating quick setup and configuration.

  2. Efficient Register Management: Seamless integration for adding and managing registers within a device, enabling straightforward organization and access to device data.

  3. Custom Device Labeling: Ability to assign personalized labels or names to individual devices, enhancing clarity and usability when working with multiple devices.

  4. Device Configuration Persistence: Capability to save configured devices for later use, allowing users to store and recall device configurations effortlessly, thereby promoting efficiency and convenience in repetitive tasks

Windows Prerequisites.

  1. Python: Version 3.8 or later. Download it from here.
  2. pip: Pip is included with Python starting from Python 3.4.
  3. git: Download git from here.

Python module requirements.

  • PyQt5>=5.15.10
  • pymodbus>=3.6.2
  • pyserial>3.5

The above python modules will be automatically installed in step 2 of the Installation Guide below.

Installation

  1. Clone this repository:
git clone https://github.com/Kneatrum/Modbus-PyQt-App.git
  1. Install dependencies:
pip install -r requirements.txt

Usage

Run the application:

python main.py

Adding a device.

  • Click on Add New Device button
  • Select either of the methods TCP or RTU that show up on the popup window. If a device has both RTU and TCP methods, you can check both the TCP and RTU checkboxes and select your default method later.
  • Fill out the form and click on submit.

Adding modbus registers.

  • Click on the Actions dropdown menu and and select the Add Registers option.
  • Select the appropriate function code.
  • Enter the start register address on the Register Address text field.
  • Enter the quantity of the registers on the Quantity text field.
  • Click on the Submit button.

Connect to your device

  • Click on the Select Action dropdown menu and select the Connect option. The Gray Disconnected label should turn to Connected with a green background if the connection is successful.
  • Make sure that all your devices are connected if you have several.

Custom name assignment

  • To assign a custom name, double click on the Register Name column, enter your preferred name and press enter.

Start reading register data.

  • Click on the Start Polling button on the to left side of the screen.

Stop reading register data

  • Click on the Stop Polling button.

Screenshot

Note that the figures on the Value column are for demonstration purposes.

alt text

Icon Attribution

The icons used in this project are sourced from www.flaticon.com

About

Developing a user friendly Modbus Software Tool using the pyQt5 library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages