Precision Requirements for Circular Move Input Parameters

The input parameters to MC_MoveCircAbs and MC_MoveCircRel are validated when constructing a circle. The distance of the center point from the start and end points is checked. Ideally, the two distances will be the same but calculation errors or input data precision can cause the two distances to be slightly different. If validation fails then PLCopenClosed A vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML error 50 ("Cannot construct a circle with specified parameters", see "PLCopen Function Block ErrorID Output") will be returned from the function block. Input parameters are validated using the methods described below.

Here is a circle we want to create. The distances from the center to the start and end point are measured as r1 and r2 respectively.

  1. Center point
  2. Start point
  3. End point

There are two methods for validating the circle parameters, the default method and a method using a custom tolerance.


  • If MC_GRP_PARAM_CIRCLE_TOLERANCE is set to zero (0), the default validation method will be used.


  • Use LREAL variables and LREAL versions of math functions when calculating the desired circle parameters inside a KAS application. The LREAL versions of functions usually have an ‘l’ at the end of their name. For example, the LREAL version of cos is cosl. This will help avoid errors.