Skip to main content

Kollmorgen Support Network

To better serve our Kollmorgen users with questions too complex to be addressed in this space, we made the painful decision to close this Community forum.

Please submit your question using the contact us form to reach our application engineering team.

For the immediate future, you can still access and read past posts.

Thank you for understanding and for participating in the community over the years.

Axis Limit Paramters Functionality with PLCOpen | 31 May 2017 | |

Axis Limit Paramters Functionality with PLCOpen

It looks like the default value for In Position Tolerance is 0 [ PLCOpen program --> Right Click on PLCOpen Axis 1 --> Axis Limits ] and it my understanding that this almost acts like a deadband between actual position and commanded position. 

If this is value is set to zero I believe the program essentially ignores the delta between actual and commanded, correct ?

if this value is set to a non-zero value then I would expect that if the delta between actual and commanded position exceeds this value then the controller will generate some type of fault or error. What type of error/fault will this generate and will it halt motion or just let you know that the positions do not match up ?    

Comments & Answers

C Wontrop said ...

C Wontrop |


You are correct, if the In-Position Tolerance value is set to zero the program ignores the delta between actual and commanded position.

If this value is set to a non-zero value, and the delta between actual and commanded position exceeds this value then the controller will turn off drive read parameter 1011.  Example::


Example: In the position window - Parameter 1011 turns on:


For more detail:

RFisher | Wed, 05/31/2017 - 23:58

In KAS help, it states that drive axis parameter 1011 is Read ONLY. I can't find any corresponding AKD parameter in Workbench--so is it actually an AKD parameter, or a PLCopen parameter? And how does it "write" to a read only parameter?
Also, it states 1011 is "True if the axis has no active or next move queued, the command delta is 0, and the actual position is within the in-position bandwidth of the command position. False otherwise, Boolean." So it is not going to be functional during a move, or during electronic gearing? Is it only going to be TRUE if the axis is in Standstill State or Stopping State?

C Wontrop said ...

C Wontrop |

Parameters (1011, 1013, …..) in the IDE Help file page shown below (only part of the page is actually shown) are PLCopen Motion Engine parameters. These are either Read or Read/Write.



Here is link to the whole page:

To read or write these parameters, the following function blocks in the PLCopen set of function blocks are used:



Use MC_ReadBoolPar and MC_WriteBoolPar for Boolean parameters and MC_ReadParam and MC_WriteParam for non-Boolean parameters.

Some of the parameters will have corresponding drive parameters . In the table these are typically denoted in the Update Rate Type column as “Ethercat Cyclic” since they are sent through the Ethercat network between the drive and controller. Note: units on the drive side can be different. Units on the control side are set by in the PLCopen Axis Data setup screen:


  1. Concerning parameter 1011, it is primarily used to detect being in position at the end of a move and will be off during the move. it is not typically useful during Gearing Since it remains off until gearing is aborted. IF you want to track following error during a move ( relative, absolute, gearing. etc), and set a flag when a preset limit is exceeded, Motion Axis Parameter 1006 can be used. The PLCopen Starter templates have code for this as follows:


The user defined variable Axis1PosErrorLimitExceeded will be turned on when a preset following error limit is exceeded.

C Wontrop said ...

C Wontrop |

For use in a .kas program, PLCopen Axis parameter 1011 is a read only parameter calculated by the KAS PLCopen Motion engine. It reports high (TRUE) when the PLCopen Motion Engine's  position error  is greater thanAxis parameter 1012 (Axis In-Position bandwidth) or In Position Tolerance  entered here:

Position Units are set here:


Parameter 1011 is not functional during a move, or during electronic gearing. Is it only functional when the commanded  motion profile is complete and the position tolerance value is exceeded.  Parameter 1006 can be used to track following error when the motion profile is being executed, including during PLCopen Motion electronic gearing.



Also in a PxMM application, on the AKD drive side, there are 2 parameters:

  • PL.ERRFTHRESH - This parameter sets the maximum position error on the drive side. If the position error PL.ERR is larger than PL.ERRFTHRESH the drive generates a fault (F439). If PL.ERRFTHRESH is set to 0, the maximum position error is ignored.
  • PL.ERRWTHRESH -  this value is not equal 0 and the position error PL.ERR is larger than this value, the drive will generate a warning (n439). If PL.ERRWTHRESH is set to 0 the warningis not issued.

    The PLCopen Motion Engine is independent of these drive side parameter values.

    Note: PL.ERRFTHRESH and PL.ERRWTHRESH have AKD drive side units set by the AKD drive side parameters: UNIT.PIN and UNIT.POUT



About this Question