Skip to main content

A Python driver to communicate with an Omron MX2 inverter through Modbus

Project description

pymx2

This is a python driver to communicate with an Omron MX2 inverter through Modbus (manufacturer's page). It is based on datasheet rev.2 (Jan 2013).

Requirements

What is provided

  • Commands to handle low-level functions provided by the inverter:
    • Read coil status (01h)
    • Read holding register (03h)
    • Write in coil (05h)
    • Write in holding register (06h)
    • Loopback test (08h)
    • Write in coils (0Fh)
    • Write in holding registers (10h)
    • Read/write in holding registers (17h)
  • A list of available coils and registers in the form of enums in mx2.enums:
    • Coil: list of coil addresses
    • ModbusRegisters: registers available only through Modbus
    • StandardFunctions: A group registers as described in datasheet pp. 90-120
    • FineTuningFunctions: B group registers (pp. 121-153)
    • IntelligentTerminalFunctions: C group registers (pp. 153-171)
    • MonitoringFunctions: D group registers (pp. 74-88)
    • MainProfileParameters: F group registers (p. 89)
    • MotorConstantsFunctions: H group registers (pp. 172-178)
    • OtherParameters: P group registers (pp. 179-190)
    • SecondMotorFunctions: registers from different groups assigned to 2nd motor configuration
  • Data types to handle returned values and keep tracks of associated coils and registers:
    • CoilValue: holds a reference to a coil address and a boolean value
    • RegisterValue: holds a reference to a register address and an integer value

There are so many separate coils and registers that I didn't find appropriate to create a class method for each of them. Allowed values and units for each register can be found in the relevant datasheet pages. Register sizes are handled automatically. An exception is made for fault monitors, for which as specific class method is provided. Several examples are available in the examples folder. API documentation can be found within the code or in the docs folder (see below). Don't hesitate to report bugs here.

Setup

You can download a release from pypi using pip or clone this repository and install manually.

From pypi

From command line, use:

python -m pip install pymx2

From repository

From command line, use:

git clone https://github.com/vpaeder/pymx2.git
cd pymx2
python -m setup.py install

Examples

See examples folder.

Tests

The tests folder contains unit tests for most of the aspects of this package. To run them, use:

python -m unittest

API

You can find docs in the docs folder (generated from python docstrings). Alternatively, you can rely on python docstrings

  1. either from the command line, use pydoc:
python -m pydoc mx2
  1. or from within python:
import mx2; help(mx2)

Project details


Download files

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

Source Distribution

pymx2-0.1.4.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

pymx2-0.1.4-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file pymx2-0.1.4.tar.gz.

File metadata

  • Download URL: pymx2-0.1.4.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.10

File hashes

Hashes for pymx2-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9d60b011b649809252c584612e9d63f704c9e9be7ac5ed6b07802c0e1573eba8
MD5 8d9fb672d9cea1430681e06a9675fc6c
BLAKE2b-256 98cdef09465a57588bf39b6d3a98fad427eb9f535a3966c611417230d3d30a5f

See more details on using hashes here.

Provenance

File details

Details for the file pymx2-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pymx2-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.10

File hashes

Hashes for pymx2-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 00eff83f35a32906f90327338e82c2109c87e2d6a02dfc154f71526d9d3e9e2f
MD5 066b578be7ba8ecbf6a96b7761b1a3d3
BLAKE2b-256 485fe670f385693fc1ef613c886c8ac1497099d5b844f9dab6f24f5e4f7bfddf

See more details on using hashes here.

Provenance

Supported by

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