The behaviour for V1.4.0.0:
The object only checks the position after a movement by comparing ParCfg.SwitchPIndex with ParCfg.Switch1Index/Switch2Index/Switch4Index/...
If the position check is not OK, the object shows an error and does not update OutImm.CurNestAtPos[idx] / OutImm.CurNestAtPos1. If the position check is OK, the object updates OutImm.CurNestAtPos[idx] and OutImm.CurNestAtPos1 only one time after the check during command execution (i.e. it is more like an OutCmd instead of OutImm).
Additionally OutImm.CurNestAtPos[idx] and OutImm.CurNestAtPos1 are updated when
the object has no error (that means the positioning error must already be acknowledged by the operator) AND
the rotary table is in position (value of ParCfg.InBasic sensor is TRUE) AND
the object is cancelled (that means ExecState=CANCEL, e.g. operation mode change or emergency stop)
That means for your question: The error will only occur again if you start a movement and then the position check is not OK.
If it helps you that OutImm.CurNestAtPos[idx] should be updated cyclically, please contact Nexeed.Helpdesk@bosch.com to check if an object update is possible.
... View more