Skip to content

v4.1.0

Compare
Choose a tag to compare
@NSLentz NSLentz released this 29 May 22:34
· 3 commits to master since this release

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).