#pragma once #include "Global_Define.h" #define HARDWARE_SETTING_PATH _T("C:\\RCutProject\\Config\\Hardware.had") // 硬件设置路径 #define KEY_BASIC _T("Software\\RCutProject\\BASIC\\") // 设置注册表路径 #define MAX_CNC_COUNT 6 // 最大数控数量 #define MAX_NCUT_STAGE_COUNT 12 // NCUT最大阶段数 #define MAX_CCUT_STAGE_COUNT 1 // CCUT最大阶段数 #define MAX_ECUT_STAGE_COUNT 1 // ECUT最大阶段数 #define MAX_FEEDBACK_STAGE MAX_NCUT_STAGE_COUNT + MAX_CCUT_STAGE_COUNT + MAX_ECUT_STAGE_COUNT //最大反馈阶段 #define MAC_SPINDLE_COUNT 6 //最大主轴数量 #define MAX_INS_PC 4 #define START_IP_ADDRESS 100 // 起始IP地址 class CPLCSettings { public: CPLCSettings(void); virtual ~CPLCSettings(void); CPLCSettings& operator=(CPLCSettings& rhs); public: void Reset(); BOOL ReadHardwareSettingsFile(CConfig *pFile); BOOL WriteHardwareSettingsFile(CConfig *pFile); BOOL ReadHardwareSettingsRegistry(CConfig *pFile); BOOL WriteHardwareSettingsRegistry(CConfig *pFile); protected: CString GetFileString(void *pValue); public: int m_nPLCLoopTime; //PLC循环时间 }; class CSoftSettings { public: CSoftSettings(void); virtual ~CSoftSettings(void); CSoftSettings& operator=(CSoftSettings& rhs); public: void Reset(); BOOL ReadHardwareSettingsFile(CConfig *pFile); BOOL WriteHardwareSettingsFile(CConfig *pFile); BOOL ReadHardwareSettingsRegistry(CConfig *pFile); BOOL WriteHardwareSettingsRegistry(CConfig *pFile); protected: CString GetFileString(void *pValue); public: BOOL m_bUseLightImageSave; BOOL m_bInsPCUse[MAX_INS_PC]; BOOL m_bUseVcrReadFail; }; class CHardwareLightSettings { public: CHardwareLightSettings(void); virtual ~CHardwareLightSettings(void); CHardwareLightSettings& operator=(CHardwareLightSettings& rhs); public: void Reset(); BOOL ReadHardwareSettingsFile(CConfig *pFile); BOOL WriteHardwareSettingsFile(CConfig *pFile); BOOL ReadHardwareSettingsRegistry(CConfig *pFile); BOOL WriteHardwareSettingsRegistry(CConfig *pFile); protected: CString GetFileString(void *pValue); public: int m_nIndex; int m_nPort; LIGHT_TYPE m_emType; LIGHT_MAKER m_emMaker; }; class CCameraSettings { public: CCameraSettings(void); virtual ~CCameraSettings(void); CCameraSettings& operator=(CCameraSettings& rhs); public: void Reset(); BOOL ReadHardwareSettingsFile(CConfig *pFile); BOOL WriteHardwareSettingsFile(CConfig *pFile); BOOL ReadHardwareSettingsRegistry(CConfig *pFile); BOOL WriteHardwareSettingsRegistry(CConfig *pFile); protected: CString GetFileString(void *pValue); public: int m_iCamera; int m_iScan; CSize m_FrameSize; int m_nMarginLeft; int m_nMarginRight; double m_dConvResolution[MAX_STAGE_HAND_COUNT]; double m_dScanResolution[MAX_STAGE_HAND_COUNT]; int m_nLightIdx_R; int m_nLightIdx_R_Ch; int m_nLightIdx_T; int m_nLightIdx_T_Ch; CAMERA_DIR m_enCamDir; CAMERA_INSPECTION_DIR m_enInspectDir; CAMERA_SCANDIR m_eScanDir; DimensionDir m_eDimension; int m_nGrabFrameCount; BOOL m_nImgFlipx; }; class CHardwareSettings { public: CHardwareSettings(void); virtual ~CHardwareSettings(void); CHardwareSettings& operator=(CHardwareSettings& rhs); public: void Reset(); BOOL ReadHardwareSettingsFile(CString strFile); BOOL ReadHardwareSettingsRegistry(); BOOL WriteHardwareSettingsFile(CString strFile); BOOL WriteHardwareSettingsRegistry(); CString GetLineID(){return m_strLineID;} protected: CString GetFileString(void *pValue); // Light public: void SetLightCount(int nCountTrans,int nCountReflect); CHardwareLightSettings *GetLightSettings(){return m_pLightSettings;} CHardwareLightSettings *GetLightSettings(int iLight); BOOL SetLightSettings(CHardwareLightSettings *pLight); public: int m_nLightCount_Trans; int m_nLightCount_Reflect; CHardwareLightSettings *m_pLightSettings; // Camera public: int GetCameraCount(){return m_nCameraCount;} int GetScanCount(){return m_nScanCount;} BOOL SetCameraCount(int nCameraCount,int nScanCount); CCameraSettings *GetCameraSettings(){return m_pCameraSettings;} CCameraSettings *GetCameraSettings(int iCamera,int iScan); BOOL SetCameraSettings(CCameraSettings *pCamera); int GetScanToDimension(DimensionDir eDir); CAMERA_SCANDIR GetScanToScanDir(int iCam,int iScan); int GetCameraIndexToDimension(DimensionDir eDir); // PLC public: CPLCSettings *GetPLCSettings(){return &m_PLCSettings;} void SetPLCSettings(CPLCSettings *pPLC){m_PLCSettings=*pPLC;} public: int m_nCameraCount; int m_nScanCount; int m_nPLCSignalRetry; BOARD_TYPE m_nBoardType; CCameraSettings *m_pCameraSettings; CPLCSettings m_PLCSettings; CString m_strLineID; BOOL m_bInsDirReverse; int m_nFolderRemoveDay; BOOL m_bUseColorVisual; BOOL m_bUseCoordProfile; // Software public: CSoftSettings *GetSoftSettings(){return &m_SoftWareSettings;} CSoftSettings m_SoftWareSettings; public: BOOL m_bUseFreerun; int m_nFreerunPeriod; int m_nFreerunExposureTime; public: BOOL GetTriggerBoardUse() {return m_bTriggerBoardUse;} BOOL GetCoordProfileUse() { return m_bUseCoordProfile; } int GetTriggerBoardComport() {return m_nTriggerBoardComport;} BOOL m_bTriggerBoardUse; int m_nTriggerBoardComport; public: int m_nFullImageCompressRatio; };