PyTool Modbus

Modbus tool with Python script feature.

PyTool Modbus

Install from Google Play Store

App stats

By: Quan Lin
Users: 20
Version: 0.3 (Last updated: 2021-07-05)
Creation date: 2019-07-18
Price: 2.49
Permissions
Photos/Media/Files: read the contents of your USB storage, modify or delete the contents of your USB storage
Storage: read the contents of your USB storage, modify or delete the contents of your USB storage
Other:
  • receive data from Internet
  • view network connections
  • full network access
  • prevent device from sleeping

Other platforms

Not available on Chrome
Not available on Firefox
Not available on Edge
Want to check extension ranking and stats more quickly for other Android apps? Install Chrome-Stats extension to view Android-Stats data as you browse the Google Play Store.

App summary

PyTool Modbus is a great tool for Modbus developing, debugging and monitoring.
It features Python script capability that gives you the greatest flexibility.

Why script capability is desirable for Modbus tool?
Electrical engineers find it handy to use a hand held device like Android phone or tablet to debug or monitor Modbus communication in the field, factory or lab.
But nearly every Modbus communication system got its own data format.
Searching in a sea of hex data like "02a5b4ca....ff000803" and trying to figure out what is happening is not pleasant at all.
That is where PyTool Modbus comes to help.
With the ability to run custom Python script, PyTool Modbus can read and parse any received data, display it in the way you want, and even act accordingly when it is needed.

There are script examples for quick start. Just copy and paste one of them to try them out.

There is also a handy Modbus control interface for general use.

It supports main stream USB serial drivers, including:
FTDI driver
CDC ACM driver
CP210x driver
CH34x driver
PL2303 driver

Script General Guide
=================

* The Python version used in this app is 3.8.

* This app is not designed as script editor although script can be edited in the script field.
The best way is to use your favorite script editor and then copy and paste the script.

* Always use 4 spaces for indentation to avoid weird errors.

* Most of the packages in standard Python library are available to import.

* If while loop is needed, always use app.running_script as condition in order to stop the script properly.

* Use app.version to get the app version string.

* Use app.get_output() to get the script output field as string.

* Use app.set_output(object) to display object in the script output field as string.

* Use app.print_text(object) as a shortcut for app.set_output(app.get_output() + str(object)) to append text to the script output field.

* Use app.clear_text() as a shortcut for app.set_output("") to clear the script output field.

* Use app.fc01_read_coils(mbid, addr, num) to send function code 01 request.
mbid (int): Modbus ID
addr (int): Data Address
num (int): Number of Data
return (list of int): Requested Data List

* Use app.fc02_read_discrete_inputs(mbid, addr, num) to send function code 02 request.
mbid (int): Modbus ID
addr (int): Data Address
num (int): Number of Data
return (list of int): Requested Data List

* Use app.fc03_read_holding_registers(mbid, addr, num) to send function code 03 request.
mbid (int): Modbus ID
addr (int): Data Address
num (int): Number of Data
return (list of int): Requested Data List

* Use app.fc04_read_input_registers(mbid, addr, num) to send function code 04 request.
mbid (int): Modbus ID
addr (int): Data Address
num (int): Number of Data
return (list of int): Requested Data List

* Use app.fc05_write_single_coil(mbid, addr, val) to send function code 05 request.
mbid (int): Modbus ID
addr (int): Data Address
val (int): Data Value
return (int): Number of Data (always 1)

* Use app.fc06_write_single_register(mbid, addr, val) to send function code 06 request.
mbid (int): Modbus ID
addr (int): Data Address
val (int): Data Value
return (int): Number of Data (always 1)

* Use app.fc15_write_multiple_coils(mbid, addr, vals) to send function code 15 request.
mbid (int): Modbus ID
addr (int): Data Address
vals (list of int): Data Value List
return (int): Number of Data

* Use app.fc16_write_multiple_registers(mbid, addr, vals) to send function code 16 request.
mbid (int): Modbus ID
addr (int): Data Address
vals (list of int): Data Value List
return (int): Number of Data

* Use app.msg_out and app.msg_in to check request and response messages.

* Use app.log_file(text) to save a log file in storage.
The log file is located here [Storage Directory]/PyToolModbus/log_[UTC Timestamp].txt.
text (str): Text Content
return (str): Full File Path

Similar apps

Here are some Android apps that are similar to PyTool Modbus: