v4.1.0
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 toFB_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 thebEnable
bit for the function block set to false. At that time, thebLockBounds
boolean is reset.
- Made it so that the
bPowerSelf
bit gets automatically set toFALSE
if theFB_StatePMPSEnables
block is used.- This is irrespective of whether the
bEnable
bit for theFB_StatePMPSEnables
block is true or false. - If a
FB_StatePMPSEnables
block is called in a project the assumption is thatbPowerSelf
must be set to false. The alternative requires users to remember to setbPowerSelf
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 usebPowerSelf
set toTRUE
when using the PMPS state enables block.
- This is irrespective of whether the
- 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.
- This will make it more difficult to command the axis out of the state
- 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).