// 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 //========================================================================== //========================================================================== //=================== Private Valibal ========================== //========================================================================== #define YES 1 #define NO 0 #define ON 1 #define OFF 0 //------------------------------------------------------------- // MOTION TYPE #define ACCMODE 0 #define CONST2 1 #define CONST3 2 // STEP INTERPOLATION MODE #define EXPLS 8 #define CMPLS 16 //------------------------------------------------------------- //#define SERVO_ON 1 //#define SERVO_OFF 0 #ifdef _WIN32_WCE #define FRadr 0x20 // FR_NET #define adr 0x30 // Motion #define MAX_SLOT_NO 7 #else #define IoReadByte inp #define IoWriteByte outp #define adr 0x10 //i-8000 Motion //#define FRadr 0x20 // FR_NET #define MAX_SLOT_NO 8 #endif //------------------------------------------------------------- #define BYTE unsigned char #define WORD unsigned short #define DWORD unsigned long #define i8094ID 0x45 #define i8094FID 0x53 #define i8094HID 0x44 //------------------------------------------------------------- //#define baseadr 0xabb00320 #define wr0 0x0 #define wr1 0x2 #define wr2 0x4 #define wr3 0x6 #define wr4 0x8 #define wr5 0xa #define wr6 0xc #define wr7 0xe #define rr0 0x0 #define rr1 0x2 #define rr2 0x4 #define rr3 0x6 #define rr4 0x8 #define rr5 0xa #define rr6 0xc #define rr7 0xe #define RANGE 8000000 #define MAX_LENGTH 5000 #define C_LENGTH 2000 // BP Registers #define bp1p 0x4 #define bp1m 0x6 #define bp2p 0x8 #define bp2m 0xa #define bp3p 0xc #define bp3m 0xe //------------------------------------------------------------- // Axis define #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 //==============================structure================================= typedef struct { DWORD base; BYTE ServoOn[4]; WORD ax1; WORD ax2; WORD ax3; WORD plane; BYTE Stop_Flag; // add for User stop flag BYTE FR_net; }i8094_CARD; // Register typedef struct { WORD WR1[4]; WORD WR2[4]; WORD WR3[4]; WORD WR4; WORD WR5; WORD PRESET; WORD EM6[4]; WORD EM7[4]; WORD SM6[4]; WORD SM7[4]; }i8094_REG; // Parameters typedef struct { float M; // multiplier, related with range (M = 8,000,000/R) BYTE CardNo; WORD VS_Mode; WORD NS_Mode; DWORD STARTVEL; DWORD ACC; DWORD ACCRATE; DWORD DEC; DWORD DECRATE; DWORD MV[4]; // Max velocity DWORD R[4]; // range (Maximum value is 8,000,000L) DWORD K[4]; // jerk of acc DWORD L[4]; // jerk of dec WORD AO[4]; // acceleration offset DWORD A[4]; // acc DWORD D[4]; // dec DWORD SV[4]; // start velocity DWORD V[4]; // velocity DWORD HV[4]; // home speed long CP[4]; // compare + long CM[4]; // compare - DWORD DP[4]; // decelerating point 0 ~ 4,294,967,295 float Ratio; }i8094_LIST; // I/O Signals typedef struct { BYTE DRV[4]; // Driving signal BYTE LMTP[4]; // Hardware limit+ BYTE LMTM[4]; // Hardware limit- BYTE HOME[4]; // Home signal BYTE NRHOME[4]; // Near home signal BYTE ALM[4]; // Alarm signal BYTE EMG; // Emergency signal }i8094_SIGNAL; //------------------------------------------------------------- //************** DEFINE MOTION COMMAND ****************** //**** write commands #define RANGE_SETTING 0x00 //R #define JERK_SETTING 0x01 //K #define ACCELERATION_SETTING 0x02 //A #define DECELERATION_SETTING 0x03 //D #define INITIAL_SPEED_SETTING 0x04 //SV #define DRIVE_SPEED_SETTING 0x05 //V #define OUTPUT_PULSE_NUMBER 0x06 //P #define MANUAL_DECELERATION_POINT_SETTING 0x07 //DP #define CIRCULAR_CENTER_POINT_SETTING 0x08 //C #define LOGICAL_POSITION_COUNTER_SETTING 0x09 //LP #define REAL_POSITION_COUNTER_SETTING 0x0a //EP #define COMPP_REGISTER_SETTING 0x0b //CP #define COMPM_REGISTER_SETTING 0x0c //CM #define ACCELERATION_COUNTER_OFFSETTING 0x0d //AO #define DECELERATION_INCREASING_RATE_SETTING 0x0e //L #define EXTENSION_MODE_SETTING 0x60 //EM #define HOME_DETECTIION_SPEED_SETTING 0x61 //HV #define SYNCHRONOUS ACTION MODE SETTING 0x64 //SM //*********DATA READING COMMANDS********** #define LOGICAL_POSITION_COUNTER_READING 0x10 //LP #define REAL_POSITION_COUNTER_READING 0x11 //EP #define CURRENT_DRIVE_SPEED_READING 0x12 //CV #define ACC_DEC_READING 0x13 //CA #define SYNCHRONOUS_BUFFER_REGISTER_RADING 0x14 //SB //**********DRIVING COMMANDS*********** #define POSITIVE_DIRECTION_FIXED_PULSE_DRIVING 0x20 #define NEGATIVE_DIRECTION_FIXED_PULSE_DRIVING 0x21 #define POSITIVE_DIRECTION_CONTINUOUS_DRIVING 0x22 #define NEGATIVE_DIRECTION_CONTINUOUS_DRIVING 0x23 #define DRIVE_START_HOLDING 0x24 #define DRIVE_START_HOLDING_RELEASE 0x25 #define DECELERATING_STOP 0x26 #define SUDDEN_STOP 0x27 //******* INTERPOLATION COMMANDS********* #define TWO_AXIS_LINEAR_INTERPOLATION 0x30 #define THREE_AXIS_LINEAR_INTERPOLATION 0x31 #define CW_CIRCULAR_INTERPOLATION 0x32 #define CCW_CIRCULAR_INTERPOLATION 0x33 #define TWO_AXIS_BP_INTERPOLATION 0x34 #define THREE_AXIS_BP_INTERPOLATION 0x35 #define BP_REGISTER_WRITING_ENABLED 0x36 #define BP_REGISTER_WRITING_DISABLED 0x37 #define BP_DATA_STACK 0x38 #define BP_DATA_CLEAR 0x39 #define ONE_STEP_INTERPOLATION 0x3a #define DECELERATION_VALID 0x3b #define DECELERATION_INVALID 0x3c #define INTERPOLATION_INTERRUPT_CLEAR 0x3d //***********OTHER COMMANDS************** #define AUTOMATIC_HOME_SEARCH_EXECUTION 0x62 #define DEVIAITON_COUNTER_CLEAR_OUTPUT 0x63 #define SYNCHRONOUS_ACTION_ACTIVATION 0x65 #define AXIS_SWITCHING 0x00 //============================================================================ //====================== 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 #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); //---------------------------------------------------------------------------- #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 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); #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); #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_STOP_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_VSTOP_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 _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); //============================================================================ //======================= 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 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 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); //============================================================================ //====================== Macro Function declarations ========================= //============================== Not Release ================================= //============================================================================ #ifdef _WIN32_WCE I8094_API void DoEvents(); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INIT_CARD(BYTE cardNo); //---------------------------------------------------------------------------- #ifndef _WIN32_WCE WORD GetSlotAddr(BYTE slot); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_R(BYTE cardNo, WORD axis, DWORD dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_OUT1(BYTE cardNo, WORD axis, WORD n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HLMTP_LEVEL(BYTE cardNo, WORD axis, BYTE nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HLMTM_LEVEL(BYTE cardNo, WORD axis, BYTE nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_IN0_LEVEL(BYTE cardNo, WORD axis, BYTE n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_IN1_LEVEL(BYTE cardNo, WORD axis, BYTE n); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SLMTP_MODE(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SLMTM_MODE(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_CP(BYTE cardNo, WORD axis, long dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_CM(BYTE cardNo, WORD axis, long dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_COMPARE_LP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_COMPARE_EP(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_ENCODER_MODE(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_ENCODER_DIVISION(BYTE cardNo, WORD axis, BYTE nMode); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_IN2_LEVEL(BYTE cardNo, WORD axis, BYTE nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_ALARM_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_ALARM_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_ALARM_LEVEL(BYTE cardNo, WORD axis, BYTE nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INPOS_ENABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INPOS_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_INPOS_LEVEL(BYTE cardNo, WORD axis, BYTE nLevel); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_DIGITAL_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_GET_ERRORS(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_SYMMETRY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_ASYMMETRY(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_STEP1(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_STEP2(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_STEP3(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_PULSE(BYTE cardNo, WORD axis, DWORD data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_HOME_STEP4(BYTE cardNo, WORD axis, WORD nType, WORD nDir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_DRV_FDRIVE(BYTE cardNo, WORD axis, WORD ndir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_DRV_CDRIVE(BYTE cardNo, WORD axis, WORD ndir); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_STILL_DRIVING(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VSCURVE(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VTCURVE(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VAUTODEC(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VMANDEC(BYTE cardNo, DWORD decdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_MOTION_TYPE(BYTE cardNo, WORD type); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VSYMMETRY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_VASYMMETRY(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_FINISH(BYTE cardNo, WORD axis, long data); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_2DM(BYTE cardNo, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_LINE_3DM(BYTE cardNo, long fp1, long fp2, long fp3); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_SET_CENTER(BYTE cardNo, WORD axis, DWORD dwdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_ARC_CWM(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CIRCLE_CWM(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_ARC_CCWM(BYTE cardNo, long cp1, long cp2, long fp1, long fp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_CIRCLE_CCWM(BYTE cardNo, long cp1, long cp2); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif BYTE i8094MF_NEXT_INTERP(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API void i8094MF_NEXT_WAIT(BYTE cardNo); #else void i8094MF_NEXT_WAIT(BYTE cardNo); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXTDRV_MANUAL(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXTDRV_DISABLE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXTDRV_CDRIVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094MF_EXTDRV_FDRIVE(BYTE cardNo, WORD axis); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094MF_Start_Select(BYTE cardNo,WORD nDir,WORD SegCount, long Line1, long Line2, long ARC, long Rp); //---------------------------------------------------------------------------- DWORD i8094MF_ARC_MANDEC(BYTE cardNo, BYTE CW_Flag, long cp1, long cp2, long fp1, long fp2); void i8094MF_calpmccw(long hb, long he, double pb, double pe, double bx, double by, double ex, double ey, double re, long hp,long pm); void i8094MF_calpmcw(long hb, long he, double pb, double pe, double bx, double by, double ex, double ey, double re, long hp,long pm); //---------------------------------------------------------------------------- WORD i8094MF_GET_MINDEX(WORD ax1); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API void i8094MF_RATIO_INITIAL_VS(BYTE cardNo, WORD axis1, WORD axis2, DWORD SV, DWORD V, DWORD A, long ratio); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif DWORD FtoDW(float F_IN); #ifdef _WIN32_WCE I8094_API #endif float DWtoF(DWORD DW_IN); //============================================================================ //======================= Base Function declarations ========================= //============================== Not Release ================================= //============================================================================ #ifdef _WIN32_WCE I8094_API unsigned int IoRead(unsigned char cardNo, DWORD IOadr); //---------------------------------------------------------------------------- I8094_API void IoWrite(unsigned char cardNo, DWORD IOadr, DWORD data); //for FRnet first Low Byte I8094_API void IoWriteLH(unsigned char cardNo, DWORD IOadr, DWORD data); #else //---------------------------------------------------------------------------- WORD IoRead(BYTE cardNo, WORD IOadr); //---------------------------------------------------------------------------- void IoWrite(BYTE cardNo, WORD IOadr, WORD data); #endif //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR6(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif WORD i8094_GET_RR7(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_SET_M(BYTE cardNo, float fdata); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif float i8094_GET_M(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DEC_ENABLE(BYTE cardNo); //---------------------------------------------------------------------------- #ifdef _WIN32_WCE I8094_API #endif void i8094_DEC_DISABLE(BYTE cardNo); #ifdef _WIN32_WCE //============================================================================ //========================= Macro Function Class ============================= //============================ Release Manual ================================ //============================================================================ class CI8094MF { public: //3.1.1 註冊軸卡 BYTE REGISTRATION(BYTE cardNo, BYTE slot) {return i8094MF_REGISTRATION(cardNo, slot);} // WORD GET_VERSION(void) {return i8094MF_GET_VERSION();} //3.1.2 軸輸出PULSE模式設定 void SET_PULSE_MODE(BYTE cardNo, WORD axis, BYTE nMode) {i8094MF_SET_PULSE_MODE(cardNo, axis, nMode);} //3.1.3 設定軸速度輸出最大範圍 void SET_MAX_V(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_MAX_V(cardNo, axis, data);} //3.1.4 伺服開關(Servo_ON/OFF) void SERVO_ON(BYTE cardNo, WORD axis) {i8094MF_SERVO_ON(cardNo, axis);} // void SERVO_OFF(BYTE cardNo, WORD axis) {i8094MF_SERVO_OFF(cardNo, axis);} //3.1.5 控制器重置 void RESET_CARD(BYTE cardNo) {i8094MF_RESET_CARD(cardNo);} //3.1.6 設定軸前後極限的輸入觸發邏輯 void SET_HLMT(BYTE cardNo, WORD axis, BYTE nFLEdge, BYTE nRLEdge) {i8094MF_SET_HLMT(cardNo, axis, nFLEdge, nRLEdge);} //3.1.7 設定碰觸前後極限的處理模式 void LIMITSTOP_MODE (BYTE cardNo, WORD axis, BYTE nMode) {i8094MF_LIMITSTOP_MODE (cardNo, axis, nMode);} //3.1.8 設定軸近原點輸入觸發邏輯 void SET_NHOME(BYTE cardNo, WORD axis, BYTE nNHEdge) {i8094MF_SET_NHOME(cardNo, axis, nNHEdge);} //3.1.9 設定軸原點輸入觸發邏輯 void SET_HOME_EDGE(BYTE cardNo, WORD axis, BYTE nHEdge) {i8094MF_SET_HOME_EDGE(cardNo, axis, nHEdge);} //3.1.10 設定軸前後軟體極限,參考來源及取消 void SET_SLMT(BYTE cardNo, WORD axis, long dwFL, long dwRL, BYTE nType) {i8094MF_SET_SLMT(cardNo, axis, dwFL, dwRL, nType);} // void CLEAR_SLMT(BYTE cardNo, WORD axis) {i8094MF_CLEAR_SLMT(cardNo, axis);} //3.1.11 設定編碼器輸入參數 void SET_ENCODER(BYTE cardNo, WORD axis, BYTE nMode, BYTE nDevision, BYTE nZEdge) {i8094MF_SET_ENCODER(cardNo, axis, nMode, nDevision, nZEdge);} //3.1.12 設定伺服馬達異常ALARM輸入參數 void SET_ALARM(BYTE cardNo, WORD axis, BYTE nMode, BYTE nAEdge) {i8094MF_SET_ALARM(cardNo, axis, nMode, nAEdge);} //3.1.13 設定伺服馬達定位完成輸入參數 void SET_INPOS(BYTE cardNo, WORD axis, BYTE nMode, BYTE nIEdge) {i8094MF_SET_INPOS(cardNo, axis, nMode, nIEdge);} //3.1.14 設定數位輸入雜訊濾波功能 void SET_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn) {i8094MF_SET_FILTER(cardNo, axis, FEn, FLn);} //3.1.15 指定軸為圓形運動軸(環狀計數器) void VRING_ENABLE(BYTE cardNo, WORD axis, DWORD nVRing) {i8094MF_VRING_ENABLE(cardNo, axis, nVRing);} // void VRING_DISABLE(BYTE cardNo, WORD axis) {i8094MF_VRING_DISABLE(cardNo, axis);} //3.1.16 三角形速度曲線的預防 void AVTRI_ENABLE(BYTE cardNo, WORD axis) {i8094MF_AVTRI_ENABLE(cardNo, axis);} // void AVTRI_DISABLE(BYTE cardNo, WORD axis) {i8094MF_AVTRI_DISABLE(cardNo, axis);} //3.2.1設定及讀取指令位置 void SET_LP(BYTE cardNo, WORD axis, long wdata) {i8094MF_SET_LP(cardNo, axis, wdata);} // long GET_LP(BYTE cardNo, WORD axis) {return i8094MF_GET_LP(cardNo, axis);} //3.2.2設定及讀取ENCODER位置 void SET_EP(BYTE cardNo, WORD axis, long wdata) {i8094MF_SET_EP(cardNo, axis, wdata);} // long GET_EP(BYTE cardNo, WORD axis) {return i8094MF_GET_EP(cardNo, axis);} //3.2.3讀取目前速度 DWORD GET_CV(BYTE cardNo, WORD axis) {return i8094MF_GET_CV(cardNo, axis);} //3.2.4讀取目前加速度 DWORD GET_CA(BYTE cardNo, WORD axis) {return i8094MF_GET_CA(cardNo, axis);} //3.2.5讀取目前DI狀態 BYTE GET_DI(BYTE cardNo, WORD axis, WORD nType) {return i8094MF_GET_DI(cardNo, axis, nType);} //3.2.6讀取處理目前 ERROR狀態 BYTE GET_ERROR(BYTE cardNo) {return i8094MF_GET_ERROR(cardNo);} //3.2.6讀取處理目前 ERROR狀態 WORD GET_ERROR_CODE(BYTE cardNo,WORD axis) {return i8094MF_GET_ERROR_CODE(cardNo, axis);} //3.2.6讀取處理目前 ERROR狀態 void CLEAR_STOP(BYTE cardNo) {i8094MF_CLEAR_STOP(cardNo);} //3.3.1 FRnet DI讀取 WORD FRNET_RA(BYTE cardNo, WORD wRA) {return i8094MF_FRNET_RA(cardNo, wRA);} //3.3.3 FRnet DO寫入 void FRNET_SA(BYTE cardNo, WORD wSA, WORD data) {i8094MF_FRNET_SA(cardNo, wSA, data);} //4.1.1 設定單軸加減速模式 void NORMAL_SPEED(BYTE cardNo, WORD axis , WORD nMode) {i8094MF_NORMAL_SPEED(cardNo, axis , nMode);} //4.1.2 設定軸初始速度 void SET_SV(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_SV(cardNo, axis, data);} //4.1.3 設定軸定速度 void SET_V(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_V(cardNo, axis, data);} //4.1.4 設定軸加速度 void SET_A(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_A(cardNo, axis, data);} //4.1.5 設定軸減速度 void SET_D(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_D(cardNo, axis, data);} //4.1.6 設定軸加速度變化率 void SET_K(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_K(cardNo, axis, data);} //4.1.7 設定軸減速度變化率 void SET_L(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_L(cardNo, axis, data);} //4.1.8 設定軸減速(保留脈波數) void SET_AO(BYTE cardNo, WORD axis, short int data) {i8094MF_SET_AO(cardNo, axis, data);} //4.1.9 設定軸停止 void STOP_SLOWLY(BYTE cardNo, WORD axis) {i8094MF_STOP_SLOWLY(cardNo, axis);} // void STOP_SUDDENLY(BYTE cardNo, WORD axis) {i8094MF_STOP_SUDDENLY(cardNo, axis);} //4.2.1 設定軸歸零速度 void SET_HV(BYTE cardNo, WORD axis, DWORD data) {i8094MF_SET_HV( cardNo, axis, data);} //4.2.2 設定以極限當原點 void HOME_LIMIT(BYTE cardNo,WORD axis, WORD nType) {i8094MF_HOME_LIMIT(cardNo,axis, nType);} //4.2.3 設定歸零模式 void SET_HOME_MODE(BYTE cardNo, WORD axis, WORD nStep1, WORD nStep2, WORD nStep3, WORD nStep4 , long data) {i8094MF_SET_HOME_MODE(cardNo, axis, nStep1, nStep2, nStep3, nStep4 , data);} //4.2.4 啟動軸歸零 void HOME_START(BYTE cardNo, WORD axis) {i8094MF_HOME_START(cardNo, axis);} //4.2.5 等待完成歸零動作 BYTE HOME_WAIT(BYTE cardNo, WORD axis) {return i8094MF_HOME_WAIT(cardNo, axis);} //4.3.1 固定脈波數輸出 BYTE FIXED_MOVE(BYTE cardNo, WORD axis, long data) {return i8094MF_FIXED_MOVE(cardNo, axis, data);} //4.3.2 連續脈波輸出 BYTE CONTINUE_MOVE(BYTE cardNo, WORD axis1, long data) {return i8094MF_CONTINUE_MOVE(cardNo, axis1, data);} //4.3.3 等待完成軸運動 BYTE STOP_WAIT(BYTE cardNo, WORD axis) {return i8094MF_STOP_WAIT(cardNo, axis);} //4.4.1 設定補間軸 void AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3) {i8094MF_AXIS_ASSIGN(cardNo, axis1, axis2, axis3);} //4.4.2 設定補間加減速模式 void VECTOR_SPEED(BYTE cardNo, WORD nMode) {i8094MF_VECTOR_SPEED(cardNo, nMode);} //4.4.3 設定軸向量初始速度 void SET_VSV(BYTE cardNo, DWORD data) {i8094MF_SET_VSV(cardNo, data);} //4.4.4 設定軸向量定速度 void SET_VV(BYTE cardNo, DWORD data) {i8094MF_SET_VV(cardNo, data);} //4.4.5 設定軸向量加速度 void SET_VA(BYTE cardNo, DWORD data) {i8094MF_SET_VA(cardNo, data);} //4.4.6 設定軸向量減速度 void SET_VD(BYTE cardNo, DWORD data) {i8094MF_SET_VD(cardNo, data);} //4.4.7 設定軸向量加速度變化率 void SET_VK(BYTE cardNo, DWORD data) {i8094MF_SET_VK(cardNo, data);} //4.4.8 設定軸向量減速度變化率 void SET_VL(BYTE cardNo, DWORD data) {i8094MF_SET_VL(cardNo, data);} //4.4.9 設定軸向量減速(保留脈波數) void SET_VAO(BYTE cardNo, short int data) {i8094MF_SET_VAO(cardNo, data);} //4.4.10 設定補間軸停止 void VSTOP_SLOWLY(BYTE cardNo) {i8094MF_VSTOP_SLOWLY(cardNo);} // void VSTOP_SUDDENLY(BYTE cardNo) {i8094MF_VSTOP_SUDDENLY(cardNo);} //4.4.11 補間動作結束(單軸運動或改變座標系) void INTP_END(BYTE cardNo, WORD type) {i8094MF_INTP_END(cardNo, type);} //4.5.1 二軸直線補間 BYTE LINE_2D(BYTE cardNo, long fp1, long fp2) {return i8094MF_LINE_2D(cardNo, fp1, fp2);} //4.5.2 三軸直線補間 BYTE LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3) {return i8094MF_LINE_3D(cardNo, fp1, fp2, fp3);} //4.5.3 二軸圓弧補間 BYTE ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2) {return i8094MF_ARC_CW(cardNo, cp1, cp2, fp1, fp2);} // BYTE ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2) {return i8094MF_ARC_CCW(cardNo, cp1, cp2, fp1, fp2);} //4.5.4 二軸圓形補間 BYTE CIRCLE_CW(BYTE cardNo, long cp1, long cp2) {return i8094MF_CIRCLE_CW(cardNo, cp1, cp2);} // BYTE CIRCLE_CCW(BYTE cardNo, long cp1, long cp2) {return i8094MF_CIRCLE_CCW(cardNo, cp1, cp2);} //5.1.1 手輪脈波驅動 void EXD_MP(BYTE cardNo, WORD axis, long data) {i8094MF_EXD_MP(cardNo, axis, data);} //5.1.2 固定脈波驅動 void EXD_FP(BYTE cardNo, WORD axis, long data) {i8094MF_EXD_FP(cardNo, axis, data);} //5.1.3 連續脈波驅動 void EXD_CP(BYTE cardNo, WORD axis, long data) {i8094MF_EXD_CP(cardNo, axis, data);} //5.1.4 外部輸入關閉 void EXD_DISABLE(BYTE cardNo, WORD axis) {i8094MF_EXD_DISABLE(cardNo, axis);} //5.2 二軸矩形連續補間 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) {return i8094MF_RECTANGLE(cardNo, axis1, axis2, nAcc, Sp, nDir, Lp, Wp, Rp, RSV, RV, RA, RD);} //5.3 二軸直線連續補間初始設定 void LINE_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD VSV, DWORD VV, DWORD VA) {i8094MF_LINE_2D_INITIAL(cardNo, axis1, axis2, VSV, VV, VA);} // 二軸直線連續補間 BYTE LINE_2D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2) {return i8094MF_LINE_2D_CONTINUE(cardNo, nType, fp1, fp2);} //5.4 三軸直線連續補間初始設定 void LINE_3D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, DWORD VSV, DWORD VV, DWORD VA) {i8094MF_LINE_3D_INITIAL(cardNo, axis1, axis2, axis3, VSV, VV, VA);} // 三軸直線連續補間 BYTE LINE_3D_CONTINUE(BYTE cardNo, WORD nType, long fp1, long fp2, long fp3) {return i8094MF_LINE_3D_CONTINUE(cardNo, nType, fp1, fp2, fp3);} //5.5 二軸混合連續補間初始設定 void MIX_2D_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, WORD nAcc, DWORD VSV, DWORD VV, DWORD VA) {i8094MF_MIX_2D_INITIAL(cardNo, axis1, axis2, nAcc, VSV, VV, VA);} // 二軸混合連續補間 BYTE MIX_2D_CONTINUE(BYTE cardNo, WORD nAcc, WORD nType, long cp1, long cp2, long fp1, long fp2) {return i8094MF_MIX_2D_CONTINUE(cardNo, nAcc, nType, cp1, cp2, fp1, fp2);} //5.6 多點連續補間 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[ ]) {return i8094MF_CONTINUE_INTP(cardNo, axis1, axis2, axis3, nAcc, VSV, VV, VA, VD, nType, cp1, cp2, fp1, fp2, fp3);} //5.7 三軸螺旋運動 BYTE HELIX_3D(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3, WORD nDir, DWORD VV, long cp1, long cp2, long cycle, long pitch) {return i8094MF_HELIX_3D(cardNo, axis1, axis2, axis3, nDir, VV, cp1, cp2, cycle, pitch);} //5.8 二軸電子齒輪運動初始設定 void RATIO_INITIAL(BYTE cardNo, WORD axis1, WORD axis2, DWORD SV, DWORD V, DWORD A, float ratio) {i8094MF_RATIO_INITIAL(cardNo, axis1, axis2, SV, V, A, ratio);} // 二軸電子齒輪運動 BYTE RATIO_2D(BYTE cardNo, WORD nType, long data, WORD nDir) {return i8094MF_RATIO_2D(cardNo, nType, data, nDir);} //5.9 同步運動 void SYNC_ACTION(BYTE cardNo, WORD axis1, WORD axis2, WORD nSYNC, WORD nDRV, WORD nLATCH, WORD nPRESET) {i8094MF_SYNC_ACTION(cardNo, axis1, axis2, nSYNC, nDRV, nLATCH, nPRESET);} // void SET_COMPARE(BYTE cardNo, WORD axis, WORD nSELECT, WORD nTYPE, long data) {i8094MF_SET_COMPARE(cardNo, axis, nSELECT, nTYPE, data);} // long GET_LATCH(BYTE cardNo, WORD axis) {return i8094MF_GET_LATCH(cardNo, axis);} // void SET_PRESET(BYTE cardNo, WORD axis, long data) {i8094MF_SET_PRESET(cardNo, axis, data);} void DRV_HOLD(BYTE cardNo, WORD axis) {i8094MF_DRV_HOLD(cardNo, axis);} // void DRV_START(BYTE cardNo, WORD axis) {i8094MF_DRV_START(cardNo, axis);} }; //============================================================================ //========================== Base Function Class ============================= //============================ Release Manual ================================ //============================================================================ class CI8094 { public: void COMMAND(BYTE cardNo, WORD axis, WORD cmd) {i8094_COMMAND(cardNo, axis, cmd);} void SET_WR1(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_WR1(cardNo, axis, wdata);} void SET_WR2(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_WR2(cardNo, axis, wdata);} void SET_WR3(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_WR3(cardNo, axis, wdata);} void SET_WR4(BYTE cardNo, WORD wdata) {i8094_SET_WR4(cardNo, wdata);} void SET_WR5(BYTE cardNo, WORD wdata) {i8094_SET_WR5(cardNo, wdata);} WORD GET_RR0(BYTE cardNo) {return i8094_GET_RR0(cardNo);} WORD GET_RR1(BYTE cardNo, WORD axis) {return i8094_GET_RR1(cardNo, axis);} WORD GET_RR2(BYTE cardNo, WORD axis) {return i8094_GET_RR2(cardNo, axis);} WORD GET_RR3(BYTE cardNo, WORD axis) {return i8094_GET_RR3(cardNo, axis);} WORD GET_RR4(BYTE cardNo) {return i8094_GET_RR4(cardNo);} WORD GET_RR5(BYTE cardNo) {return i8094_GET_RR5(cardNo);} //------------------------------------------------------------------------ BYTE REGISTRATION(BYTE cardNo, BYTE slot) {return i8094_REGISTRATION(cardNo, slot);} WORD GET_VERSION(void) {return i8094_GET_VERSION();} void PULSE_MODE(BYTE cardNo, WORD axis, WORD mode) {i8094_PULSE_MODE(cardNo, axis, mode);} void SET_R(BYTE cardNo, WORD axis, DWORD wdata) {i8094_SET_R(cardNo, axis, wdata);} DWORD GET_R(BYTE cardNo, WORD axis) {return i8094_GET_R(cardNo, axis);} void AXIS_ASSIGN(BYTE cardNo, WORD axis1, WORD axis2, WORD axis3) {i8094_AXIS_ASSIGN(cardNo, axis1, axis2, axis3);} void HLMTP_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_HLMTP_LEVEL(cardNo, axis, nLevel);} void HLMTM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_HLMTM_LEVEL(cardNo, axis, nLevel);} void SLMTP_MODE(BYTE cardNo, WORD axis, WORD nMode) {i8094_SLMTP_MODE(cardNo, axis, nMode);} void SLMTM_MODE(BYTE cardNo, WORD axis, WORD nMode) {i8094_SLMTM_MODE(cardNo, axis, nMode);} void COMPARE_LP(BYTE cardNo, WORD axis) {i8094_COMPARE_LP(cardNo, axis);} void COMPARE_EP(BYTE cardNo, WORD axis) {i8094_COMPARE_EP(cardNo, axis);} void RESET_CARD(BYTE cardNo) {i8094_RESET_CARD(cardNo);} //------------------------------------------------------------------------ void SET_LP(BYTE cardNo, WORD axis, long wdata) {i8094_SET_LP(cardNo, axis, wdata);} void SET_EP(BYTE cardNo, WORD axis, long wdata) {i8094_SET_EP(cardNo, axis, wdata);} long GET_LP(BYTE cardNo, WORD axis) {return i8094_GET_LP(cardNo, axis);} long GET_EP(BYTE cardNo, WORD axis) {return i8094_GET_EP(cardNo, axis);} WORD GET_CV(BYTE cardNo, WORD axis) {return i8094_GET_CV(cardNo, axis);} WORD GET_CA(BYTE cardNo, WORD axis) {return i8094_GET_CA(cardNo, axis);} void SET_CP(BYTE cardNo, WORD axis, long dwdata) {i8094_SET_CP(cardNo, axis, dwdata);} void SET_CM(BYTE cardNo, WORD axis, long dwdata) {i8094_SET_CM(cardNo, axis, dwdata);} void VRING_ENABLE(BYTE cardNo, WORD axis, long nVRing) {i8094_VRING_ENABLE(cardNo, axis, nVRing);} void VRING_DISABLE(BYTE cardNo, WORD axis) {i8094_VRING_DISABLE(cardNo, axis);} void AVTRI_ENABLE(BYTE cardNo, WORD axis) {i8094_AVTRI_ENABLE(cardNo, axis);} void AVTRI_DISABLE(BYTE cardNo, WORD axis) {i8094_AVTRI_DISABLE(cardNo, axis);} //------------------------------------------------------------------------ void SET_SV(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_SV(cardNo, axis, wdata);} void SET_V(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_V(cardNo, axis, wdata);} void SET_A(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_A(cardNo, axis, wdata);} void SET_D(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_D(cardNo, axis, wdata);} void SET_K(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_K(cardNo, axis, wdata);} void SET_L(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_L(cardNo, axis, wdata);} void SET_PULSE(BYTE cardNo, WORD axis, DWORD data) {i8094_SET_PULSE(cardNo, axis, data);} void SET_AO(BYTE cardNo, WORD axis, WORD wdata) {i8094_SET_AO(cardNo, axis, wdata);} void SET_TCURVE(BYTE cardNo, WORD axis) {i8094_SET_TCURVE(cardNo, axis);} void SET_SCURVE(BYTE cardNo, WORD axis) {i8094_SET_SCURVE(cardNo, axis);} void SET_AUTODEC(BYTE cardNo, WORD axis) {i8094_SET_AUTODEC(cardNo, axis);} void SET_MANDEC(BYTE cardNo, WORD axis, DWORD decdata) {i8094_SET_MANDEC(cardNo, axis, decdata);} void DRV_FDRIVE(BYTE cardNo, WORD axis, WORD ndir) {i8094_DRV_FDRIVE(cardNo, axis, ndir);} void DRV_CDRIVE(BYTE cardNo, WORD axis, WORD ndir) {i8094_DRV_CDRIVE(cardNo, axis, ndir);} void SET_SYMMETRY(BYTE cardNo, WORD axis) {i8094_SET_SYMMETRY(cardNo, axis);} void SET_ASYMMETRY(BYTE cardNo, WORD axis) {i8094_SET_ASYMMETRY(cardNo, axis);} void STOP_WAIT(BYTE cardNo, WORD axis) {i8094_STOP_WAIT(cardNo, axis);} void STOP_SLOWLY(BYTE cardNo, WORD axis) {i8094_STOP_SLOWLY(cardNo, axis);} void STOP_SUDDENLY(BYTE cardNo, WORD axis) {i8094_STOP_SUDDENLY(cardNo, axis);} void DRV_HOLD(BYTE cardNo, WORD axis) {i8094_DRV_HOLD(cardNo, axis);} void DRV_START(BYTE cardNo, WORD axis) {i8094_DRV_START(cardNo, axis);} //------------------------------------------------------------------------ void MOTION_TYPE(BYTE cardNo, WORD type) {i8094_MOTION_TYPE(cardNo, type);} void SET_FINISH(BYTE cardNo, WORD axis, long data) {i8094_SET_FINISH(cardNo, axis, data);} void LINE_2D(BYTE cardNo, long fp1, long fp2) {i8094_LINE_2D(cardNo, fp1, fp2);} void LINE_3D(BYTE cardNo, long fp1, long fp2, long fp3) {i8094_LINE_3D(cardNo, fp1, fp2, fp3);} void SET_CENTER(BYTE cardNo, WORD axis, DWORD dwdata) {i8094_SET_CENTER(cardNo, axis, dwdata);} void ARC_CW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2) {i8094_ARC_CW(cardNo, cp1, cp2, fp1, fp2);} void ARC_CCW(BYTE cardNo, long cp1, long cp2, long fp1, long fp2) {i8094_ARC_CCW(cardNo, cp1, cp2, fp1, fp2);} void CIRCLE_CW(BYTE cardNo, long cp1, long cp2) {i8094_CIRCLE_CW(cardNo, cp1, cp2);} void CIRCLE_CCW(BYTE cardNo, long cp1, long cp2) {i8094_CIRCLE_CCW(cardNo, cp1, cp2);} void NEXT_WAIT(BYTE cardNo) {i8094_NEXT_WAIT(cardNo);} void BP_ENABLE(BYTE cardNo) {i8094_BP_ENABLE(cardNo);} void BP_DISABLE(BYTE cardNo) {i8094_BP_DISABLE(cardNo);} void BP_CLEAR(BYTE cardNo) {i8094_BP_CLEAR(cardNo);} void BP_STACK(BYTE cardNo) {i8094_BP_STACK(cardNo);} void BP_WAIT(BYTE cardNo) {i8094_BP_WAIT(cardNo);} //------------------------------------------------------------------------ void EXTENSION_MODE(BYTE cardNo, WORD axis, WORD em6data, WORD em7data) {i8094_EXTENSION_MODE(cardNo, axis, em6data, em7data);} WORD GET_EM6(BYTE cardNo, WORD axis) {return i8094_GET_EM6(cardNo, axis);} WORD GET_EM7(BYTE cardNo, WORD axis) {return i8094_GET_EM7(cardNo, axis);} void IN0_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_IN0_LEVEL(cardNo, axis, nLevel);} void IN1_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_IN1_LEVEL(cardNo, axis, nLevel);} void IN2_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_IN2_LEVEL(cardNo, axis, nLevel);} void SET_HV(BYTE cardNo, WORD axis, WORD hsdata) {i8094_SET_HV(cardNo, axis, hsdata);} void HOME_STEP1(BYTE cardNo, WORD axis, WORD nType, WORD nDir) {i8094_HOME_STEP1(cardNo, axis, nType, nDir);} void HOME_STEP2(BYTE cardNo, WORD axis, WORD nType, WORD nDir) {i8094_HOME_STEP2(cardNo, axis, nType, nDir);} void HOME_STEP3(BYTE cardNo, WORD axis, WORD nType, WORD nDir) {i8094_HOME_STEP3(cardNo, axis, nType, nDir);} void HOME_STEP4(BYTE cardNo, WORD axis, WORD nType, WORD nDir) {i8094_HOME_STEP4(cardNo, axis, nType, nDir);} void HOME_SAND(BYTE cardNo, WORD axis, WORD nType) {i8094_HOME_SAND(cardNo, axis, nType);} void HOME_LIMIT(BYTE cardNo, WORD axis, WORD nType) {i8094_HOME_LIMIT(cardNo, axis, nType);} void HOME_PCLR(BYTE cardNo, WORD axis, WORD nType) {i8094_HOME_PCLR(cardNo, axis, nType);} void HOME_START(BYTE cardNo,WORD axis) {i8094_HOME_START(cardNo,axis);} void HOME_MODE(BYTE cardNo, WORD axis, WORD Hometype) {i8094_HOME_MODE(cardNo, axis, Hometype);} //------------------------------------------------------------------------ void SYNC_MODE(BYTE cardNo, WORD axis, WORD sm6data, WORD sm7data) {i8094_SYNC_MODE(cardNo, axis, sm6data, sm7data);} long GET_SB(BYTE cardNo, WORD axis) {return i8094_GET_SB(cardNo, axis);} WORD GET_SM6(BYTE cardNo, WORD axis) {return i8094_GET_SM6(cardNo, axis);} WORD GET_SM7(BYTE cardNo, WORD axis) {return i8094_GET_SM7(cardNo, axis);} //------------------------------------------------------------------------ void LIMITSTOP_MODE(BYTE cardNo, WORD axis, WORD nMode) {i8094_LIMITSTOP_MODE(cardNo, axis, nMode);} void ENCODER_MODE(BYTE cardNo, WORD axis, WORD nMode) {i8094_ENCODER_MODE(cardNo, axis, nMode);} void ENCODER_DIVISION(BYTE cardNo, WORD axis, WORD nMode) {i8094_ENCODER_DIVISION(cardNo, axis, nMode);} void ALARM_ENABLE(BYTE cardNo, WORD axis) {i8094_ALARM_ENABLE(cardNo, axis);} void ALARM_DISABLE(BYTE cardNo, WORD axis) {i8094_ALARM_DISABLE(cardNo, axis);} void INPOS_ENABLE(BYTE cardNo, WORD axis) {i8094_INPOS_ENABLE(cardNo, axis);} void INPOS_DISABLE(BYTE cardNo, WORD axis) {i8094_INPOS_DISABLE(cardNo, axis);} void ALARM_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_ALARM_LEVEL(cardNo, axis, nLevel);} void INPOS_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_INPOS_LEVEL(cardNo, axis, nLevel);} void INnSTOP_ENABLE(BYTE cardNo, WORD axis, WORD INn) {i8094_INnSTOP_ENABLE(cardNo, axis, INn);} void INnSTOP_DISABLE(BYTE cardNo, WORD axis, WORD INn) {i8094_INnSTOP_DISABLE(cardNo, axis, INn);} void IN3_LEVEL(BYTE cardNo, WORD axis, WORD nLevel) {i8094_IN3_LEVEL(cardNo, axis, nLevel);} void EXTDRV_DISABLE(BYTE cardNo, WORD axis) {i8094_EXTDRV_DISABLE(cardNo, axis);} void EXTDRV_CDRIVE(BYTE cardNo, WORD axis) {i8094_EXTDRV_CDRIVE(cardNo, axis);} void EXTDRV_FDRIVE(BYTE cardNo, WORD axis) {i8094_EXTDRV_FDRIVE(cardNo, axis);} void EXTDRV_MANUAL(BYTE cardNo, WORD axis) {i8094_EXTDRV_MANUAL(cardNo, axis);} void SET_OUT1(BYTE cardNo, WORD axis, WORD nLevel) {i8094_SET_OUT1(cardNo, axis, nLevel);} void DIGITAL_FILTER(BYTE cardNo, WORD axis, WORD FEn, WORD FLn) {i8094_DIGITAL_FILTER(cardNo, axis, FEn, FLn);} void SERVO_ON(BYTE cardNo, WORD axis) {i8094_SERVO_ON(cardNo, axis);} void SERVO_OFF(BYTE cardNo, WORD axis) {i8094_SERVO_OFF(cardNo, axis);} //------------------------------------------------------------------------ WORD FRNET_RA(BYTE cardNo, WORD wRA) {return i8094_FRNET_RA(cardNo, wRA);} void FRNET_SA(BYTE cardNo, WORD wSA, WORD data) {i8094_FRNET_SA(cardNo, wSA, data);} }; #endif