LWQ
2025-08-07 c049c2fdf2f5722e460d0dc5c7597bf819f2e2e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
#pragma once
 
#include "Config.h"
#include "Global_Define.h"
 
#define    HARDWARE_SETTING_PATH                _T("c:\\EdgeInspector_App\\Config\\HardwareSetting.cfg")        // cfg 立辟 版肺汲沥
#define HARDWARE_SETTING_BACKUP_DIR_PATH    _T("c:\\EdgeInspector_App\\Config\\Backup")
#define    KEY_BASIC                            _T("Software\\EdgeInspector_App\\BASIC\\")                        // 饭瘤胶飘府 立辟 版肺汲沥
#define MAX_CNC_COUNT                        6
#define MAX_NCUT_STAGE_COUNT                12
#define MAX_CCUT_STAGE_COUNT                1
#define MAX_ECUT_STAGE_COUNT                1
#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
 
 
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;
};
 
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 strFilePath);
    BOOL                        ReadHardwareSettingsRegistry();
    BOOL                        WriteHardwareSettingsFile(CString strFilePath);
    BOOL                        WriteHardwareSettingsRegistry();
    CString                        GetMachineName(){return m_strMachineName;}
    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_strMachineName;
    CString                        m_strLineID;        
    BOOL                        m_bInsDirReverse;
    int                            m_nFolderRemoveDay;
    BOOL                        m_bUseColorVisual;
    int                            m_nSaveImageQuality;
 
    // Software
public:
    CSoftSettings                *GetSoftSettings(){return &m_SoftWareSettings;}        
    CSoftSettings                m_SoftWareSettings;
 
public:
    BOOL                        m_bUseFreerun;
    int                            m_nFreerunPeriod;
    int                            m_nFreerunExposureTime;
 
public:
    BOOL                        m_bUse_MvsolTriggerControl;
    int                            m_nPort_MvsolTriggerControl;
 
public:
    BOOL                        m_bUse_SaveDebugImage;
    BOOL                        m_bUse_SaveDLDefectImage;
 
public:
    BOOL                        m_bSaveResultByHour;
 
public:
    BOOL                        m_bEnableAutoCopy;
    CString                        m_strCopyToolExePath;
    CString                        m_strCopyToolConfigPath;
 
    BOOL                        m_bEnableAutoDelete;
    CString                        m_strDeleteToolExePath;
    CString                        m_strDeleteToolConfigPath;
};