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
#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;
};