NexMotion  1.4.0
Open Robots & Machines [WIP]
NexMotion.h
Go to the documentation of this file.
1 
6 /******************************************************************************
7  Open Robots & Machines
8  (C) 2018 NEXCOBOT Co., Ltd. All Rights Reserved.
9 *******************************************************************************/
10 #ifndef __NEXMOTION_H
11 #define __NEXMOTION_H
12 
16 #define FNTYPE __stdcall
17 
18 #ifdef __cplusplus
19  extern "C" {
20 #endif
21 
22 #include "NexMotionDef.h"
23 
24 
29 // Version and error read APIs
52 I32_T FNTYPE NMC_GetLibVersion( _opt_null_ I32_T *PRetMajor, _opt_null_ I32_T *PRetMinor, _opt_null_ I32_T *PRetStage, _opt_null_ I32_T *PRetBuild );
73 void FNTYPE NMC_GetLibVersionString( char *PRetVersionString, U32_T StringSize );
92 const char* FNTYPE NMC_GetErrorDescription( RTN_ERR ErrorCode, _opt_null_ char *PRetErrorDesc, U32_T StringSize );
98 // Controller initialization APIs
119 RTN_ERR FNTYPE NMC_DeviceOpenUp( I32_T DevType, I32_T DevIndex, I32_T *PRetDevID );
150 RTN_ERR FNTYPE NMC_DeviceOpenUpRequest( I32_T DevType, I32_T DevIndex );
196 // Watchdog APIs
216 RTN_ERR FNTYPE NMC_DeviceWatchdogTimerEnable( I32_T DevID, U32_T TimeoutMs, I32_T Mode );
249 // Advanced controller initialization APIs
269 RTN_ERR FNTYPE NMC_DeviceCreate( I32_T DevType, I32_T DevIndex, I32_T *PRetDevID );
391 RTN_ERR FNTYPE NMC_DeviceGetState( I32_T DevID, I32_T *PRetDeviceState );
396 // System parameter setting APIs
418 RTN_ERR FNTYPE NMC_DeviceSetParam( I32_T DevID, I32_T ParamNum, I32_T SubIndex, I32_T ParaValue );
436 RTN_ERR FNTYPE NMC_DeviceGetParam( I32_T DevID, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValue );
451 RTN_ERR FNTYPE NMC_SetIniPath( _opt_null_ const char *PIniPath );
456 // I/O access APIs
483 RTN_ERR FNTYPE NMC_GetInputMemorySize ( I32_T DevID, U32_T *PRetSizeByte );
506 RTN_ERR FNTYPE NMC_GetOutputMemorySize( I32_T DevID, U32_T *PRetSizeByte );
538 RTN_ERR FNTYPE NMC_ReadInputMemory( I32_T DevID, U32_T OffsetByte, U32_T SizeByte, void *PRetValue );
569 RTN_ERR FNTYPE NMC_ReadOutputMemory( I32_T DevID, U32_T OffsetByte, U32_T SizeByte, void *PRetValue );
604 RTN_ERR FNTYPE NMC_WriteOutputMemory( I32_T DevID, U32_T OffsetByte, U32_T SizeByte, const void *PValue );
625 RTN_ERR FNTYPE NMC_ReadInputBit( I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T *PRetBitValue );
626 RTN_ERR FNTYPE NMC_ReadInputI8( I32_T DevID, U32_T OffsetByte, I8_T *PRetI8Value );
627 RTN_ERR FNTYPE NMC_ReadInputI16( I32_T DevID, U32_T OffsetByte, I16_T *PRetI16Value );
628 RTN_ERR FNTYPE NMC_ReadInputI32( I32_T DevID, U32_T OffsetByte, I32_T *PRetI32Value );
649 RTN_ERR FNTYPE NMC_ReadOutputBit( I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T *PRetBitValue );
650 RTN_ERR FNTYPE NMC_ReadOutputI8( I32_T DevID, U32_T OffsetByte, I8_T *PRetI8Value );
651 RTN_ERR FNTYPE NMC_ReadOutputI16( I32_T DevID, U32_T OffsetByte, I16_T *PRetI16Value );
652 RTN_ERR FNTYPE NMC_ReadOutputI32( I32_T DevID, U32_T OffsetByte, I32_T *PRetI32Value );
673 RTN_ERR FNTYPE NMC_WriteOutputBit( I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T BitValue );
674 RTN_ERR FNTYPE NMC_WriteOutputI8( I32_T DevID, U32_T OffsetByte, I8_T I8Value );
675 RTN_ERR FNTYPE NMC_WriteOutputI16( I32_T DevID, U32_T OffsetByte, I16_T I16Value );
676 RTN_ERR FNTYPE NMC_WriteOutputI32( I32_T DevID, U32_T OffsetByte, I32_T I32Value );
681 // Read axis/group number APIs
700 RTN_ERR FNTYPE NMC_DeviceGetAxisCount( I32_T DevID, I32_T *PRetAxisCount );
715 RTN_ERR FNTYPE NMC_DeviceGetGroupCount( I32_T DevID, I32_T *PRetGroupCount );
731 RTN_ERR FNTYPE NMC_DeviceGetGroupAxisCount( I32_T DevID, I32_T GroupIndex, I32_T *PRetGroupAxisCount );
736 // Read axis/group description APIs
757 RTN_ERR FNTYPE NMC_AxisGetDescription( I32_T DevID, I32_T AxisIndex, U32_T DescStrSize, char *PRetAxisDescription );
774 RTN_ERR FNTYPE NMC_GroupGetDescription( I32_T DevID, I32_T GroupIndex, U32_T DescStrSize, char *PRetGroupDescription );
779 // All axes and groups enable/disable APIs
785 RTN_ERR FNTYPE NMC_DeviceResetStateAll( I32_T DevID );
820 // All axes and groups motion termination APIs
868 // Axis parameter setting APIs
898 RTN_ERR FNTYPE NMC_AxisSetParamI32( I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32 );
924 RTN_ERR FNTYPE NMC_AxisGetParamI32( I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32 );
950 RTN_ERR FNTYPE NMC_AxisSetParamF64( I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64 );
976 RTN_ERR FNTYPE NMC_AxisGetParamF64( I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64 );
981 // Axis state control APIs
1009 RTN_ERR FNTYPE NMC_AxisEnable( I32_T DevID, I32_T AxisIndex );
1030 RTN_ERR FNTYPE NMC_AxisDisable( I32_T DevID, I32_T AxisIndex );
1052 RTN_ERR FNTYPE NMC_AxisGetStatus( I32_T DevID, I32_T AxisIndex, I32_T *PRetAxisStatus );
1080 RTN_ERR FNTYPE NMC_AxisGetState( I32_T DevID, I32_T AxisIndex, I32_T *PRetAxisState );
1105 RTN_ERR FNTYPE NMC_AxisResetState( I32_T DevID, I32_T AxisIndex );
1130 RTN_ERR FNTYPE NMC_AxisResetDriveAlm( I32_T DevID, I32_T AxisIndex );
1148 RTN_ERR FNTYPE NMC_AxisGetDriveAlmCode( I32_T DevID, I32_T AxisIndex, I32_T *PRetAlmCode );
1153 // Axis motion profile read APIs
1182 RTN_ERR FNTYPE NMC_AxisGetCommandPos( I32_T DevID, I32_T AxisIndex, F64_T *PRetCmdPos );
1207 RTN_ERR FNTYPE NMC_AxisGetActualPos( I32_T DevID, I32_T AxisIndex, F64_T *PRetActPos );
1232 RTN_ERR FNTYPE NMC_AxisGetCommandVel( I32_T DevID, I32_T AxisIndex, F64_T *PRetCmdVel );
1257 RTN_ERR FNTYPE NMC_AxisGetActualVel( I32_T DevID, I32_T AxisIndex, F64_T *PRetActVel );
1283 RTN_ERR FNTYPE NMC_AxisGetMotionBuffSpace( I32_T DevID, I32_T AxisIndex, I32_T *PRetFreeSpace );
1288 // Axis motion control APIs
1330 RTN_ERR FNTYPE NMC_AxisPtp( I32_T DevID, I32_T AxisIndex, F64_T TargetPos, _opt_null_ const F64_T *PMaxVel );
1365 RTN_ERR FNTYPE NMC_AxisJog( I32_T DevID, I32_T AxisIndex, I32_T Dir, _opt_null_ const F64_T *PMaxVel );
1370 // Axis homing control APIs
1392 RTN_ERR FNTYPE NMC_AxisSetHomePos( I32_T DevID, I32_T AxisIndex, F64_T HomePos );
1417 RTN_ERR FNTYPE NMC_AxisHomeDrive( I32_T DevID, I32_T AxisIndex );
1423 // Axis motion termination APIs
1454 RTN_ERR FNTYPE NMC_AxisHalt( I32_T DevID, I32_T AxisIndex );
1480 RTN_ERR FNTYPE NMC_AxisStop( I32_T DevID, I32_T AxisIndex );
1527 // Axis profile change on the fly APIs
1561 RTN_ERR FNTYPE NMC_AxisVelOverride( I32_T DevID, I32_T AxisIndex, F64_T TargetVel );
1593 RTN_ERR FNTYPE NMC_AxisAccOverride( I32_T DevID, I32_T AxisIndex, F64_T TargetAcc );
1621 RTN_ERR FNTYPE NMC_AxisDecOverride( I32_T DevID, I32_T AxisIndex, F64_T TargetDec );
1626 // Axis velocity ratio setting APIs
1627 RTN_ERR FNTYPE NMC_AxisSetSpeedRatio( I32_T DevID, I32_T AxisIndex, F64_T Percentage );
1628 RTN_ERR FNTYPE NMC_AxisGetSpeedRatio( I32_T DevID, I32_T AxisIndex, F64_T *PPercentage );
1637 // Group parameter setting APIs
1669 RTN_ERR FNTYPE NMC_GroupSetParamI32( I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32 );
1697 RTN_ERR FNTYPE NMC_GroupGetParamI32( I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32 );
1725 RTN_ERR FNTYPE NMC_GroupSetParamF64( I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64 );
1753 RTN_ERR FNTYPE NMC_GroupGetParamF64( I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64 );
1783 RTN_ERR FNTYPE NMC_GroupAxSetParamI32( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32 );
1812 RTN_ERR FNTYPE NMC_GroupAxGetParamI32( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32 );
1841 RTN_ERR FNTYPE NMC_GroupAxSetParamF64( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64 );
1870 RTN_ERR FNTYPE NMC_GroupAxGetParamF64( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64 );
1875 // Group state control APIs
1902 RTN_ERR FNTYPE NMC_GroupEnable( I32_T DevID, I32_T GroupIndex );
1925 RTN_ERR FNTYPE NMC_GroupDisable( I32_T DevID, I32_T GroupIndex );
1968 RTN_ERR FNTYPE NMC_GroupGetStatus( I32_T DevID, I32_T GroupIndex, I32_T *PRetStatusInBit );
2003 RTN_ERR FNTYPE NMC_GroupGetState( I32_T DevID, I32_T GroupIndex, I32_T *PRetState );
2029 RTN_ERR FNTYPE NMC_GroupResetState( I32_T DevID, I32_T GroupIndex );
2054 RTN_ERR FNTYPE NMC_GroupResetDriveAlm( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex );
2077 RTN_ERR FNTYPE NMC_GroupResetDriveAlmAll( I32_T DevID, I32_T GroupIndex );
2099 RTN_ERR FNTYPE NMC_GroupGetDriveAlmCode( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T *PRetAlmCode );
2104 // Group velocity ratio setting APIs
2133 RTN_ERR FNTYPE NMC_GroupSetSpeedRatio( I32_T DevID, I32_T GroupIndex, F64_T Percentage );
2158 RTN_ERR FNTYPE NMC_GroupGetSpeedRatio( I32_T DevID, I32_T GroupIndex, F64_T *PRetPercentage );
2163 // Group axis point to point motion in ACS
2200 RTN_ERR FNTYPE NMC_GroupPtpAcs( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, F64_T AcsPos, _opt_null_ const F64_T *PAcsMaxVel );
2238 RTN_ERR FNTYPE NMC_GroupPtpAcsAll( I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask, const Pos_T *PAcsPos );
2243 // Group axis jog motion in ACS
2278 RTN_ERR FNTYPE NMC_GroupJogAcs( I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T Dir, _opt_null_ const F64_T *PAcsMaxVel );
2283 // Group axis jog motion in PCS
2315 RTN_ERR FNTYPE NMC_GroupJogTcpFrame( I32_T DevID, I32_T GroupIndex, I32_T CartAxis, I32_T Dir, _opt_null_ const F64_T *PMaxVel );
2342 RTN_ERR FNTYPE NMC_GroupJogPcsFrame( I32_T DevID, I32_T GroupIndex, I32_T CartAxis, I32_T Dir, _opt_null_ const F64_T *PMaxVel );
2347 // Group point to point motion in PCS
2385 RTN_ERR FNTYPE NMC_GroupPtpCart( I32_T DevID, I32_T GroupIndex, I32_T CartAxis, F64_T CartPos );
2421 RTN_ERR FNTYPE NMC_GroupPtpCartAll( I32_T DevID, I32_T GroupIndex, I32_T CartAxesMask, const Pos_T *PTargetPos );
2426 // Group motion termination APIs
2459 RTN_ERR FNTYPE NMC_GroupHalt( I32_T DevID, I32_T GroupIndex );
2485 RTN_ERR FNTYPE NMC_GroupStop( I32_T DevID, I32_T GroupIndex );
2542 // Group motion profile read APIs
2573 RTN_ERR FNTYPE NMC_GroupGetCommandPosAcs( I32_T DevID, I32_T GroupIndex, Pos_T *PRetCmdPosAcs );
2599 RTN_ERR FNTYPE NMC_GroupGetActualPosAcs( I32_T DevID, I32_T GroupIndex, Pos_T *PRetActPosAcs );
2625 RTN_ERR FNTYPE NMC_GroupGetCommandPosPcs( I32_T DevID, I32_T GroupIndex, Pos_T *PRetCmdPosPcs );
2651 RTN_ERR FNTYPE NMC_GroupGetActualPosPcs( I32_T DevID, I32_T GroupIndex, Pos_T *PRetActPosPcs );
2680 RTN_ERR FNTYPE NMC_GroupGetCommandPos( I32_T DevID, I32_T GroupIndex, I32_T CoordSys, Pos_T *PRetCmdPos );
2708 RTN_ERR FNTYPE NMC_GroupGetActualPos( I32_T DevID, I32_T GroupIndex, I32_T CoordSys, Pos_T *PRetActPos );
2734 RTN_ERR FNTYPE NMC_GroupGetMotionBuffSpace( I32_T DevID, I32_T GroupIndex, I32_T *PRetFreeSpace );
2739 // Group homing oparation APIs
2769 RTN_ERR FNTYPE NMC_GroupSetHomePos( I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask, const Pos_T *PHomePosAcs );
2794 RTN_ERR FNTYPE NMC_GroupAxesHomeDrive( I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask );
2799 // 2D cartesian space (MCS,PCS) interpolation
2837 RTN_ERR FNTYPE NMC_GroupLineXY( I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PX, _opt_null_ const F64_T *PY, const F64_T _opt_null_ *PMaxVel );
2875 RTN_ERR FNTYPE NMC_GroupCirc2R( I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, F64_T Radius, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel );
2914 RTN_ERR FNTYPE NMC_GroupCirc2C( I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, _opt_null_ const F64_T *PCXOffset, _opt_null_ const F64_T *PCYOffset, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel );
2951 RTN_ERR FNTYPE NMC_GroupCirc2B( I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, _opt_null_ const F64_T *PBX, _opt_null_ const F64_T *PBY, _opt_null_ const F64_T *PMaxVel );
2952 RTN_ERR FNTYPE NMC_GroupCirc2BEx( I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, _opt_null_ const F64_T *PBX, _opt_null_ const F64_T *PBY, _opt_null_ const F64_T *PAngleDeg, _opt_null_ const F64_T *PMaxVel );
2957 // 3D cartesian space (MCS,PCS) interpolation with orientation control
2997 RTN_ERR FNTYPE NMC_GroupLine( I32_T DevID, I32_T GroupIndex, I32_T CartAxisMask, const Pos_T *PCartPos, _opt_null_ const F64_T *PMaxVel );
3051 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 );
3105 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 );
3151 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 );
3152 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 );
3157 // Tool (TCP) calibration
3182 RTN_ERR FNTYPE NMC_ToolCalib_4p ( const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4 , CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance );
3203 RTN_ERR FNTYPE NMC_ToolCalib_4pWithZ ( const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4ZDir, CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance );
3226 RTN_ERR FNTYPE NMC_ToolCalib_4pWithOri( const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4, const Pos_T *PMcsKinMinusZAxisPt, const Pos_T *PMcsKinYZPlanPt, CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance );
3245 RTN_ERR FNTYPE NMC_ToolCalib_Ori ( const Pos_T *PMcsKinOrg, const Pos_T *PMcsKinMinusZAxisPt, const Pos_T *PMcsKinYZPt, CoordTrans_T *PRetToolCoordTrans );
3250 // Base calibration
3271 RTN_ERR FNTYPE NMC_BaseCalib_1p( const Pos_T *PRefBaseP1, CoordTrans_T *PRetBaseCoordTrans );
3289 RTN_ERR FNTYPE NMC_BaseCalib_2p( const Pos_T *PRefBaseP1, const Pos_T *PRefBaseP2, CoordTrans_T *PRetBaseCoordTrans );
3308 RTN_ERR FNTYPE NMC_BaseCalib_3p( const Pos_T *PRefBaseP1, const Pos_T *PRefBaseP2, const Pos_T *PRefBaseP3, CoordTrans_T *PRetBaseCoordTrans );
3320 // Message output
3374 void FNTYPE NMC_MessageOutputEnable( BOOL_T Enable );
3379 // API debugging helper
3404 void FNTYPE NMC_DebugSetTraceMode( I32_T TraceMode );
3422 void FNTYPE NMC_DebugSetHookData( void *PHookUserData );
3440 void FNTYPE NMC_DebugSetHookFunction( PF_NmcHookAPI PFHookFuncPtr );
3458 const void* FNTYPE NMC_DebugGetApiAddress( const char *PApiName );
3467 // Obsolete API
3501 RTN_ERR FNTYPE NMC_AxisSetVelRatio( I32_T DevID, I32_T AxisIndex, F64_T Percentage );
3525 RTN_ERR FNTYPE NMC_AxisGetVelRatio( I32_T DevID, I32_T AxisIndex, F64_T *PPercentage );
3526 
3553 RTN_ERR FNTYPE NMC_GroupSetVelRatio( I32_T DevID, I32_T GroupIndex, F64_T Percentage );
3579 RTN_ERR FNTYPE NMC_GroupGetVelRatio( I32_T DevID, I32_T GroupIndex, F64_T *PRetPercentage );
3584 #ifdef __cplusplus
3585 }
3586 #endif
3587 
3588 #endif
RTN_ERR FNTYPE NMC_DeviceLoadIniConfig(I32_T DevID)
Load the device configurations.
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 Ca...
RTN_ERR FNTYPE NMC_AxisGetDescription(I32_T DevID, I32_T AxisIndex, U32_T DescStrSize, char *PRetAxisDescription)
Read the name description information of the specified axis.
RTN_ERR FNTYPE NMC_AxisGetParamF64(I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64)
Get the axis parameters (F64_T data type)
A data structure is used to describe the system message.
Definition: NexMotionDef.h:490
RTN_ERR FNTYPE NMC_GroupEnable(I32_T DevID, I32_T GroupIndex)
Enable all group axes (Servo On).
RTN_ERR FNTYPE NMC_GroupAxGetParamI32(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32)
Get the parameters of group axis (I32_T, data type).
RTN_ERR FNTYPE NMC_DeviceStopRequest(I32_T DevID)
Request the device stop (Non-blocking call).
RTN_ERR FNTYPE NMC_AxisJog(I32_T DevID, I32_T AxisIndex, I32_T Dir, _opt_null_ const F64_T *PMaxVel)
Execute Point-To-Point Motion according with target (or default) velocity.
RTN_ERR FNTYPE NMC_AxisGetState(I32_T DevID, I32_T AxisIndex, I32_T *PRetAxisState)
Get the state of the axis.
const void *FNTYPE NMC_DebugGetApiAddress(const char *PApiName)
Read the API address.
const char *FNTYPE NMC_GetErrorDescription(RTN_ERR ErrorCode, _opt_null_ char *PRetErrorDesc, U32_T StringSize)
Return the error code description in the format of a C string.
RTN_ERR FNTYPE NMC_DeviceStopAll(I32_T DevID)
Stop all axes and groups in the system (Stopped state).
void FNTYPE NMC_DebugSetHookData(void *PHookUserData)
Set the data structure index for the hook function.
RTN_ERR FNTYPE NMC_BaseCalib_3p(const Pos_T *PRefBaseP1, const Pos_T *PRefBaseP2, const Pos_T *PRefBaseP3, CoordTrans_T *PRetBaseCoordTrans)
Base teaching - 3 point method.
RTN_ERR FNTYPE NMC_DeviceGetGroupAxisCount(I32_T DevID, I32_T GroupIndex, I32_T *PRetGroupAxisCount)
Get the quantity of group axis.
RTN_ERR FNTYPE NMC_GroupAxSetParamF64(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64)
Set the parameters of group axis (F64_T, data type)
RTN_ERR FNTYPE NMC_WriteOutputMemory(I32_T DevID, U32_T OffsetByte, U32_T SizeByte, const void *PValue)
Write the mapped output (Output) memory.
RTN_ERR FNTYPE NMC_GroupLineXY(I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PX, _opt_null_ const F64_T *PY, const F64_T _opt_null_ *PMaxVel)
Enable the group line interpolation motion on the XY plane from the current position to the target po...
RTN_ERR FNTYPE NMC_BaseCalib_1p(const Pos_T *PRefBaseP1, CoordTrans_T *PRetBaseCoordTrans)
Base teaching - 1 point method.
void FNTYPE NMC_DebugSetHookFunction(PF_NmcHookAPI PFHookFuncPtr)
Set the hook function.
I32_T FNTYPE NMC_GetLibVersion(_opt_null_ I32_T *PRetMajor, _opt_null_ I32_T *PRetMinor, _opt_null_ I32_T *PRetStage, _opt_null_ I32_T *PRetBuild)
Return the version number of the Library: Major.Minor.Stage.Build.
RTN_ERR FNTYPE NMC_GroupSetHomePos(I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask, const Pos_T *PHomePosAcs)
Set the origin of a group axis in the axis coordination system.
RTN_ERR FNTYPE NMC_ReadInputBit(I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T *PRetBitValue)
Read the mapped input memory by bit, word or dword.
RTN_ERR FNTYPE NMC_GroupGetCommandPosPcs(I32_T DevID, I32_T GroupIndex, Pos_T *PRetCmdPosPcs)
Get the command position of a group axis in the Cartesian coordinate system (PCS).
RTN_ERR FNTYPE NMC_GroupSetParamI32(I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32)
Set the Group Parameters (I32_T, data type).
RTN_ERR FNTYPE NMC_GroupGetActualPosPcs(I32_T DevID, I32_T GroupIndex, Pos_T *PRetActPosPcs)
Get the actual position of a group axis in the Cartesian coordinate system (PCS). ...
RTN_ERR FNTYPE NMC_SetIniPath(_opt_null_ const char *PIniPath)
Set the path of the ini file.
RTN_ERR FNTYPE NMC_AxisHaltAll(I32_T DevID)
The function can be called to halt the motions of all axes in a specified device normally.
RTN_ERR FNTYPE NMC_AxisSetParamI32(I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32)
Set the axis parameters (I_32T data type)
RTN_ERR FNTYPE NMC_AxisPtp(I32_T DevID, I32_T AxisIndex, F64_T TargetPos, _opt_null_ const F64_T *PMaxVel)
Execute Point-To-Point Motion according with target position.
RTN_ERR FNTYPE NMC_GroupGetDescription(I32_T DevID, I32_T GroupIndex, U32_T DescStrSize, char *PRetGroupDescription)
Read the name desciption information of the specified group.
RTN_ERR FNTYPE NMC_AxisGetActualVel(I32_T DevID, I32_T AxisIndex, F64_T *PRetActVel)
Get the encoder feedback velocity for desired axis.
RTN_ERR FNTYPE NMC_AxisVelOverride(I32_T DevID, I32_T AxisIndex, F64_T TargetVel)
Override the velocity of a single axis.
RTN_ERR FNTYPE NMC_AxisResetState(I32_T DevID, I32_T AxisIndex)
Reset the state of the axis.
RTN_ERR FNTYPE NMC_GroupDisable(I32_T DevID, I32_T GroupIndex)
Disable all group axes ( Servo Off ).
RTN_ERR FNTYPE NMC_GroupHaltAll(I32_T DevID)
Halt all groups (Stand still state).
RTN_ERR FNTYPE NMC_GroupSetSpeedRatio(I32_T DevID, I32_T GroupIndex, F64_T Percentage)
Set the speed percentage of a group from 0.0 to 100.0%.
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 Car...
RTN_ERR FNTYPE NMC_GroupGetStatus(I32_T DevID, I32_T GroupIndex, I32_T *PRetStatusInBit)
Get the group status by bit.
RTN_ERR FNTYPE NMC_GroupPtpCart(I32_T DevID, I32_T GroupIndex, I32_T CartAxis, F64_T CartPos)
Enable the point-to-point motion of group axis in the Cartesian coordinate system.
RTN_ERR FNTYPE NMC_ToolCalib_4pWithOri(const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4, const Pos_T *PMcsKinMinusZAxisPt, const Pos_T *PMcsKinYZPlanPt, CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance)
Tool calibration - TCP translation with orientation setting method.
RTN_ERR FNTYPE NMC_AxisSetVelRatio(I32_T DevID, I32_T AxisIndex, F64_T Percentage)
Axis function for setting velocity ratio.
RTN_ERR FNTYPE NMC_DeviceSetParam(I32_T DevID, I32_T ParamNum, I32_T SubIndex, I32_T ParaValue)
Set device parameters.
RTN_ERR FNTYPE NMC_ToolCalib_4p(const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4, CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance)
ool calibration - TCP translation method
void FNTYPE NMC_MessageOutputEnable(BOOL_T Enable)
Transfer a copy of message to MS Windows system message.
RTN_ERR FNTYPE NMC_GroupCirc2R(I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, F64_T Radius, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel)
Enable the group arc interpolation motion on the XY plane from the current position to the target pos...
RTN_ERR FNTYPE NMC_ReadOutputBit(I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T *PRetBitValue)
Read the mapped output memory by bit, word or dword.
RTN_ERR FNTYPE NMC_AxisGetStatus(I32_T DevID, I32_T AxisIndex, I32_T *PRetAxisStatus)
Get the status of the axis.
void FNTYPE NMC_DebugSetTraceMode(I32_T TraceMode)
Set API trace mode.
RTN_ERR FNTYPE NMC_AxisGetActualPos(I32_T DevID, I32_T AxisIndex, F64_T *PRetActPos)
Get the encoder feedback position for desired axis.
A head file define more variable types for NexMotion Library.
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 Car...
RTN_ERR FNTYPE NMC_MessagePopFirst(_opt_null_ NmcMsg_T *PRetMsg)
Read system message queue.
RTN_ERR FNTYPE NMC_ToolCalib_4pWithZ(const Pos_T *PMcsKinP1, const Pos_T *PMcsKinP2, const Pos_T *PMcsKinP3, const Pos_T *PMcsKinP4ZDir, CoordTrans_T *PRetToolCoordTrans, F64_T *PRetTolerance)
Tool calibration - TCP translation with Z-direction setting method.
RTN_ERR FNTYPE NMC_GroupGetSpeedRatio(I32_T DevID, I32_T GroupIndex, F64_T *PRetPercentage)
Get the speed percentage of a group from 0.0 to 100.0%.
RTN_ERR FNTYPE NMC_GroupAxesHomeDrive(I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask)
Drive a group to move to the origin.
void FNTYPE NMC_GetLibVersionString(char *PRetVersionString, U32_T StringSize)
Return the version number of the Library in the format of a C string: Major.Minor.Stage.Build.
RTN_ERR FNTYPE NMC_GroupStop(I32_T DevID, I32_T GroupIndex)
Stop a group (Stop state).
RTN_ERR FNTYPE NMC_GroupResetState(I32_T DevID, I32_T GroupIndex)
Reset the group state .
RTN_ERR FNTYPE NMC_AxisHomeDrive(I32_T DevID, I32_T AxisIndex)
Drive an axis to move to the origin (by driver).
RTN_ERR FNTYPE NMC_DeviceWatchdogTimerDisable(I32_T DevID)
Disable the watch dog timer.
The data structure to descibe the transformmed reslationship between two coordinate system...
Definition: NexMotionDef.h:448
RTN_ERR FNTYPE NMC_AxisDisable(I32_T DevID, I32_T AxisIndex)
Disable an axis.
RTN_ERR FNTYPE NMC_GetOutputMemorySize(I32_T DevID, U32_T *PRetSizeByte)
Get the size of mapped output (Output) memory.
RTN_ERR FNTYPE NMC_DeviceDelete(I32_T DevID)
Delete the device ID.
RTN_ERR FNTYPE NMC_GroupPtpAcsAll(I32_T DevID, I32_T GroupIndex, I32_T GroupAxesIdxMask, const Pos_T *PAcsPos)
Enable the point-to-point motion for multiple group axes in the a xis coordinate system (ACS)...
RTN_ERR FNTYPE NMC_GroupGetVelRatio(I32_T DevID, I32_T GroupIndex, F64_T *PRetPercentage)
Get the velocity percentage of a group from 0.0 ~ 100.0%.
RTN_ERR FNTYPE NMC_AxisGetMotionBuffSpace(I32_T DevID, I32_T AxisIndex, I32_T *PRetFreeSpace)
Get the quantity of motions segment which can still be stored into the axis motion queue...
RTN_ERR FNTYPE NMC_AxisHalt(I32_T DevID, I32_T AxisIndex)
The function can be called to halt the axis motion.
RTN_ERR FNTYPE NMC_GetInputMemorySize(I32_T DevID, U32_T *PRetSizeByte)
Get the size of mapped input(Input) memory.
RTN_ERR FNTYPE NMC_DeviceShutdown(I32_T DevID)
Shut down the device (Blocking call).
int BOOL_T
0:False, else:True
Definition: nex_type.h:17
RTN_ERR FNTYPE NMC_DeviceGetAxisCount(I32_T DevID, I32_T *PRetAxisCount)
Get the axis quantity.
RTN_ERR FNTYPE NMC_GroupGetDriveAlmCode(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T *PRetAlmCode)
Get alarm code fo Drive.
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 Car...
RTN_ERR FNTYPE NMC_GroupGetActualPosAcs(I32_T DevID, I32_T GroupIndex, Pos_T *PRetActPosAcs)
Get the actual position of a group axis in the axis coordinate system (ACS).
RTN_ERR FNTYPE NMC_DeviceGetParam(I32_T DevID, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValue)
Get device parameters.
RTN_ERR FNTYPE NMC_AxisAccOverride(I32_T DevID, I32_T AxisIndex, F64_T TargetAcc)
Override the acceleration of a single axis.
int I32_T
-2147483648 ~ 2147483647
Definition: nex_type.h:29
RTN_ERR FNTYPE NMC_GroupStopAll(I32_T DevID)
Stop all groups (Stop state).
RTN_ERR FNTYPE NMC_AxisDecOverride(I32_T DevID, I32_T AxisIndex, F64_T TargetDec)
Override the deceleration of a single axis.
RTN_ERR FNTYPE NMC_DeviceStart(I32_T DevID)
Start the device (Blocking call).
RTN_ERR FNTYPE NMC_DeviceHaltAll(I32_T DevID)
Holt all axes and groups in the system (Stand still state).
RTN_ERR FNTYPE NMC_GroupResetDriveAlm(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex)
Reset the group servo alarm.
RTN_ERR FNTYPE NMC_DeviceStartRequest(I32_T DevID)
Request the device start (Non-blocking call).
RTN_ERR FNTYPE NMC_GroupGetActualPos(I32_T DevID, I32_T GroupIndex, I32_T CoordSys, Pos_T *PRetActPos)
Get the actual position of a group.
The data types related to motion in Cartesian system, which is defined in NexMotionDef.h.
Definition: NexMotionDef.h:383
RTN_ERR FNTYPE NMC_DeviceGetState(I32_T DevID, I32_T *PRetDeviceState)
Get the device state.
RTN_ERR FNTYPE NMC_AxisStop(I32_T DevID, I32_T AxisIndex)
The function can be called to stop the axis motion.
RTN_ERR FNTYPE NMC_GroupGetCommandPosAcs(I32_T DevID, I32_T GroupIndex, Pos_T *PRetCmdPosAcs)
Get the command position of a group axis in the axis coordinate system (ACS).
RTN_ERR FNTYPE NMC_GroupSetParamF64(I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64)
Set the group parameters (F64_T, data type).
RTN_ERR FNTYPE NMC_AxisResetDriveAlm(I32_T DevID, I32_T AxisIndex)
Reset the axis servo alarm.
RTN_ERR FNTYPE NMC_GroupHalt(I32_T DevID, I32_T GroupIndex)
Halt a group (Stand still state).
RTN_ERR FNTYPE NMC_GroupCirc2C(I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, _opt_null_ const F64_T *PCXOffset, _opt_null_ const F64_T *PCYOffset, I32_T CW_CCW, _opt_null_ const F64_T *PMaxVel)
Enable the group arc interpolation motion on the XY plane from the current position to the target pos...
RTN_ERR FNTYPE NMC_GroupAxGetParamF64(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64)
Get the parameters of group axis (F64_T, data type).
RTN_ERR FNTYPE NMC_GroupJogTcpFrame(I32_T DevID, I32_T GroupIndex, I32_T CartAxis, I32_T Dir, _opt_null_ const F64_T *PMaxVel)
Enable the JOG motion of group axis in the Cartesian coordinate system with respect to the tool cente...
RTN_ERR FNTYPE NMC_AxisGetVelRatio(I32_T DevID, I32_T AxisIndex, F64_T *PPercentage)
Axis function for getting velocity ratio.
RTN_ERR FNTYPE NMC_DeviceEnableAll(I32_T DevID)
Enable all axes and groups in the system.
RTN_ERR FNTYPE NMC_DeviceStop(I32_T DevID)
Stop the device (Blocking call).
RTN_ERR FNTYPE NMC_DeviceShutdownRequest(I32_T DevID)
Request the device shut down (Non-blocking call).
RTN_ERR FNTYPE NMC_BaseCalib_2p(const Pos_T *PRefBaseP1, const Pos_T *PRefBaseP2, CoordTrans_T *PRetBaseCoordTrans)
Base teaching - 2 points method.
RTN_ERR FNTYPE NMC_AxisStopAll(I32_T DevID)
The function can be called to stop the motions of all axes in a specified device forcedly.
I32_T RTN_ERR
Return code.
Definition: nex_type.h:39
RTN_ERR FNTYPE NMC_AxisSetHomePos(I32_T DevID, I32_T AxisIndex, F64_T HomePos)
Set the origin of a single axis in the axis coordination system.
RTN_ERR FNTYPE NMC_GroupAxSetParamI32(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T ParaValueI32)
Set the parameters of group axis (I32_T, data type)
RTN_ERR FNTYPE NMC_GroupJogAcs(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, I32_T Dir, _opt_null_ const F64_T *PAcsMaxVel)
Enable the JOG motion for a group axis in the axis coordinate system (ACS).
RTN_ERR FNTYPE NMC_GroupGetState(I32_T DevID, I32_T GroupIndex, I32_T *PRetState)
Get the state of group.
RTN_ERR FNTYPE NMC_DeviceGetGroupCount(I32_T DevID, I32_T *PRetGroupCount)
Get the quantity of group.
#define _opt_null_
It enable input pointer can be null.
Definition: nex_type.h:49
RTN_ERR FNTYPE NMC_GroupGetCommandPos(I32_T DevID, I32_T GroupIndex, I32_T CoordSys, Pos_T *PRetCmdPos)
Get the command position of a group.
RTN_ERR FNTYPE NMC_DeviceCreate(I32_T DevType, I32_T DevIndex, I32_T *PRetDevID)
Create the device ID.
RTN_ERR FNTYPE NMC_GroupPtpCartAll(I32_T DevID, I32_T GroupIndex, I32_T CartAxesMask, const Pos_T *PTargetPos)
Enable the point-to-point motion of multiple group axes on the points in the Cartesian coordinate sys...
RTN_ERR FNTYPE NMC_DeviceOpenUp(I32_T DevType, I32_T DevIndex, I32_T *PRetDevID)
Open up the device (Blocking call).
RTN_ERR FNTYPE NMC_DeviceWatchdogTimerReset(I32_T DevID)
Reset the watch dog timer.
RTN_ERR FNTYPE NMC_GroupGetParamF64(I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, F64_T *PRetParaValueF64)
Get the group parameters (F64_T, data type).
short I16_T
-32768 ~ 32767
Definition: nex_type.h:28
RTN_ERR FNTYPE NMC_AxisEnable(I32_T DevID, I32_T AxisIndex)
Enable an axis.
RTN_ERR FNTYPE NMC_WriteOutputBit(I32_T DevID, U32_T OffsetByte, U32_T BitIndex, BOOL_T BitValue)
Write the mapped output memory by bit, word or dword.
RTN_ERR FNTYPE NMC_GroupSetVelRatio(I32_T DevID, I32_T GroupIndex, F64_T Percentage)
Set the velocity percentage of a group from 0.0 ~ 100.0%.
RTN_ERR FNTYPE NMC_GroupJogPcsFrame(I32_T DevID, I32_T GroupIndex, I32_T CartAxis, I32_T Dir, _opt_null_ const F64_T *PMaxVel)
Enable the JOG motion of group axis in the Product coordinate system.
RTN_ERR FNTYPE NMC_ReadOutputMemory(I32_T DevID, U32_T OffsetByte, U32_T SizeByte, void *PRetValue)
Read the mapped output (Output) memory.
RTN_ERR FNTYPE NMC_GroupGetMotionBuffSpace(I32_T DevID, I32_T GroupIndex, I32_T *PRetFreeSpace)
Get the size of buffer space of group motion command.
RTN_ERR FNTYPE NMC_DeviceResetConfig(I32_T DevID)
Reset the device configurations.
RTN_ERR FNTYPE NMC_DeviceDisableAll(I32_T DevID)
Disable all axes and groups in the system.
RTN_ERR FNTYPE NMC_GroupGetParamI32(I32_T DevID, I32_T GroupIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32)
Get the Group Parameters (I32_T, data type).
RTN_ERR FNTYPE NMC_AxisSetParamF64(I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, F64_T ParaValueF64)
Set the axis patameters (F64_T data type)
RTN_ERR FNTYPE NMC_DeviceWaitShutdownRequest(I32_T DevID, U32_T WaitMs)
Wait for device shut down (Blocking call).
RTN_ERR FNTYPE NMC_AxisGetCommandPos(I32_T DevID, I32_T AxisIndex, F64_T *PRetCmdPos)
Get the command position for desired axis.
RTN_ERR FNTYPE NMC_AxisGetParamI32(I32_T DevID, I32_T AxisIndex, I32_T ParamNum, I32_T SubIndex, I32_T *PRetParaValueI32)
Get the axis parameters (I_32T data type)
RTN_ERR FNTYPE NMC_GroupCirc2B(I32_T DevID, I32_T GroupIndex, _opt_null_ const F64_T *PEX, _opt_null_ const F64_T *PEY, _opt_null_ const F64_T *PBX, _opt_null_ const F64_T *PBY, _opt_null_ const F64_T *PMaxVel)
Enable the group arc interpolation motion on the XY plane from the current position to the target pos...
unsigned int U32_T
0 ~ 4294967295
Definition: nex_type.h:20
#define FNTYPE
define marco FNTYPE as __stdcall
Definition: NexMotion.h:16
RTN_ERR FNTYPE NMC_DeviceWatchdogTimerEnable(I32_T DevID, U32_T TimeoutMs, I32_T Mode)
Enable the watch dog timer.
RTN_ERR FNTYPE NMC_AxisGetDriveAlmCode(I32_T DevID, I32_T AxisIndex, I32_T *PRetAlmCode)
Get the axis servo alarm code.
char I8_T
-128 ~ 127
Definition: nex_type.h:27
RTN_ERR FNTYPE NMC_GroupResetDriveAlmAll(I32_T DevID, I32_T GroupIndex)
Reset all group servo alarms.
RTN_ERR FNTYPE NMC_GroupPtpAcs(I32_T DevID, I32_T GroupIndex, I32_T GroupAxisIndex, F64_T AcsPos, _opt_null_ const F64_T *PAcsMaxVel)
Enable the point-to-point motion for a group axis in the a xis coordinate system (ACS).
RTN_ERR FNTYPE NMC_AxisGetCommandVel(I32_T DevID, I32_T AxisIndex, F64_T *PRetCmdVel)
Get the command velocity for desired axis.
RTN_ERR FNTYPE NMC_DeviceWaitOpenUpRequest(U32_T WaitMs, I32_T *PRetDevID)
Wait for device open up (Blocking call).
The general data types related to motion, which is defined in NexMotionDef.h.
Definition: NexMotionDef.h:363
RTN_ERR FNTYPE NMC_ToolCalib_Ori(const Pos_T *PMcsKinOrg, const Pos_T *PMcsKinMinusZAxisPt, const Pos_T *PMcsKinYZPt, CoordTrans_T *PRetToolCoordTrans)
Tool calibration - Orientation setting method.
RTN_ERR FNTYPE NMC_ReadInputMemory(I32_T DevID, U32_T OffsetByte, U32_T SizeByte, void *PRetValue)
Read the mapped input (Input) memory.
void(* PF_NmcHookAPI)(const void *FPFuncAddress, const char *PFuncName, RTN_ERR ReturnCode, void *PUserData)
Hook function type definition.
Definition: NexMotionDef.h:467
double F64_T
Double precision floating point.
Definition: nex_type.h:37
RTN_ERR FNTYPE NMC_DeviceOpenUpRequest(I32_T DevType, I32_T DevIndex)
Request the device open up (Non-blocking call).