Coder Social home page Coder Social logo

vpaeder / pymx2 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 94 KB

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

Home Page: https://pypi.org/project/pymx2

License: MIT License

Python 100.00%
inverter modbus mx2 omron vfd hitachi

pymx2's Introduction

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)

pymx2's People

Contributors

vpaeder avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

ranms25

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.