MC_CIRC_MODE

TF5410
TwinCAT 3 Motion Collision Avoidance

TF5420
TwinCAT 3 Motion Pick-and-Place

 

MC Group with Pick-and-Place

MC Group Coordinated Motion

MC_CIRC_MODE 1:

MC_CIRC_MODE 2:
(MC_CIRC_MODE 3: up to and including v3.2)

MC_CIRC_MODE 4:

The circle mode determines which circle definition is used to program a circle.

TYPE MC_CIRC_MODE :
(
mcCircModeInvalid        := 16#0000,
mcCircModeBorder         := 16#2000,
mcCircModeCenter         := 16#2001,
mcCircModeRadius         := 16#2002
)
END_TYPE

mcCircModeInvalid

Returns errors

 

  • This parameter is invalid and will lead to an error where a valid MC_CIRC_MODE argument is required.

 

mcCircModeBorder

MC_CIRC_MODE 5:

StartPoint

 

  • The movement starts at the starting point “StartPoint”.
  • This point is the endpoint of the preceding move command.

 

EndPoint

 

  • The user configures the endpoint “EndPoint”.
  • The circular movement will end at this point.

 

AuxPoint

 

  • The user configures the auxiliary point "AuxPoint".
  • The circular movement will pass through this point.

 

PathChoice

 

  • The input parameter "PathChoice" and the data type "MC_CIRC_PATHCHOICE" are ignored.

 

Applicability

  • The mode mcCircModeBorder cannot be used to describe a full circle (i.e. "StartPoint" equals "EndPoint"). This is due to the fact that in this the center point of the circle would be ambiguous.
  • The mode mcCircModeBorder cannot be used to describe paths with more than one full rotation of the circle.

mcCircModeCenter

MC_CIRC_MODE 6:

StartPoint

 

  • The movement starts at the starting point “StartPoint”.
  • This point is the endpoint of the preceding move command.

 

EndPoint

 

  • The user configures the endpoint “EndPoint”.
  • The circular movement will end at this point.

 

AuxPoint

 

  • The user configures the auxiliary point "AuxPoint".
  • For the circular movement this auxiliary point will act as the circle center point.
  • The center point is required to have the same distance from “StartPoint” and “EndPoint”. If the distances differ only slightly, the center point will be adjusted. If the distances differ significantly, the circle description will not be accepted.

 

 

PathChoice

 

  • There are usually two possible arcs of the circle that can be traversed from starting point "StartPoint" to the endpoint "EndPoint". The “PathChoice” parameter makes the two unique. See MC_CIRC_PATHCHOICE for more information.

 

Applicability

 

  • The mode mcCircModeCenter cannot be used to describe a semicircle (i.e. an arc that traverses an angle of 180° or very close to that) or a full circle (i.e. "StartPoint" equals "EndPoint"). This is due to the fact that in these cases starting point, center point and endpoint would be collinear and thus the plane in which the circle lies would be ambiguous.

 

  • The mode mcCircModeCenter cannot be used to describe paths with more than one full rotation of the circle.

mcCircModeRadius

MC_CIRC_MODE 7:
MC_CIRC_MODE 8:

Images

  • Four different arcs are distinguished by the orientation of the normal vector and the parameter “PathChoice”.

 

StartPoint

  • The movement starts at the starting point “StartPoint”.

 

  • This point is the endpoint of the preceding move command.

 

  • The circle to be constructed and its plane contain the starting point.

 

 

AuxPoint

Normal Vector

  • The user configures the parameter "AuxPoint", which in this mode acts as the normal vector of the plane of the circle. Its length is taken as the radius of the circle.

 

EndPoint

  • The user configures the endpoint “EndPoint”.

 

  • The movement will end at this point.

 

  • MC group with pick-and-place only: If this point is outside the plane defined by “StartPoint” and the normal vector, movement will follow a helix instead of a circle.

 

 

PathChoice and resulting arc

  • The right-hand rule is applied for all “PathChoice” values except mcCircPathchoiceClockwise, which follows the left-hand rule.

 

  • mcCircPathchoiceCounterClockwise and mcCircPathchoiceShortSegment describe an arc that covers an angle <= 180°, mcCircPathchoiceClockwise and mcCircPathchoiceLongSegment describe an arc that covers an angle >= 180°.

 

  • Which of the 4 possible arcs with a given radius is chosen depends on the “PathChoice” argument and the orientation of the normal vector. See above table for more information.

 

 

Applicability

  • The mode mcCircModeRadius can only be used to describe arcs that cover an angle < 360°.
  • The length of the normal vector (i.e. the radius of the circle) must be at least half the distance between starting point and endpoint.

Requirements

Development environment

Target platform

PLC libraries
to include

TwinCAT V3.1.4018.26

TF5400 Advanced Motion Pack V3.1.2.47

PC or
CX (x64)

Tc3_McCoordinatedMotion, Tc2_MC2