⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mccl.h

📁 机械手IPC控制器伺服运动程序
💻 H
字号:
#ifdef __cplusplus
extern "C" {
#endif

#ifndef  _MCCL_LIB_
#define  _MCCL_LIB_

#ifndef DWORD
	#define DWORD   unsigned      long
#endif

#ifndef WORD
	#define WORD    unsigned short int
#endif
	
#ifndef BYTE
	#define BYTE    unsigned char
#endif
	
#ifndef BOOL
	#define BOOL    int
#endif
	
#ifndef FALSE
	#define FALSE                       0
#endif
	
#ifndef TRUE
	#define TRUE                        1
#endif

#ifndef _YES_
	#define _YES_                       1
#endif

#ifndef _NO_
	#define _NO_                        0
#endif

#define MAX_CARD_NUM                  12
#define MAX_GROUP_NUM                 72

#define UNIT_MM                        1
#define UNIT_INCH                      2

#define NORMAL_MODE  		            0
#define HOME_ONLY_MODE 	                1
#define INDEX_ONLY_MODE		            2

#define DDA_FMT_PD					 0x00
#define DDA_FMT_CW					 0x01
#define DDA_FMT_AB					 0x02
#define DDA_FMT_NO					 0x03

#define ENC_TYPE_AB					  0x0
#define ENC_TYPE_CW					  0x1
#define ENC_TYPE_PD					  0x2
#define ENC_TYPE_NO					  0x3

#define NO_ERR					        0

#define INITIAL_MOTION_ERR             -1

#define COMMAND_BUFFER_FULL_ERR        -2
#define COMMAND_NOTACCEPTED_ERR        -3 
#define COMMAND_NOTFINISHED_ERR        -4

#define PARAMETER_ERR                  -5
#define GROUP_PARAMETER_ERR            -6
#define FEED_RATE_ERR                  -7

#define BLEND_COMMAND_NOTCALLED_ERR    -8
#define VOLTAGE_COMMAND_CHANNEL_ERR    -9
#define HOME_COMMAND_NOTCALLED_ERR	  -10

#define HOLD_ILLEGAL_ERR              -11 
#define CONTI_ILLEGAL_ERR             -12 
#define ABORT_ILLEGAL_ERR             -13

#define RUN_TIME_ERR                  -14


typedef struct _COMMAND_INFO
{
    int    nType;//  0 : Pont to Point, 1 : Line, 2 : Arc, Circle (CW), 3 : Arc, Circle (CCW)
	int    nCommandIndex;
    double dfFeedSpeed;
    double dfPos[6];
} COMMAND_INFO;

typedef struct _SYS_CARD_CONFIG
{
    WORD wCardType;
    WORD wCardAddress;
	WORD wIRQ_No;
	WORD wPaddle;
} SYS_CARD_CONFIG;

typedef struct _SYS_GROUP_INFO
{
    int  nCardIndex;
    int  nChannel[6];
} SYS_GROUP_INFO;

typedef struct _SYS_GROUP_CONFIG
{
    int            nGroupUsed[72];
    SYS_GROUP_INFO stGroupInfo[72];
} SYS_GROUP_CONFIG;


////////////////////////////////////////////////////////////////
typedef struct _SYS_MAC_PARAM
{
	WORD		   wPosToEncoderDir;
	WORD		   wRPM;
	DWORD		   dwPPR;
	double		   dfPitch;
	double		   dfGearRatio;
	double		   dfHighLimit;
	double		   dfLowLimit;
	double		   dfHighLimitOffset;
	double		   dfLowLimitOffset;

	WORD		   wPulseMode;
	WORD           wPulseWidth;
	WORD           wCommandMode;
	WORD           wPaddle;

	WORD           wOverTravelUpSensorMode;
	WORD           wOverTravelDownSensorMode;
} SYS_MAC_PARAM;

typedef struct _SYS_ENCODER_CONFIG
{              
    WORD wType;
    WORD wAInverse;
    WORD wBInverse;
    WORD wCInverse;
    WORD wABSwap;
	WORD wInputRate;
	WORD wPaddle[2];
} SYS_ENCODER_CONFIG;

typedef struct _SYS_HOME_CONFIG
{              
	WORD   wMode;   
    WORD   wDirection; 
 	WORD   wSensorMode;
	WORD   wPaddel0;

	int    nIndexCount;
	int    nPaddel1;

	double dfAccTime;
	double dfDecTime;
	double dfHighSpeed;
	double dfLowSpeed;
	double dfOffset;
} SYS_HOME_CONFIG;

typedef struct _SYS_COMP_PARAM
{
    DWORD dwInterval;
    WORD  wHome_No;
	WORD  wPaddle;
    int   nForwardTable[256];
    int   nBackwardTable[256];
} SYS_COMP_PARAM;

typedef struct _MOTION_CONFIG
{
	char   cAccType;
	char   cDecType;
	char   cPaddel[6];

	double dfAccTime;//  ms
	double dfDecTime;//  ms
	double dfFeedSpeed;
} MOTION_CONFIG;

typedef struct _PTP_MOTION_CONFIG
{
	char   cAccType[6];
	char   cDecType[6];
	char   cPaddel[4];

	double dfAccTime[6];//  ms
	double dfDecTime[6];//  ms
	double dfSpeedRatio;
} PTP_MOTION_CONFIG;


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  for compitable

typedef struct _HOME_CONFIG
{              
	WORD   wType;   
    WORD   wPhase0Dir; 
    WORD   wPhase1Dir; 
	WORD   wSensorMode;
	double dfOffset;
} HOME_CONFIG;

typedef struct _ENCODER_CONFIG
{              
    WORD wType;
    WORD wAInverse;
    WORD wBInverse;
    WORD wCInverse;
    WORD wABSwap;
	WORD wPaddle[3];
} ENCODER_CONFIG;

typedef struct _SYS_MACH_PARAM
{
	WORD		   wPosToEncoderDir;
	WORD		   wRPM;
	DWORD		   dwPPR;
	double		   dfPitch;
	double		   dfGearRatio;
	double		   dfHighLimit;
	double		   dfLowLimit;
	double		   dfHighLimitOffset;
	double		   dfLowLimitOffset;

	WORD		   wPulseMode;
	WORD           wPulseWidth;
	WORD           wCommandMode;
	WORD           wPaddle;

	HOME_CONFIG    stHome; 

	ENCODER_CONFIG stEncoder;

	WORD           wOverTravelUpSensorMode;
	WORD           wOverTravelDownSensorMode;
} SYS_MACH_PARAM;


#include "MCCL_Fun.h"

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -