![]() |
NexMotion
1.4.0
Open Robots & Machines [WIP]
|
Group 3D Line or Arc Interpolation Motion Functions. More...
![]() |
Functions | |
RTN_ERR FNTYPE | NMC_GroupLine (I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, _opt_null_ const F64_T *PMaxVel) |
Enable the group line interpolation motion from the current position to the target position in the Cartesian space. More... | |
RTN_ERR FNTYPE | NMC_GroupCircR (I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, const Xyz_T *PNormalVector, F64_T Radius, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (radius method). More... | |
RTN_ERR FNTYPE | NMC_GroupCircC (I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, I32_T CenOfsMask, const Xyz_T *PCenOfs, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (circle center method). More... | |
RTN_ERR FNTYPE | NMC_GroupCircB (I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, I32_T BorPosMask, const Xyz_T *PBorPoint, _opt_null_ const F64_T *PMaxVel) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (pass-through method). More... | |
RTN_ERR FNTYPE | NMC_GroupCircBEx (I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, I32_T BorPosMask, const Xyz_T *PBorPoint, _opt_null_ const F64_T *PAngleDeg, _opt_null_ const F64_T *PMaxVel) |
Group 3D Line or Arc Interpolation Motion Functions.
RTN_ERR FNTYPE NMC_GroupCircB | ( | I32_T | DevID, |
I32_T | GroupIndex, | ||
I32_T | CartAxisMask, | ||
const Pos_T * | PCartPos, | ||
I32_T | BorPosMask, | ||
const Xyz_T * | PBorPoint, | ||
_opt_null_ const F64_T * | PMaxVel | ||
) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (pass-through method).
The group state will transfer from GROUP_STAND_STILL to GROUP_MOVING. If the group reaches the target position (i.e. the velocity is decreased to 0), the group state will transfer to GROUP_STAND_STILL. The path algorithm of the arc motion (pass-through method) is developed based on the PLCopen specification. Please refer to the below figure for the coordination.
DevID | Device ID (DevID) | |
GroupIndex | Group index | |
CartAxisMask | The mask is specified to execute the motion in the Cartesian space. Please refer to the below table. | |
[in] | PCartPos | A pointer variable to set the target position |
BorPosMask | The mask of the pass-through point in the Cartesian space. Please refer to the below table. | |
[in] | PBorPoint | A pointer variable to set the pass-through point |
[in] | PMaxVel | A pointer variable to set the maximum. Input NULL (0) to ignore the parameter. |
Usage:
Cartesian Coordinate Axis | V | U | C | B | A | Z | Y | X |
---|---|---|---|---|---|---|---|---|
Bit index | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
The power is the index of bit | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
The usage of the mask in the Cartesian space coordinate system (CartAxesMask) is described as follows:
If the group axes to be moved are the X-, Z- and A-axis, the GroupAxesIdxMask is +
+
= 13.
Examples:
Reference:
None.
RTN_ERR FNTYPE NMC_GroupCircC | ( | I32_T | DevID, |
I32_T | GroupIndex, | ||
I32_T | CartAxisMask, | ||
const Pos_T * | PCartPos, | ||
I32_T | CenOfsMask, | ||
const Xyz_T * | PCenOfs, | ||
I32_T | CW_CCW, | ||
_opt_null_ const F64_T * | PMaxVel | ||
) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (circle center method).
The group state will transfer from GROUP_STAND_STILL to GROUP_MOVING. If the group reaches the target position (i.e. the velocity is decreased to 0), the group state will transfer to GROUP_STAND_STILL. The path algorithm of the arc motion (circle center method) is developed based on the PLCopen specification. Please pay attention to the following items:
DevID | Device ID (DevID) | |
GroupIndex | Group index | |
CartAxisMask | The mask is specified to execute the motion in the Cartesian space. Please refer to the below table. | |
[in] | PCartPos | A pointer variable to set the target position |
CenOfsMask | The mask of the circle center in the Cartesian space. Please refer to the below table. | |
[in] | PCenOfs | A pointer variable to set the position of the circle center |
CW_CCW | Rotation direction of arc (0=CW; 1=CCW) | |
[in] | PMaxVel | A pointer variable to set the maximum. Input NULL (0) to ignore the parameter. |
Usage:
Cartesian Coordinate Axis | V | U | C | B | A | Z | Y | X |
---|---|---|---|---|---|---|---|---|
Bit index | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
The power is the index of bit | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
The usage of the mask in the Cartesian space coordinate system (CartAxesMask) is described as follows:
If the group axes to be moved are the X-, Z- and A-axis, the GroupAxesIdxMask is +
+
= 13.
Examples:
Reference:
None.
RTN_ERR FNTYPE NMC_GroupCircR | ( | I32_T | DevID, |
I32_T | GroupIndex, | ||
I32_T | CartAxisMask, | ||
const Pos_T * | PCartPos, | ||
const Xyz_T * | PNormalVector, | ||
F64_T | Radius, | ||
I32_T | CW_CCW, | ||
_opt_null_ const F64_T * | PMaxVel | ||
) |
Enable the group arc interpolation motion from the current position to the target position in the Cartesian space (radius method).
The group state will transfer from GROUP_STAND_STILL to GROUP_MOVING. If the group reaches the target position (i.e. the velocity is decreased to 0), the group state will transfer to GROUP_STAND_STILL. The path algorithm of the arc motion (radius method) is developed based on the PLCopen specification. Please pay attention to the following items:
DevID | Device ID (DevID) | |
GroupIndex | Group index | |
CartAxisMask | The mask is specified to execute the motion in the Cartesian space. Please refer to the below table. | |
[in] | PCartPos | A pointer variable to set the target position |
[in] | PNormalVector | A pointer variable to set the normal vector of the circle plane |
Radius | Radius of arc (negative value indicates the larger radian path). | |
CW_CCW | Rotation direction of arc (0=CW; 1=CCW) | |
[in] | PMaxVel | A pointer variable to set the maximum velocity. Input NULL (0) to ignore the parameter. |
Usage:
Cartesian Coordinate Axis | V | U | C | B | A | Z | Y | X |
---|---|---|---|---|---|---|---|---|
Bit index | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
The power is the index of bit | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
The usage of the mask in the Cartesian space coordinate system (CartAxesMask) is described as follows:
If the group axes to be moved are the X-, Z- and A-axis, the GroupAxesIdxMask is +
+
= 13.
Examples:
Reference:
None.
RTN_ERR FNTYPE NMC_GroupLine | ( | I32_T | DevID, |
I32_T | GroupIndex, | ||
I32_T | CartAxisMask, | ||
const Pos_T * | PCartPos, | ||
_opt_null_ const F64_T * | PMaxVel | ||
) |
Enable the group line interpolation motion from the current position to the target position in the Cartesian space.
The group state will transfer from GROUP_STAND_STILL to GROUP_MOVING. If the group reaches the target position (i.e. the velocity is decreased to 0), the group state will transfer to GROUP_STAND_STILL.
DevID | Device ID (DevID) | |
GroupIndex | Group index | |
CartAxisMask | The mask is specified to execute the motion in the Cartesian space. Please refer to the below table. | |
[in] | PCartPos | A pointer variable to set the target position |
[in] | PMaxVel | A pointer variable to set the maximum velocity. Input NULL (0) to ignore the parameter. |
Usage:
Cartesian Coordinate Axis | V | U | C | B | A | Z | Y | X |
---|---|---|---|---|---|---|---|---|
Bit index | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
The power is the index of bit | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Examples:
Reference:
None.