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.
-
Connect to multiple Modbus TCP/IP servers.
-
Connect to multiple Modbus RTU servers using the RS485 communication protocols.
-
Read coils, discrete inputs, holding registers.
-
Write single coil, multiple coils and single registers.
-
Device Creation Simplification: Streamlined process for creating Modbus devices within the application, facilitating quick setup and configuration.
-
Efficient Register Management: Seamless integration for adding and managing registers within a device, enabling straightforward organization and access to device data.
-
Custom Device Labeling: Ability to assign personalized labels or names to individual devices, enhancing clarity and usability when working with multiple devices.
-
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
- Python: Version 3.8 or later. Download it from here.
- pip: Pip is included with Python starting from Python 3.4.
- git: Download git from here.
- 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.
- Clone this repository:
git clone https://github.com/Kneatrum/Modbus-PyQt-App.git
- Install dependencies:
pip install -r requirements.txt
python main.py
- 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.
- 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.
- 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.
- To assign a custom name, double click on the Register Name column, enter your preferred name and press enter.
- Click on the Start Polling button on the to left side of the screen.
- Click on the Stop Polling button.
Note that the figures on the Value column are for demonstration purposes.
The icons used in this project are sourced from www.flaticon.com