1、合并master与2021.1

This commit is contained in:
xiejunjie
2021-12-03 11:25:35 +08:00
parent dc07b8879b
commit 4bd7d1b80b
981 changed files with 384342 additions and 6470 deletions
@@ -11,7 +11,7 @@
#include "..\Tools\UsbUtility\logger.h"
#include "CMD_H.h"
#include "..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Include\lusb0_usb.h"
#include "..\Tools\UsbUtility\MachineInterfaceDll\MachineInterfaceDll.h"
#include "SO7_Proto_Def.h"
#define MAX_BUFF_SIZE 0x200
@@ -69,6 +69,8 @@
const long MAX_INTENSITY = 0x3FF;
#define MAXLIGHTVALUE 255
#define MINLIGHTVALUE 1
const double SCALE_UNITS = 1000.0;
enum EMACHINETYPE
{
MACHINE_SO7_CONTROLLER,
@@ -82,6 +84,7 @@ enum EFirmwareVer
FirmwareVer_7_X,
FirmwareVer_7_9,//add control mode
FirmwareVer_7_A,//add segment dis
FirmwareVer_7_C,//different speed para
FirmwareVer_8_X,
FirmwareVer_9_X,
FirmwareVer_Total
@@ -157,23 +160,34 @@ typedef struct s_so7_axis // axis parameters
} SO7AXIS;
struct s_so7_axis_config // axis configuration
{
double _motor_precision;//set precision
double _motor_wheelbase;//set wheelbase
char _speed_base[5];
char _speed_fresh[5];
char _speed_start[5];
char _speed_max[5];
double _speed_slow_dis[5];
double _motor_precision;//set precision
double _motor_wheelbase;//set wheelbase
char _speed_base[5];
char _speed_fresh[5];
char _speed_start[5];
char _speed_max[5];
double _speed_slow_dis[5];
double _MoveToSpeed[2];
double _MotionSpeedScale;
long _MotionSegmentDis[3];
long _scale_range;
double _neg_working_limit;
double _pos_working_limit;
long _scale_range;
double _neg_working_limit;
double _pos_working_limit;
double _scale_resolution;
bool _bhomed;
bool _bhomed;
double _dMinSpeed;
double _dMaxSpeed;
double _dMinAccel;
double _dMaxAccel;
};
struct s_so7_R_axis_config // rotary configuration
{
INT m_RotaryAxisNO;
double m_RotaryCircleDis;
double m_RotaryCirclePulse;
};
struct s_so7_zm_axis_config // zm configuration
{
@@ -200,11 +214,21 @@ struct s_so7_zm_axis_config // zm configuration
};
struct s_so7_machine_interface_config
{
BOOL _EnCloseLoop;
int _RetryTimes;
double _ShiftPositionX;
double _ShiftPositionY;
double _ShiftPositionZ;
//=====MOTION=====================
double m_DestinationX;
double m_DestinationY;
double m_DestinationZ;
double m_PrecisionX;
double m_PrecisionY;
double m_PrecisionZ;
int m_RetryTimes;
int m_MotionRetryCnt;
double m_ShiftPositionX;
double m_ShiftPositionY;
double m_ShiftPositionZ;
BOOL m_EnCloseLoop;
char m_MotionType;
char GetInterruptMsgMethod;
INT m_WriteDataSleepTime;
INT m_AccuraErrPulseX;
@@ -213,20 +237,91 @@ struct s_so7_machine_interface_config
INT m_EQUIDIS_X;
INT m_EQUIDIS_Y;
INT m_EQUIDIS_Z;
INT m_FirmWareVersion;
INT m_CNC_Deadlock_Solution;
INT m_CNC_Deadlock_JudgeMaxCnts;
INT m_TouchProbeEnable;
INT m_FootSwitchEnable;
INT m_JoyStickEnable;
INT m_bJoyStickEnable;
INT m_bTrigIOEnable;
INT m_iTrigHoldTimeCnts;
INT m_iMotionStartCnts[5];
INT m_iMotionStopCnts[5];
INT m_DeviceSleepTime;
INT m_iHomeMode;
INT m_STIL_CCS_PRIMA_Enable;
INT m_DebugOutputEnable;
INT m_SDK3000_CntThreadSleepVal;
INT m_SV4000E_DenoisePara[4];
INT m_MachineType;
INT m_VideoCardType;
INT m_RotaryAxisNO;
double m_RotaryCircleDis;
double m_RotaryCirclePulse;
INT m_ART_PCI8622_Enable;
INT m_bMoveToEnable;
INT m_bMoveToCount;
INT m_bDebugOutputEnable;
double m_AxisResolution[3];
//===PROBE SYSTEM=========
INT m_bOptexCD5Enable;
INT m_iOptexCD5ComPort;
INT m_iOptexCD5BaudRate;
INT m_iLJVSleepTime;
INT m_iLJGSleepTime;
//===ILLUMINATION=========
INT m_iSo7IllumType;
INT m_iSo7IllumComPort;
INT m_iSo7IllumBaudRate;
INT m_iSo7IllumResponseTime;
INT m_iSo7DoubleSurface;
//===VIDEOCARD======
int m_IsVideocardVacant;
INT m_CntThreadSleepVal;
INT m_SV4000E_DenoisePara[4];
//===NavitarAutoZoom======
int m_ZoomType; //scf
int Navitar_Precision;
int Navitar_SerialComPort;
double Navitar_ZoomStartPos;
double Navitar_ZoomEndPos;
double Navitar_ZoomOrgPos;
double Navitar_ZoomDeadband;
double Navitar_ZoomScale;
int Navitar_iReadingInterval;
short Navitar_MotorSpeedFast;
short Navitar_MotorSpeedSlow;
int Navitar_Motor_GoHomeV;
double Navitar_ZoomBackPos;
int Navitar_SleepTime;
int Navitar_Timeout;
int Navitar_ZoomPosSpeed;
int Navitar_ZoomPosSpeed_Accurate;
int Navitar_ZoomFinishPos;
int Navitar_ZoomFinishCnts;
int SerialComPort;
double ZoomStartPos;
double ZoomEndPos;
double ZoomOrgPos;
double ZoomDeadband;
double ZoomScale;
int iReadingInterval;
short MotorSpeedFast;
short MotorSpeedSlow;
//=========MSI======
int m_MachineType;
int m_VideoCardType;
BOOL m_EnJudgeMotionStatus;
BOOL m_DisableControllerMotionStatus;
//===TEMPERATURE=========
INT m_iSo7TempSensorEnable;
INT m_iSo7TempComPort;
INT m_iSo7TempBaudRate;
//===SYS=================
INT m_iFreeMemoryInterval;
INT m_iTestDll_Enable;
//===PORT=================
INT m_isOpenIO;
//===Setposition Pos=================
double m_PositionX;
double m_PositionY;
double m_PositionZ;
};
//======================
@@ -276,12 +371,12 @@ struct struct_so7_machine
struct s_machine_config
{
double _dXYZSpeed;
struct s_so7_axis_config x_axis;
struct s_so7_axis_config y_axis;
struct s_so7_axis_config z_axis;
struct s_so7_axis_config z_axis;
struct s_so7_R_axis_config r_axis;
struct s_so7_zm_axis_config zm_axis;
struct s_so7_machine_interface_config motion;
} s_machine_config;
struct s_status
{
@@ -316,6 +411,7 @@ struct struct_so7_machine
char cVerNumber;
char InterruptFlag[2];
char FPGAData;
char MotionType;
char InPortStatus;
int _motor_pulse_num;
char FirmwareInfo[10];
@@ -323,9 +419,9 @@ struct struct_so7_machine
char GetInterruptMsg[20][2];
BOOL IsOffline;
BOOL IsSupportReadInterrputMsg;
double dRotaryCirclDis;
double dRotaryCirDisTestZSig;
char SEQ_NUMBER;
char MotionType;
int MotionFinishedCnts;
BOOL MotionFinished;
char Arm_MotionStartCnts[5];
@@ -336,6 +432,8 @@ struct struct_so7_machine
struct s_so7_axis z;
struct s_so7_axis zm;
struct s_so7_trigger_pulse TrigPara;
char cIOStatus;
int bMotionType;
};
#define SEVENOCEAN_VID 0x4532
@@ -397,6 +495,7 @@ struct struct_so7_ep_buff
};
//======================================================================================
class CEF1AUsbDevice;
class CSO7_Proto
{
public:
@@ -420,10 +519,11 @@ public:
// Global Structures
static struct_so7_ep_buff ep_buff[lEPSIZE];
static struct_so7_machine g_machine;
static struct s_so7_machine_interface_config g_so7_config;
int Get_SeqNumber(usb_dev_handle *udev);
SSI_STATUS_MOTION Init_SO7Usb();
SSI_STATUS_MOTION Init_SO7Usb(HWND _hwnd=nullptr);
SSI_STATUS_MOTION Exit_SO7Usb();
usb_dev_handle* _open_usb_dev(unsigned short sSeqNumber=256);
@@ -436,6 +536,7 @@ public:
static double TimeInSecs(void);
static CLogger* g_pLogger;
static usb_dev_handle *g_dev;
bool m_bHomingActive;
@@ -453,10 +554,13 @@ public:
SSI_STATUS_MOTION _replay_capture(CString cFileName);
SSI_STATUS_MOTION _process_replay_capture_commands(char *inBuff, FILE* pInFile);
SSI_STATUS_MOTION Load_SevenOcean_Inifile(CString csSO7INIFile);
SSI_STATUS_MOTION Save_SevenOcean_Inifile(CString csSO7INIFile);
SSI_STATUS_MOTION Load_So7_Config(int _FileName=0);
SSI_STATUS_MOTION Save_So7_Config();
SSI_STATUS_MOTION Load_So7_Motion_Inifile(CString csSO7INIFile);
SSI_STATUS_MOTION Save_So7_Motion_Inifile(CString csSO7INIFile);
SSI_STATUS_MOTION Load_So7_Motion_Config(int _LoadType = 0);
SSI_STATUS_MOTION Save_So7_Motion_Config(int _SaveType = 0);
SSI_STATUS_MOTION Load_So7_Config_Inifile(int _LoadType = 0);
SSI_STATUS_MOTION Save_So7_Config_Inifile();
SSI_STATUS_MOTION GetAppPath(CString &Path);
SSI_STATUS_MOTION ExtractAppPath(CString &Path);
@@ -478,8 +582,8 @@ public:
SSI_STATUS_MOTION so7_motion_laser_on_off(bool _bOnOff);
SSI_STATUS_MOTION so7_motion_fixture_on_off(bool _bOnOff);
SSI_STATUS_MOTION so7_motion_fixture_up_down(bool _bOnOff);
SSI_STATUS_MOTION so7_config_para_set_default();
SSI_STATUS_MOTION so7_motion_reset_controller_parameter();
SSI_STATUS_MOTION so7_config_cfg_set_default_para();
SSI_STATUS_MOTION so7_motion_cfg_set_default_para();
SSI_STATUS_MOTION _get_xyz_index(long & lX, long & lY, long & lZ);
SSI_STATUS_MOTION so7_motion_jog(EMACHINE_AXIS cAxis,char cSpeedGear);
@@ -488,6 +592,7 @@ public:
SSI_STATUS_MOTION so7_Motion_XYZ_IsMotionFinished(bool &bFinished);
BOOL IsMotionFinishedManual(BOOL _BResetCnts=FALSE);
SSI_STATUS_MOTION so7_motion_set_speed_percent(EMACHINE_AXIS cAxis, char cSpeedGear, double dSpeedPercent,double dAccelPercent);
SSI_STATUS_MOTION so7_motion_set_speed_xyz(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis);
SSI_STATUS_MOTION so7_motion_get_speed_xyz(double &dPercentSpeed);
SSI_STATUS_MOTION so7_motion_set_position_R(double dR,bool bWait);
@@ -499,7 +604,9 @@ public:
SSI_STATUS_MOTION so7_motion_clear_finished_flag();
SSI_STATUS_MOTION so7_motion_set_all_speed_para();
void so7_motion_set_speed_accel_range();
SSI_STATUS_MOTION so7_motion_get_all_speed_para();
SSI_STATUS_MOTION so7_motion_set_all_so7_config();
SSI_STATUS_MOTION _calculate_straightline_motion(double dSpeedMM);
@@ -584,6 +691,10 @@ public:
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_CONTROL_MODE(char axis_type);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_MOTION_SEGMENT_DIS(char axis_type,char _SegmentIndex,long _lDis);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_MOTION_SEGMENT_DIS(char axis_type,char _SegmentIndex);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_EXTRA_IO(int nIONmmber,char bValue);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_EXTRA_IO(int nIONumber);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_MOTION_TYPE(BOOL type);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_MOTION_TYPE();
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X();
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_Y();
@@ -627,7 +738,14 @@ public:
static SSI_STATUS_MOTION _process_SO7_CMD_GET_MOTION_CNTS();
static SSI_STATUS_MOTION _process_SO7_CMD_GET_CONTROL_MODE();
static SSI_STATUS_MOTION _process_SO7_CMD_GET_MOTION_SEGMENT_DIS(BYTE axis_type,BYTE _SegmentIndex);
static SSI_STATUS_MOTION _process_SO7_CMD_GET_EXTRA_IO_STATUS();
static SSI_STATUS_MOTION _process_SO7_CMD_SET_EXTRA_IO_STATUS();
static SSI_STATUS_MOTION _process_SO7_CMD_SET_MOTION_TYPE();
static SSI_STATUS_MOTION _process_SO7_CMD_GET_MOTION_TYPE();
CEF1AUsbDevice *g_EF1AUsbDevice;
bool isEF1AController;
bool m_bIoStatus;
void so7_load_ef1a_config(int _LoadType);
};
#endif