PySOEM is a Cython wrapper for the Simple Open EtherCAT Master Library (https://github.com/OpenEtherCATsociety/SOEM).
PySOEM enables basic system testing of EtherCAT slave devices with Python.
Features
Todo
Beware that real-time applications need some special considerations.
Linux ^^^^^
Windows ^^^^^^^
Npcap <https://nmap.org/npcap/>
[*] or WinPcap <https://www.winpcap.org/>
_.. [*] Make sure you check "Install Npcap in WinPcap API-compatible Mode" during the install
macOS (new with PySOEM 1.1.5) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
python -m pip install pysoem
or
::
pip install pysoem
Consider using a virtualenv <https://virtualenv.pypa.io>
_.
Although there are some pieces missing, the documentation is hosted on "Read the Docs" at: pysoem.readthedocs.io <https://pysoem.readthedocs.io>
_.
Please also have a look at the examples on GitHub <https://github.com/bnjmnp/pysoem/tree/master/examples>
_.
Any contributions are welcome and highly appreciated.
Let's discuss any (major) API change, or large piles of new code first.
Using this pysoem chat room on gitter <https://gitter.im/pysoem/pysoem>
_ is one communication channel option.
v1.1.9 ^^^^^^^
v1.1.8 ^^^^^^^
config_func
and setup_func
.v1.1.7 ^^^^^^^
add_emergency_callback()
to allow a better handling of emergency messages.v1.1.6 ^^^^^^^
config_init()
when it's called multiple times.v1.1.5 ^^^^^^^
master.open()
provides now an optional second parameter for the redundancy port.v1.1.4 ^^^^^^^
v1.1.3 ^^^^^^^
_disable_complete_access()
that stops config_map() from using "complete access" for SDO requests.v1.1.0 ^^^^^^^
name
attribute of SDO info CdefCoeObject and CdefCoeObjectEntry, they are of type bytes now instead of a regular Python 3 string.desc
attribute of the find_adapters()
list elements to bytes
.open()
context manager function.setup_func
that will maybe later replace the config_func
.v1.0.8 ^^^^^^^
v1.0.7 ^^^^^^^
amend_mbx
and set_watchdog
.v1.0.6 ^^^^^^^
amend_mbx
and set_watchdog
, though this is rather experimentalfirmware_update.py
.v1.0.5 ^^^^^^^
manual_state_change
propertyv1.0.4 ^^^^^^^
mbx_receive
v1.0.3 ^^^^^^^
v1.0.2 ^^^^^^^
v1.0.1 ^^^^^^^
foe_write
v1.0.0 ^^^^^^^
v0.1.1 ^^^^^^^
v0.1.0 ^^^^^^^
v0.0.18 ^^^^^^^
v0.0.17 ^^^^^^^
dc_time
) for DC synchronizationv0.0.16 ^^^^^^^
v0.0.15 ^^^^^^^
v0.0.14 ^^^^^^^
v0.0.13 ^^^^^^^