Skip to main content

Easy-to-use Modbus RTU and Modbus ASCII implementation for Python

Project description

Build Status Documentation Status PyPI page link Test coverage report

Easy-to-use Modbus RTU and Modbus ASCII implementation for Python.

Web resources

Other web pages:

Obsolete web pages:

Features

MinimalModbus is an easy-to-use Python module for talking to instruments (slaves) from a computer (master) using the Modbus protocol, and is intended to be running on the master. Example code includes drivers for Eurotherm and Omega process controllers. The only dependence is the pySerial module (also pure Python).

This software supports the ‘Modbus RTU’ and ‘Modbus ASCII’ serial communication versions of the protocol, and is intended for use on Linux, OS X and Windows platforms. It is open source, and has the Apache License, Version 2.0.

Tested with Python 2.7, 3.2, 3.3 and 3.4.

History

Release 0.7 (2015-07-30)

  • Faster CRC calculation by using a lookup table (thanks to Peter)

  • Handling of local echo (thanks to Luca Di Gregorio)

  • Improved behavior of dummy_serial (number of bytes to read)

  • Improved debug messages (thanks to Dino)

  • Using project setup by the cookie-cutter tool.

  • Reshuffled source files and documentation.

  • Moved source to Github from Sourceforge.

  • Moved documentation to readthedocs.org

  • Using the tox tool for testing on multiple Python versions.

  • Using Travis CI test framework

  • Using codecov.io code coverage measurement framework

  • Added support for Python 3.3 and 3.4.

  • Dropped support for Python 2.6.

Release 0.6 (2014-06-22)

  • Support for Modbus ASCII mode.

Release 0.5 (2014-03-23)

  • Precalculating number of bytes to read, in order to increase the speed.

  • Better handling of several instruments on the same serial port, especially for Windows.

  • Improved timing for better compliance with Modbus timing requirements.

Release 0.4 (2012-09-08)

  • Read and write multiple registers.

  • Read and write floating point values.

  • Read and write long integers.

  • Read and write strings.

  • Support for negative numbers.

  • Use of the Python struct module instead of own bit-tweaking internally.

  • Improved documentation.

Release 0.3.2 (2012-01-25)

  • Fine-tuned setup.py for smoother installation.

  • Improved documentation.

Release 0.3.1 (2012-01-24)

  • Improved requirements handling in setup.py

  • Adjusted MANIFEST.in not to include doc/_templates

  • Adjusted RST text formatting in README.txt

Release 0.3 (2012-01-23)

This is a major rewrite, but the API is backward compatible.

  • Extended functionality to support more Modbus function codes.

  • Option to close the serial port after each call (useful for Windows XP etc).

  • Diagnostic string output available (for support).

  • Debug mode available.

  • Improved __repr__ for Instrument instances.

  • Improved Python3 compatibility.

  • Improved validity checking for function arguments.

  • The error messages are made more informative.

  • The new example driver omegacn7500 is included.

  • Unit tests included in the distribution.

  • A dummy serial port for unit testing is provided (including recorded communication data).

  • Updated documentation.

Release 0.2 (2011-08-19)

  • Changes in how to reference the serial port.

  • Updated documentation.

Release 0.1 (2011-06-16)

  • First public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

MinimalModbus-0.7.zip (121.1 kB view details)

Uploaded Source

MinimalModbus-0.7.tar.gz (102.9 kB view details)

Uploaded Source

File details

Details for the file MinimalModbus-0.7.zip.

File metadata

  • Download URL: MinimalModbus-0.7.zip
  • Upload date:
  • Size: 121.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for MinimalModbus-0.7.zip
Algorithm Hash digest
SHA256 f50786605f556fc6beccedec6f4f55f4d6cb85151dae243c0c198d1dbc94e94b
MD5 39730a23013627b9648bbca8508fdfcc
BLAKE2b-256 a3eb66a63044d5c7bd0dd8c6722647bb67d9d3437b4ead85ac2f47a11f108254

See more details on using hashes here.

File details

Details for the file MinimalModbus-0.7.tar.gz.

File metadata

  • Download URL: MinimalModbus-0.7.tar.gz
  • Upload date:
  • Size: 102.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for MinimalModbus-0.7.tar.gz
Algorithm Hash digest
SHA256 b7e57132441971f15feef7f47401151a68e746d64ab80726d028e16d887aba29
MD5 5eaf47366b7936736173fbca1e6cc028
BLAKE2b-256 0bb4bbaf127ee6c30828c25ef9d2590eb9846109e9a04763180dcb9a72cb4475

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page