.. _BeckhoffSimpleMotor: BeckhoffSimpleMotor ^^^^^^^^^^^^^^^^^^^ The position will always update once a new target is reached. The "homing" procedure The motor will move up to top limit going ``vMax`` then it will search for a reference mark or the bottom limit. The search uses a reduced speed (``vMax/4``). The direction of the homing procedure may be changed by ``AHomeUp``. Also the movement to limit switch as a first step may be disabled by ``AHomeNoLimitFirst``. The homing may not start while already in limit. The homing finishes on reference mark or limit switch whatever is found first. The homing will fail on unexpected limit (e.g. going up finding bottom limit). The "backlash" mode The motor will move to ``targetPos+backlash`` first and then to ``targetPos``. The backlash may be reduced by software limits. The "PID" controller for the position and speed mode It just uses the distance to target position and it linearly calculates a resulting velocity. A ``vMin``, ``vMax``, and deadband around target may be set. The property ``pConst`` is a factor used in the calculation of the velocity. This is the basic calculation for the velocity: ``(targetPosInt-encPosition)*stepperParam.gear*stepperParam.pConst`` Limits will be applied an it will be converted to velocity in terminal unit. Setting target position outside software limits New target position is accepted, but internally replaced by the software limit position. The motor will go as far as allowed and raise the "in software limit" flag. Coupled motion of two motors * If the slave hits a switch or software limit, the master do not stop * If the master hits a switch or software limit, the slave stops