All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed in/output size mixup in ComEthernetip
- Use pipeline template
- Fixed issue due to breaking changes by pymodbus 3.7.4
- Increased timeout for enabling powerstage to 10.0 seconds (needed in case of commutation angle search)
- ComModbus: Remove io_thread.join() since apparently not needed and may cause problems.
- Update pymodbus version to 3.7.0
- GUI: Realigned buttons and optimized button logic.
- GUI: Tab change resets tab contents.
- Removed Festo logo.
- Telegram111Handler: Fixed bug where bit is not correctly reconfigured after previous motion task (i.e. pos_stw1:mdi_active)
- Added example for loading parameter set
- Fixed bug causing crash when updating outputs
- GUI: Basic PROFIdrive state diagram
- GUI: Show hex/bin values of bitwise words
- Several bugfixes
- GUI: Added motion tab
- GUI: Updated stylesheet
- Made pyqt5 an optional dependency, move GUI to own entry point
festo-edcon-gui
.
- Fix reset() method of telegram
- Apply black formatting
- Update gitlab-ci (added black format check)
- TelegramHandler does update_io() after construction
- Telegram*Handler: Rename
validation
parameter toconfig_mode
- CLI: Replaced
verbose
option withquiet
- Validation mode not used by MotionHandler.
- Fix occasional exception when closing IOThread which is not active anymore.
- Added inputs()/outputs() method to retrieve input/output words from Telegram.
- Fixed pos_stw1.activate_setup bit not being resetted on position task preparation.
- Fixed Festo logo.
- Added first version of GUI.
- Added .pylintrc containing pylint config.
- Parameter: Added new class Parameter as representation of a EDrive parameter.
- ParameterHandler: Added write and read methods for Parameter objects.
- Ported setup.py to pyproject.toml.
- Added connected() method to ComBase.
- Updated pnu_map.csv and icp_map.csv.
- Enforce ethernetip package version 1.1.1.
- Added conditional toggle for activate_traversing_task bit when continuous_update is not active.
- Fixed bug where setup of ComModbus would crash for CMMT-xx-EP devices.
- Added job to create gitlab release entry.
- Changes to enable backport to python3.9.
- Added error handling to parameter-set-load for missing parameter mappings.
- Upgraded package dependencies to pymodbus3.
- Run branch pipeline only if no MR pipeline exists.
- Upgraded pnu_map.csv.
- ComEthernetip: increased waiting time for send_io to ensure that data is sent reliably.
- Using dedicated logger instead of generic root logger for edcon logs.
- Enabled possibility to create multiple ComEthernetip instances.
- Fixed shutdown behavior of ComEthernetip.
- Fixed log output of error string when timeout occurs (e.g. acknowlege_faults).
- Improved shutdown behavior of TelegramHandler.
- Fixed exception on exit when using python-3.11.
- Increased timeout for enabling the powerstage from 1 to 5 seconds.
- Fixed return value of TelegramHandler: disable_powerstage().
- Updated logging info output strings.
- Fixed issue causing an error when reading 8-bit wide PNUs.
- Added CLI tool to load complete parameter set files.
- MotionHandler: Changed semantics of current_velocity.
- Fixed typo in help message causing CLI to crash.
- Changed default IP adress from
192.168.0.51
to192.168.0.1
- Added LUT for ICP names to skip manual search for fault names and remedies in manual.
- Overhauled complete project structure to recommended pattern.
- Separated EDriveMotion into subclasses also used for other telegam modes.
- Updated examples/multi_position_nonblock.py.
- Changed CLI tools to use a central entry point with subcommands.
- Fixed not updating telegram bits during condition monitoring.
- EDriveMotion: Added function to disable powerstage.
- Added LUT for PNU types to skip manual search for data types in manual.
- Added example for PNU access.
- Added missing data types to
festo-edcon-pnu
tool.
- Restructured README.md and sphinx docs.
- Removed modbus flavour feature due to simplification reasons.
- EDriveMotion: Added wait_for_traversing_task_ack method.
- Moved to python version 3.10
- EDriveModbus/EDriveEthernetip: added nonblocking/blocking behavior to I/O methods.
- EDriveMotion: enhanced wait_for_condition and adapted motion tasks to new behavior.
- EDriveMotion: referencing task now uses homing method as per default.
- Updated unit tests.
- Updated examples.
- Raise error when no EIP connection is possible.
- EDriveMotion: Added methods to check if fix stop and/or clamping torque has been reached.
- Fixed setup.py.
- Fixed LICENSE.
- Updated URLs to new project location.
- Fixed issue where position tool would continue operation after error instead of exiting.
- Added LICENSE file.
- Added a EDriveLogging class to enable easy logging.
- Moved correct telegram assertion from constructor to separate method.
- Added a few status checking functions.
- Added example for multiple axes.
- Added examples to docu page.
- Fixed return type of pnu_write/read_raw methods.
- EDriveMotion: Added methods for pausing and resuming motion tasks.
- EDriveMotion: Added methods for waiting on specific conditions.
- EDriveMotion: Added
timeout
parameter toacknowledge_faults
.
- EDriveMotion: Removed
request_plc_control()
which is now done implicit. - Replaced standard logging format handler with
Rich
logging handler.
- EDriveMotion: Fixed incorrect scaling of velocity.
- EDriveMotion: Checking correct bit after enabling of powerstage.
- Added CHANGELOG to sphinx page.
- Fixed bug that caused a crash if
homing
option of position tool was used. Option is now calledreference
.
- Added modbus flavour feature e.g. to specify device specific options.
- Added public API methods to EDriveMotion for configuring various options (SINAPOS functionality).
- Added non-blocking semantics to motion tasks in EDriveMotion.
- Renamed EDrivePositioning to EDriveMotion.
- EDriveModbus performs I/O data transfer in a separate thread (EDriveEthernetip did this already).
- Added proper README, docu and examples.
- Fixed bug leading to infinite loop when an fault appears during motion task.
- Added sphinx docs.
- Added
with
statement support to EDrivePositioning. - Added method to
EDriveModbus
to configure the modbus timeout. - Added method to update I/O data.
- Added methods for reading current position and velocity.
- Added ready_for_motion method to check if motion tasks are allowed.
- Added graceful closing of ethernetip/modbus session when driver is destructed.
- Renamed
CMMT
occurences toEDrive
- Corrected exception upon failing telegram assertion.
- Fixed exception caused by reading non-existing DeviceInformationRequest for older EDrive devices.
- Fixed bug causing some drives to not start traversing task because of missing delay.
- Fixed exception caused when PNU was accessed via Modbus on legacy devices.
- Fixed bug that sometimes caused infinite waiting for (homing, position, record) tasks to be finished.
- Fixed bug causing a failing powerstage enable in case it has already been enabled once.
- Added CLI options for edcon-position tool.
- Fixed gitlab-ci job dependencies.
- Changed deploy job to release job CI/CD. Also creates release.
- Added deploy job to CI/CD
- Initial release