Skip to main content

Motion library for Novanta servo drives

Project description

Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia’s drives.

How it works?

All ingeniamotion functionalities works through the MotionController class. So, first of all we should instantiate a MotionController object.

from ingeniamotion import MotionController
mc = MotionController()

Now, mc is our MotionController instance.

Then, we should connect some servos.

# In case we want to connect only one servo
mc.communication.connect_servo_eoe("192.168.2.22", "eve-net_1.7.0.xdf")

# In case we want to connect more servos
mc.communication.connect_servo_eoe("192.168.2.22", "eve-net_1.7.0.xdf",
                                   alias="servo_one")
mc.communication.connect_servo_eoe("192.168.2.23", "eve-net_1.7.0.xdf",
                                   alias="servo_two")
# The "alias" field will allow to reference these servos in the future.
# The "alias" can be whatever we want to use as identifier.

Now, the servos are ready and we can work with them.

We then can apply some configurations:

# If we have only one servo
mc.configuration.release_brake()
# By default it uses the axis 1

Or we can execute some tests or calibrations:

mc.tests.digital_halls_test(servo="servo_one", axis=1)

mc.tests.commutation(servo="servo_two", axis=1)

MotionController namespaces

MotionController functionalities are group in the following namespaces.

Communication

This namespace has all the basic communication functions with the servo: connect, read or write a register, load firmware, etc.

Configuration

Here we will find functions to configure the servo: load or save configuration, configure limits, feedbacks, brake settings, etc.

Motion

In this namespace we will find all the functions that will help us to move the servos.

Capture

This namespace will help us to work with monitoring and similar features.

Info

Functions to get register information from dictionary.

Errors

Namespace to manage drive errors and get errors data.

Tests

The functions of this namespace will help us to lunch some tests for the commissioning process.

Common exceptions

KeyError: "Servo 'default' is not connected"

This KeyError exception is raised whenever we use a function that interacts with the drive but no drive is connected.

TypeError: 'NoneType' object is not subscriptable

This TypeError exception is raised when we provide a function with the wrong servo axis number.

ingenialink.exceptions.ILError

This ingenialink.exceptions.ILError exception is raised when the drive gets abruptly disconnected.

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

ingeniamotion-0.9.2.tar.gz (136.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ingeniamotion-0.9.2-py3-none-any.whl (180.0 kB view details)

Uploaded Python 3

File details

Details for the file ingeniamotion-0.9.2.tar.gz.

File metadata

  • Download URL: ingeniamotion-0.9.2.tar.gz
  • Upload date:
  • Size: 136.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.18

File hashes

Hashes for ingeniamotion-0.9.2.tar.gz
Algorithm Hash digest
SHA256 ae6783a60e89a491ea3b43044d8659c3c25895e1e4de9f3b1d9162c526f8d2cc
MD5 4cbaeb6708ab351386b83a542b1d9b05
BLAKE2b-256 7c29885fe96124d7d84f8c4f7b32a328b634e9da74c2052d9fa06104f36b4706

See more details on using hashes here.

File details

Details for the file ingeniamotion-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: ingeniamotion-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 180.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.18

File hashes

Hashes for ingeniamotion-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e9e5f77f7e2452f478520a2d80d86a030b19f53871beb7f692b83da2668a6092
MD5 fe21b95149c9b90bb66f603cb63e3660
BLAKE2b-256 e551981dd17655d42e8e157726a17b5a17585a7c31e64240743accb8aac26ba0

See more details on using hashes here.

Supported by

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