// The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the I8094_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // I8094_API functions as being imported from a DLL, wheras this DLL sees symbols // defined with this macro as being exported. #ifdef _WIN32_WCE #ifdef I8094_EXPORTS #define I8094_API extern "C" __declspec(dllexport) #else #define I8094_API extern "C" __declspec(dllimport) #endif I8094_API int nI8094; I8094_API int fnI8094(void); #endif //========================================================================== //============================ Global Constants============================= //========================================================================== #ifndef _COMMON_DEFINITION_ #define _COMMON_DEFINITION_ #define YES 1 #define NO 0 #define ON 1 #define OFF 0 //------------------------------------------------------------- #ifndef _WIN32_WCE #define BYTE unsigned char #define WORD unsigned short #define DWORD unsigned long #endif //------------------------------------------------------------- #define AXIS_X 0x1 #define AXIS_Y 0x2 #define AXIS_Z 0x4 #define AXIS_U 0x8 #define AXIS_XY 0x3 #define AXIS_XZ 0x5 #define AXIS_XU 0x9 #define AXIS_YZ 0x6 #define AXIS_YU 0xa #define AXIS_ZU 0xc #define AXIS_XYZ 0x7 #define AXIS_XYU 0xb #define AXIS_XZU 0xd #define AXIS_YZU 0xe #define AXIS_XYZU 0xf #endif // _COMMON_DEFINITION_ //=2010/06/02 #define ErrorCheckCard 1 //true (Default) #define ErrorCheckAxis 0 //false (Default) //============================================================================ //====================== Macro Function declarations ========================= //============================= Release Manual =============================== //============================================================================ #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_REGISTRATION(BYTE cardNo, BYTE slot); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_GET_VERSION(void); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API short i8094MF_LOAD_CONFIG(BYTE cardNo); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_PULSE_MODE(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_MAX_V(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SERVO_ON(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SERVO_OFF(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_RESET_CARD(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_HLMT(BYTE cardNo, WORD axis, BYTE nFLEdge, BYTE nRLEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_LIMITSTOP_MODE(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_NHOME(BYTE cardNo, WORD axis, BYTE nNHEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_HOME_EDGE(BYTE cardNo, WORD axis, BYTE nHEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_SLMT(BYTE cardNo, WORD axis, long dwFL, long dwRL, BYTE nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_CLEAR_SLMT(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_ENCODER(BYTE cardNo, WORD axis, BYTE nMode, BYTE nDevision, BYTE nZEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_ALARM(BYTE cardNo, WORD axis, BYTE nMode, BYTE nAEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_INPOS(BYTE cardNo, WORD axis, BYTE nMode, BYTE nIEdge); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_VRING_ENABLE(BYTE cardNo, WORD axis, DWORD nVRing); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_VRING_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_AVTRI_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_AVTRI_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- //2010/04/26 #ifdef _WIN32_WCE I8094_API void i8094MF_SET_ERROR_CHECK(BYTE cardNo, bool CheckFlag); #else void i8094MF_SET_ERROR_CHECK(BYTE cardNo, BYTE CheckFlag); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_LP(BYTE cardNo, WORD axis, long wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094MF_GET_LP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_EP(BYTE cardNo, WORD axis, long wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094MF_GET_EP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif DWORD i8094MF_GET_CV(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif DWORD i8094MF_GET_CA(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_GET_DI(BYTE cardNo, WORD axis, WORD nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_GET_DI_ALL(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_GET_ERROR(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_GET_ERROR_CODE(BYTE cardNo,WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_CLEAR_STOP(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API WORD i8094MF_FRNET_RA(BYTE cardNo, WORD wRA); I8094_API WORD i8094MF_FRNET_IN(BYTE cardNo, WORD wRA); #else // FRnet IoRead for I8000 WORD i8094MF_FRNET_RA(BYTE cardNo, WORD wRA); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API void i8094MF_FRNET_SA(BYTE cardNo, WORD wSA, WORD data); I8094_API void i8094MF_FRNET_OUT(BYTE cardNo, WORD wSA, WORD data); #else // FRnet IoWrite for I8000 void i8094MF_FRNET_SA(BYTE cardNo, WORD wSA, WORD data); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_NORMAL_SPEED(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_SV(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_V(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_A(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_D(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_K(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_L(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_AO(BYTE cardNo, WORD axis, short int data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_STOP_SLOWLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SSTOP_SLOWLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_STOP_SUDDENLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SSTOP_SUDDENLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_HV(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_LIMIT(BYTE cardNo, WORD axis, WORD nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_HOME_MODE(BYTE cardNo, WORD axis, WORD nStep1, WORD nStep2, WORD nStep3, WORD nStep4, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_START(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_HOME_WAIT(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_FIXED_MOVE(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CONTINUE_MOVE(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_STOP_WAIT(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_VECTOR_SPEED(BYTE cardNo, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VSV(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VV(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VA(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VD(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VK(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VL(BYTE cardNo, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VAO(BYTE cardNo, short int data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_VSTOP_SLOWLY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SVSTOP_SLOWLY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_VSTOP_SUDDENLY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SVSTOP_SUDDENLY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INTP_END(BYTE cardNo, WORD type); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_2D(BYTE cardNo, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CIRCLE_CW(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CIRCLE_CCW(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXD_MP(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXD_FP(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXD_CP(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXD_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_RECTANGLE(BYTE cardNo, WORD axis1, WORD axis2, WORD nAcc, WORD Sp, WORD nDir, long Lp, long Wp, long Rp, DWORD RSV, DWORD RV, DWORD RA, DWORD RD); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_LINE_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD VSV, DWORD VV, DWORD VA); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_2D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_LINE_3D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, DWORD VSV, DWORD VV, DWORD VA); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_3D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2, long fp3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_MIX_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD nAcc, DWORD VSV, DWORD VV, DWORD VA); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_MIX_2D_CONTINUE(BYTE cardNo, WORD nAcc, WORD nType, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CONTINUE_INTP(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, WORD nAcc, DWORD VSV, DWORD VV, DWORD VA, DWORD VD, BYTE nType[], long cp1[], long cp2[], long fp1[], long fp2[], long fp3[]); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_HELIX_3D(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, WORD nDir, DWORD VV, long cp1, long cp2, long cycle, long pitch); //---------------------------------------------------------------------------- #ifdef _FOR_TEEMING_ONLY_ #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_HELIX_3D_Ex(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, WORD nDir, DWORD VV, long cp1, long cp2, long cycle, long pitch, DWORD VFS, DWORD VD ); #endif // _FOR_TEEMING_ONLY_ //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_RATIO_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD SV, DWORD V, DWORD A, float ratio); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_RATIO_2D(BYTE cardNo, WORD nType, long data, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SYNC_ACTION(BYTE cardNo, WORD axis1, WORD axis2, WORD nSYNC, WORD nDRV, WORD nLATCH, WORD nPRESET); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_COMPARE(BYTE cardNo, WORD axis, WORD nSELECT, WORD nTYPE, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094MF_GET_LATCH(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_PRESET(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_DRV_HOLD(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_DRV_START(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INTFACTOR_ENABLE(BYTE cardNo, WORD axis, WORD nINT); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INTFACTOR_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_SLEEPTIME(int SleepTime ); #ifdef _WIN32_WCE I8094_API #endif int i8094MF_GET_SLEEPTIME(void); //---------------------------------------------------------------------------- //============================================================================ //======================= Base Function declarations ========================= //============================= Release Manual =============================== //============================================================================ #ifdef _WIN32_WCE I8094_API #endif void i8094_COMMAND(BYTE cardNo, WORD axis, WORD cmd); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR1(BYTE cardNo, WORD axis, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR2(BYTE cardNo, WORD axis, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR3(BYTE cardNo, WORD axis, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR4(BYTE cardNo, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR5(BYTE cardNo, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR6(BYTE cardNo, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_WR7(BYTE cardNo, WORD wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR0(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR1(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR2(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR3(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_GET_RR3(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR4(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR5(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API BYTE i8094_REGISTRATION(BYTE cardNo, BYTE slot); #else BYTE i8094_REGISTRATION(BYTE cardNo, BYTE slot); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_VERSION(void); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_PULSE_MODE(BYTE cardNo, WORD axis, WORD mode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_R(BYTE cardNo, WORD axis, DWORD dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif DWORD i8094_GET_R(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HLMTP_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HLMTM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SLMTP_MODE(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SLMTM_MODE(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_COMPARE_LP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_COMPARE_EP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_RESET_CARD(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_LP(BYTE cardNo, WORD axis, long wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_EP(BYTE cardNo, WORD axis, long wdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094_GET_LP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094_GET_EP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_CV(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_CA(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_CP(BYTE cardNo, WORD axis, long dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_CM(BYTE cardNo, WORD axis, long dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_VRING_ENABLE(BYTE cardNo, WORD axis, DWORD nVRing); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_VRING_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_AVTRI_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_AVTRI_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_SV(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_V(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_A(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_D(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_K(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_L(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_PULSE(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_AO(BYTE cardNo, WORD axis, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_TCURVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_SCURVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_AUTODEC(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_MANDEC(BYTE cardNo, WORD axis, DWORD decdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DRV_FDRIVE(BYTE cardNo, WORD axis, WORD ndir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DRV_CDRIVE(BYTE cardNo, WORD axis, WORD ndir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_SYMMETRY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_ASYMMETRY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_STOP_WAIT(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_STOP_SLOWLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_STOP_SUDDENLY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DRV_HOLD(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DRV_START(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_MOTION_TYPE(BYTE cardNo, WORD type); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_FINISH(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_LINE_2D(BYTE cardNo, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_CENTER(BYTE cardNo, WORD axis, DWORD dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_CIRCLE_CW(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_CIRCLE_CCW(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_NEXT_WAIT(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_BP_ENABLE(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_BP_DISABLE(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_BP_CLEAR(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_BP_STACK(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_BP_WAIT(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_EXTENSION_MODE(BYTE cardNo, WORD axis, WORD em6data, WORD em7data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_EM6(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_EM7(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_IN0_LEVEL(BYTE cardNo, WORD axis, WORD n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_IN1_LEVEL(BYTE cardNo, WORD axis, WORD n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_IN2_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_HV(BYTE cardNo, WORD axis, WORD hsdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_STEP1(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_STEP2(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_STEP3(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_STEP4(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_SAND(BYTE cardNo, WORD axis, WORD nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_LIMIT(BYTE cardNo, WORD axis, WORD nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_PCLR(BYTE cardNo, WORD axis, WORD nType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_START(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_HOME_MODE(BYTE cardNo, WORD axis, WORD HomeType); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SYNC_MODE(BYTE cardNo, WORD axis, WORD sm6data, WORD sm7data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif long i8094_GET_SB(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_SM6(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_SM7(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_LIMITSTOP_MODE(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ENCODER_MODE(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ENCODER_DIVISION(BYTE cardNo, WORD axis, WORD nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ALARM_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ALARM_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_INPOS_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_INPOS_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_ALARM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_INPOS_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_INnSTOP_ENABLE(BYTE cardNo, WORD axis, WORD INn); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_INnSTOP_DISABLE(BYTE cardNo, WORD axis, WORD INn); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_IN3_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_EXTDRV_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_EXTDRV_CDRIVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_EXTDRV_FDRIVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_EXTDRV_MANUAL(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_OUT1(BYTE cardNo, WORD axis, WORD n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DIGITAL_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SERVO_ON(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SERVO_OFF(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_FRNET_RA(BYTE cardNo, WORD wRA); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_FRNET_SA(BYTE cardNo, WORD wSA, WORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API void DoEvents(); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE #ifdef I8094_EXPORTS #define CAPI __declspec(dllexport) #else #define CAPI __declspec(dllimport) #endif //============================================================================ //========================= Macro Function Class ============================= //============================ Release Manual ================================ //============================================================================ class CAPI CI8094MF { public: //2.1 (i-8094 registration) BYTE REGISTRATION(BYTE cardNo, BYTE slot); //2.2 (Get the i-8094 dll version) WORD GET_VERSION(void); //2.3 (Reset i-8094) void RESET_CARD(BYTE cardNo); //2.4 (Set the output pulse mode) void SET_PULSE_MODE(BYTE cardNo, WORD axis, BYTE nMode); //2.x (Reset i-8094) short LOAD_CONFIG(BYTE cardNo); //2.5 (Set the max speed) void SET_MAX_V(BYTE cardNo, WORD axis, DWORD data); //2.6 (Set the limit(+/-) switches) void SET_HLMT(BYTE cardNo, WORD axis, BYTE nFLEdge, BYTE nRLEdge); //2.7 (Set the stop mode for triggering the limit switches) void LIMITSTOP_MODE (BYTE cardNo, WORD axis, BYTE nMode); //2.8 (Set the logic level of the near home sensor) void SET_NHOME(BYTE cardNo, WORD axis, BYTE nNHEdge); //2.9 (Set the logic level of the home sensor) void SET_HOME_EDGE(BYTE cardNo, WORD axis, BYTE nHEdge); //2.10 (Set the software limit) void SET_SLMT(BYTE cardNo, WORD axis, long dwFL, long dwRL, BYTE nType); //2.10 (Clear the software limit) void CLEAR_SLMT(BYTE cardNo, WORD axis); //2.11 (Set the encoder modes) void SET_ENCODER(BYTE cardNo, WORD axis, BYTE nMode, BYTE nDevision, BYTE nZEdge); //2.12 (Servo ON) void SERVO_ON(BYTE cardNo, WORD axis); //2.12 (Servo OFF) void SERVO_OFF(BYTE cardNo, WORD axis); //2.13 (Set the servo alarm signals) void SET_ALARM(BYTE cardNo, WORD axis, BYTE nMode, BYTE nAEdge); //2.14 (Set the in-position signals) void SET_INPOS(BYTE cardNo, WORD axis, BYTE nMode, BYTE nIEdge); //2.15 (Set the digital filter) void SET_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn); //2.16 (Set the variable ring, Enable) void VRING_ENABLE(BYTE cardNo, WORD axis, DWORD nVRing); //2.16 (Set the variable ring, Disable) void VRING_DISABLE(BYTE cardNo, WORD axis); //2.17 (Avoid the triangle curve, Enable) void AVTRI_ENABLE(BYTE cardNo, WORD axis); //2.17 (Avoid the triangle curve, Disable) void AVTRI_DISABLE(BYTE cardNo, WORD axis); //2.18.1 (EXP+/-: Hand wheel mode) void EXD_MP(BYTE cardNo, WORD axis, long data); //2.18.2 (EXP+/-: Fixed-pulse drive mode) void EXD_FP(BYTE cardNo, WORD axis, long data); //2.18.3 (EXP+/-: Continuous drive mode) void EXD_CP(BYTE cardNo, WORD axis, long data); //2.18.4 (EXP+/-: Disable) void EXD_DISABLE(BYTE cardNo, WORD axis); //3.1 (Set the logic position) void SET_LP(BYTE cardNo, WORD axis, long wdata); //3.1 (Get the logic position) long GET_LP(BYTE cardNo, WORD axis); //3.2 (Set the encoder position) void SET_EP(BYTE cardNo, WORD axis, long wdata); //3.2 (Get the encoder position) long GET_EP(BYTE cardNo, WORD axis); //3.3 (Get the current speed) DWORD GET_CV(BYTE cardNo, WORD axis); //3.4 (Get the current acceleration) DWORD GET_CA(BYTE cardNo, WORD axis); //3.5 (Get the DI status) BYTE GET_DI(BYTE cardNo, WORD axis, WORD nType); WORD GET_DI_ALL(BYTE cardNo,WORD axis); //3.6 (Check if error occured) BYTE GET_ERROR(BYTE cardNo); //3.6 (Get the error codes) WORD GET_ERROR_CODE(BYTE cardNo,WORD axis); //4.1 (Read FRnet DI) WORD FRNET_RA(BYTE cardNo, WORD wRA); WORD FRNET_IN(BYTE cardNo, WORD wRA); //4.2 (Write FRnet DO) void FRNET_SA(BYTE cardNo, WORD wSA, WORD data); void FRNET_OUT(BYTE cardNo, WORD wSA, WORD data); //5.1 (Set the homing speed) void SET_HV(BYTE cardNo, WORD axis, DWORD data); //5.2 (Set the limit switch to be the home sensor) void HOME_LIMIT(BYTE cardNo,WORD axis, WORD nType); //5.3 (Set the auto-homing modes) void SET_HOME_MODE(BYTE cardNo, WORD axis, WORD nStep1, WORD nStep2, WORD nStep3, WORD nStep4 , long data); //5.4 (Set start homing) void HOME_START(BYTE cardNo, WORD axis); //5.5 (Wait homing done) BYTE HOME_WAIT(BYTE cardNo, WORD axis); //6.1.1 (Set the acc/dec modes for independent axis) void NORMAL_SPEED(BYTE cardNo, WORD axis , WORD nMode); //6.1.2 (Set the start speed) void SET_SV(BYTE cardNo, WORD axis, DWORD data); //6.1.3 (Set the drive speed) void SET_V(BYTE cardNo, WORD axis, DWORD data); //6.1.4 (Set the acceleration) void SET_A(BYTE cardNo, WORD axis, DWORD data); //6.1.5 (Set the deceleration) void SET_D(BYTE cardNo, WORD axis, DWORD data); //6.1.6 (Set the rate of acceleration) void SET_K(BYTE cardNo, WORD axis, DWORD data); //6.1.7 (Set the rate of deceleration) void SET_L(BYTE cardNo, WORD axis, DWORD data); //6.1.8 (Set the offset pulse) void SET_AO(BYTE cardNo, WORD axis, short int data); //6.1.9 (Fixed pulse drive) BYTE FIXED_MOVE(BYTE cardNo, WORD axis, long data); //6.1.10 (Continuous drive) BYTE CONTINUE_MOVE(BYTE cardNo, WORD axis1, long data); //6.2.1 (Set the interpolation axes) void AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3); //6.2.2 (Set the acc/dec modes for interpolation) void VECTOR_SPEED(BYTE cardNo, WORD nMode); //6.2.3 (Set the vector start speed) void SET_VSV(BYTE cardNo, DWORD data); //6.2.4 (Set the vector drive speed) void SET_VV(BYTE cardNo, DWORD data); //6.2.5 (Set the vector acceleration) void SET_VA(BYTE cardNo, DWORD data); //6.2.6 (Set the vector deceleration) void SET_VD(BYTE cardNo, DWORD data); //6.2.7 (Set the vector deceleration) void SET_VK(BYTE cardNo, DWORD data); //6.2.8 (Set the vector deceleration) void SET_VL(BYTE cardNo, DWORD data); //6.2.9 (Set the offset pulse) void SET_VAO(BYTE cardNo, short int data); //6.2.10 (2-axis linear interpolation) BYTE LINE_2D(BYTE cardNo, long fp1, long fp2); //6.2.11 (3-axis linear interpolation) BYTE LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3); //6.2.12 (Arc interpolation, CW) BYTE ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //6.2.12 (Arc interpolation, CCW) BYTE ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //6.2.13 (Circle interpolation, CW) BYTE CIRCLE_CW(BYTE cardNo, long cp1, long cp2); //6.2.13 (Circle interpolation, CCW) BYTE CIRCLE_CCW(BYTE cardNo, long cp1, long cp2); //6.3.1 (Synchronpus action) void SYNC_ACTION(BYTE cardNo, WORD axis1, WORD axis2, WORD nSYNC, WORD nDRV, WORD nLATCH, WORD nPRESET); //6.3.2 (Set position compare value) void SET_COMPARE(BYTE cardNo, WORD axis, WORD nSELECT, WORD nTYPE, long data); //6.3.3 (Get the latched position value) long GET_LATCH(BYTE cardNo, WORD axis); //6.3.4 (Preset the active axis) void SET_PRESET(BYTE cardNo, WORD axis, long data); //6.4.1 (Continuous interpolation of rectangle profile) BYTE RECTANGLE(BYTE cardNo, WORD axis1, WORD axis2,WORD nAcc, WORD Sp, WORD nDir, long Lp, long Wp, long Rp,DWORD RSV,DWORD RV, DWORD RA, DWORD RD); //6.4.2 (Set the parameters of the 2-axis continuous interpolation) void LINE_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD VSV, DWORD VV, DWORD VA); //6.4.2 (Execute the 2-axis continuous interpolation) BYTE LINE_2D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2); //6.4.3 (Set the parameters of the 3-axis continuous interpolation) void LINE_3D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, DWORD VSV, DWORD VV, DWORD VA); //6.4.3 (Execute the 2-axis continuous interpolation) BYTE LINE_3D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2, long fp3); //6.4.4 (Set the parameters of the mixed continuous interpolation) void MIX_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD nAcc, DWORD VSV, DWORD VV, DWORD VA); //6.4.4 (Execute the mixed continuous interpolation) BYTE MIX_2D_CONTINUE(BYTE cardNo, WORD nAcc, WORD nType, long cp1, long cp2, long fp1, long fp2); //6.4.5 (Multi-points continuous interpolation) BYTE CONTINUE_INTP(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3,WORD nAcc, DWORD VSV, DWORD VV, DWORD VA, DWORD VD,BYTE nType[ ], long cp1[ ], long cp2[ ], long fp1[ ], long fp2[ ], long fp3[ ]); //6.4.6 (3-axis helix motion) BYTE HELIX_3D(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, WORD nDir, DWORD VV, long cp1, long cp2, long cycle, long pitch); //6.4.7 (Set the parameters of the 2-axis ratio motion) void RATIO_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD SV, DWORD V, DWORD A, float ratio); //6.4.7 ( Execute the 2-axis ratio motion) BYTE RATIO_2D(BYTE cardNo, WORD nType, long data, WORD nDir); //6.4.8 (3-axis arc motion) long i8094MF_ARC_3D(BYTE cardNo, BYTE axis1, BYTE axis2, BYTE axis3, long *P1, long *P2, DWORD DR, DWORD VV); //6.5.1 (Set the interrupt factors, Enable) void INTFACTOR_ENABLE(BYTE cardNo, WORD axis, WORD nINT); //6.5.2 (Set the interrupt factors, Disable) void INTFACTOR_DISABLE(BYTE cardNo, WORD axis); //6.6.1 (Hold driving commands) void DRV_HOLD(BYTE cardNo, WORD axis); //6.6.2 (Release driving commands) void DRV_START(BYTE cardNo, WORD axis); //6.6.3 (Wait motion done) BYTE STOP_WAIT(BYTE cardNo, WORD axis); //6.6.4 (Set EMG stop for the indenpendent axis) void STOP_SLOWLY(BYTE cardNo, WORD axis); //6.6.4 (Set SD stop for the indenpendent axis) void STOP_SUDDENLY(BYTE cardNo, WORD axis); //6.6.4 (Set SD stop for the interpolation axis) void VSTOP_SLOWLY(BYTE cardNo); //6.6.4 (Set SD stop for the interpolation axis) void VSTOP_SUDDENLY(BYTE cardNo); //6.6.5 (Clear the stop status) void CLEAR_STOP(BYTE cardNo); //6.6.6 (Recover the range/multiple of the master axis, after interpolation or change coodridate) void INTP_END(BYTE cardNo, WORD type); }; //============================================================================ //========================== Base Function Class ============================= //============================ Release Manual ================================ //============================================================================ class CI8094 { public: void COMMAND(BYTE cardNo, WORD axis, WORD cmd); void SET_WR1(BYTE cardNo, WORD axis, WORD wdata); void SET_WR2(BYTE cardNo, WORD axis, WORD wdata); void SET_WR3(BYTE cardNo, WORD axis, WORD wdata); void SET_WR4(BYTE cardNo, WORD wdata); void SET_WR5(BYTE cardNo, WORD wdata); void SET_WR6(BYTE cardNo, WORD wdata); void SET_WR7(BYTE cardNo, WORD wdata); WORD GET_RR0(BYTE cardNo); WORD GET_RR1(BYTE cardNo, WORD axis); WORD GET_RR2(BYTE cardNo, WORD axis); WORD GET_RR3(BYTE cardNo, WORD axis); WORD GET_RR4(BYTE cardNo); WORD GET_RR5(BYTE cardNo); //------------------------------------------------------------------------ BYTE REGISTRATION(BYTE cardNo, BYTE slot); WORD GET_VERSION(void); void PULSE_MODE(BYTE cardNo, WORD axis, WORD mode); void SET_R(BYTE cardNo, WORD axis, DWORD wdata); DWORD GET_R(BYTE cardNo, WORD axis); void AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3); void HLMTP_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void HLMTM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void SLMTP_MODE(BYTE cardNo, WORD axis, WORD nMode); void SLMTM_MODE(BYTE cardNo, WORD axis, WORD nMode); void COMPARE_LP(BYTE cardNo, WORD axis); void COMPARE_EP(BYTE cardNo, WORD axis); void RESET_CARD(BYTE cardNo); //------------------------------------------------------------------------ void SET_LP(BYTE cardNo, WORD axis, long wdata); void SET_EP(BYTE cardNo, WORD axis, long wdata); long GET_LP(BYTE cardNo, WORD axis); long GET_EP(BYTE cardNo, WORD axis); WORD GET_CV(BYTE cardNo, WORD axis); WORD GET_CA(BYTE cardNo, WORD axis); void SET_CP(BYTE cardNo, WORD axis, long dwdata); void SET_CM(BYTE cardNo, WORD axis, long dwdata); void VRING_ENABLE(BYTE cardNo, WORD axis, long nVRing); void VRING_DISABLE(BYTE cardNo, WORD axis); void AVTRI_ENABLE(BYTE cardNo, WORD axis); void AVTRI_DISABLE(BYTE cardNo, WORD axis); //------------------------------------------------------------------------ void SET_SV(BYTE cardNo, WORD axis, WORD wdata); void SET_V(BYTE cardNo, WORD axis, WORD wdata); void SET_A(BYTE cardNo, WORD axis, WORD wdata); void SET_D(BYTE cardNo, WORD axis, WORD wdata); void SET_K(BYTE cardNo, WORD axis, WORD wdata); void SET_L(BYTE cardNo, WORD axis, WORD wdata); void SET_PULSE(BYTE cardNo, WORD axis, DWORD data); void SET_AO(BYTE cardNo, WORD axis, WORD wdata); void SET_TCURVE(BYTE cardNo, WORD axis); void SET_SCURVE(BYTE cardNo, WORD axis); void SET_AUTODEC(BYTE cardNo, WORD axis); void SET_MANDEC(BYTE cardNo, WORD axis, DWORD decdata); void DRV_FDRIVE(BYTE cardNo, WORD axis, WORD ndir); void DRV_CDRIVE(BYTE cardNo, WORD axis, WORD ndir); void SET_SYMMETRY(BYTE cardNo, WORD axis); void SET_ASYMMETRY(BYTE cardNo, WORD axis); void STOP_WAIT(BYTE cardNo, WORD axis); void STOP_SLOWLY(BYTE cardNo, WORD axis); void STOP_SUDDENLY(BYTE cardNo, WORD axis); void DRV_HOLD(BYTE cardNo, WORD axis); void DRV_START(BYTE cardNo, WORD axis); //------------------------------------------------------------------------ void MOTION_TYPE(BYTE cardNo, WORD type); void SET_FINISH(BYTE cardNo, WORD axis, long data); void LINE_2D(BYTE cardNo, long fp1, long fp2); void LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3); void SET_CENTER(BYTE cardNo, WORD axis, DWORD dwdata); void ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); void ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); void CIRCLE_CW(BYTE cardNo, long cp1, long cp2); void CIRCLE_CCW(BYTE cardNo, long cp1, long cp2); void NEXT_WAIT(BYTE cardNo); void BP_ENABLE(BYTE cardNo); void BP_DISABLE(BYTE cardNo); void BP_CLEAR(BYTE cardNo); void BP_STACK(BYTE cardNo); void BP_WAIT(BYTE cardNo); //------------------------------------------------------------------------ void EXTENSION_MODE(BYTE cardNo, WORD axis, WORD em6data, WORD em7data); WORD GET_EM6(BYTE cardNo, WORD axis); WORD GET_EM7(BYTE cardNo, WORD axis); void IN0_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void IN1_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void IN2_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void SET_HV(BYTE cardNo, WORD axis, WORD hsdata); void HOME_STEP1(BYTE cardNo, WORD axis, WORD nType, WORD nDir); void HOME_STEP2(BYTE cardNo, WORD axis, WORD nType, WORD nDir); void HOME_STEP3(BYTE cardNo, WORD axis, WORD nType, WORD nDir); void HOME_STEP4(BYTE cardNo, WORD axis, WORD nType, WORD nDir); void HOME_SAND(BYTE cardNo, WORD axis, WORD nType); void HOME_LIMIT(BYTE cardNo, WORD axis, WORD nType); void HOME_PCLR(BYTE cardNo, WORD axis, WORD nType); void HOME_START(BYTE cardNo,WORD axis); void HOME_MODE(BYTE cardNo, WORD axis, WORD Hometype); //------------------------------------------------------------------------ void SYNC_MODE(BYTE cardNo, WORD axis, WORD sm6data, WORD sm7data); long GET_SB(BYTE cardNo, WORD axis); WORD GET_SM6(BYTE cardNo, WORD axis); WORD GET_SM7(BYTE cardNo, WORD axis); //------------------------------------------------------------------------ void LIMITSTOP_MODE(BYTE cardNo, WORD axis, WORD nMode); void ENCODER_MODE(BYTE cardNo, WORD axis, WORD nMode); void ENCODER_DIVISION(BYTE cardNo, WORD axis, WORD nMode); void ALARM_ENABLE(BYTE cardNo, WORD axis); void ALARM_DISABLE(BYTE cardNo, WORD axis); void INPOS_ENABLE(BYTE cardNo, WORD axis); void INPOS_DISABLE(BYTE cardNo, WORD axis); void ALARM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void INPOS_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void INnSTOP_ENABLE(BYTE cardNo, WORD axis, WORD INn); void INnSTOP_DISABLE(BYTE cardNo, WORD axis, WORD INn); void IN3_LEVEL(BYTE cardNo, WORD axis, WORD nLevel); void EXTDRV_DISABLE(BYTE cardNo, WORD axis); void EXTDRV_CDRIVE(BYTE cardNo, WORD axis); void EXTDRV_FDRIVE(BYTE cardNo, WORD axis); void EXTDRV_MANUAL(BYTE cardNo, WORD axis); void SET_OUT1(BYTE cardNo, WORD axis, WORD nLevel); void DIGITAL_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn); void SERVO_ON(BYTE cardNo, WORD axis); void SERVO_OFF(BYTE cardNo, WORD axis); //------------------------------------------------------------------------ WORD FRNET_RA(BYTE cardNo, WORD wRA); void FRNET_SA(BYTE cardNo, WORD wSA, WORD data); //------------------------------------------------------------------------ }; #endif