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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ingeniamotion-0.8.4.tar.gz
.
File metadata
- Download URL: ingeniamotion-0.8.4.tar.gz
- Upload date:
- Size: 111.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e08f06e14ed27590e718ce79ee473fbc7cd04903fbe21df3115082e04e6001ce |
|
MD5 | 90ba0fb05ce20a2ca3321cc352ec23ce |
|
BLAKE2b-256 | 5ff4de1fd8da300f21b08e2b25c3a2bd6b77d38614282583b5c4187140dbf620 |
File details
Details for the file ingeniamotion-0.8.4-py3-none-any.whl
.
File metadata
- Download URL: ingeniamotion-0.8.4-py3-none-any.whl
- Upload date:
- Size: 140.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d31beb93285dee2354c7de32b6b903d16ad99afd51071d8fe28c26f26ae34aec |
|
MD5 | bf038434fa1822d00c8edcfeb8bc310e |
|
BLAKE2b-256 | 105aca96b32950b2cf4d195a4c717f2f9791f51a9583a6c3af86b66318a0149c |