![]() |
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.