Skip to content

Releases: pcdshub/lcls-twincat-motion

v4.1.1

04 Jun 23:21
Compare
Choose a tag to compare

Fixed a bug in 4.1.0 which caused PMPS state enable to disable moves due to a race condition with the NC setting the target position.

v4.1.0

29 May 22:34
Compare
Choose a tag to compare

NOTE: this release is superseded by bugfix release v4.1.1

Fixing Bug ECS 4719 Pertaining to PMPS Position State Limits Being Invalidated when State Switches to Unknown.

  • Added bLockBounds boolean to FB_StatePMPSEnables to lock the position limits active of the last valid goal state.
    • Even if the axis moves out of the state without using the state mover, the position limits will remain active until a new valid goal state is selected.
    • The bLockBounds boolean is kept true after the first valid goal state until the bEnable bit for the function block set to false. At that time, the bLockBounds boolean is reset.
  • Made it so that the bPowerSelf bit gets automatically set to FALSE if the FB_StatePMPSEnables block is used.
    • This is irrespective of whether the bEnable bit for the FB_StatePMPSEnables block is true or false.
    • If a FB_StatePMPSEnables block is called in a project the assumption is that bPowerSelf must be set to false. The alternative requires users to remember to set bPowerSelf to false and in practice this gets missed a lot. So the configuration is being simplified here.
    • The user should still set bPowerSelf appropriately but the library will try to correct an incorrect setting if the user tries to use bPowerSelf set to TRUE when using the PMPS state enables block.
  • Made it so that the PMPS position limits also prevent commands to positions outside of the allowable range instead of only looking at the current position.
    • This will make it more difficult to command the axis out of the state fDelta range.
    • Added formatted string error message to make it more clear when the PMPS position state limits are preventing a move.
  • Added a new error id to the F_MotionErrorCodeLookup.
    • This is the error id for invalid I/O data for more than n continuous NC cycles (encoder).

v4.0.9

24 Apr 21:41
Compare
Choose a tag to compare

What's Changed

  • ENH: check PLC OS to set new default dir for BSD PLCs by @ZLLentz in #215

Full Changelog: v4.0.8...v4.0.9

v4.0.8

09 Apr 22:28
Compare
Choose a tag to compare

Added a new structure to enabled collecting of select NC axis parameters to be exposed via pytmc pragmas to EPICS. Select parameters are:
bCtrlEnablePosDiffControl
bEncEnableSoftEndMaxControl
bEncEnableSoftEndMinControl
fAccelerationMax
fCtrlPosDiffMax
fCtrlPosDiffMaxTime
fDecelerationMax
fEncSoftEndMax
fEncSoftEndMin
fVeloMaximum
fEncOffset
fEncScaleFactorInternal

v4.0.7

10 Feb 00:51
Compare
Choose a tag to compare

What's Changed

  • BUG: fix "invalid goal position" fast fault initialization bug by @ZLLentz in #211

Full Changelog: v4.0.6...v4.0.7

v4.0.6

06 Feb 22:10
Compare
Choose a tag to compare

What's Changed

  • BUG: reverse the in/out order in the in/out example fbs to match their enum by @ZLLentz in #209

Full Changelog: v4.0.5...v4.0.6

v4.0.5

02 Nov 18:33
Compare
Choose a tag to compare

What's Changed

  • FIX: issues relating to "queued" moves in state mover with bMoveOk by @ZLLentz in #205

Full Changelog: v4.0.4...v4.0.5

v4.0.4

20 Sep 16:44
Compare
Choose a tag to compare

What's Changed

  • FIX: some fast faults could only be reset once due to rt detection by @ZLLentz in #203

Full Changelog: v4.0.3...v4.0.4

v4.0.3

20 Sep 00:48
Compare
Choose a tag to compare

What's Changed

  • FIX: run fbInternal first to mark states as ready to use by @ZLLentz in #201

Full Changelog: v4.0.2...v4.0.3

v4.0.2

12 Sep 20:20
Compare
Choose a tag to compare

What's Changed

  • ENH: add some more error messages for motors by @ZLLentz in #200
  • FIX: addressing the state input deadlock bug by @ZLLentz in #198

Full Changelog: v4.0.1...v4.0.2