소스 검색

同步代码

JonYang 5 일 전
부모
커밋
55c1064537

BIN
Output/bin/x64/Control.dll


BIN
Output/bin/x64/Control.pdb


BIN
Output/bin/x64/Module.dll


BIN
Output/bin/x64/Module.pdb


BIN
Output/bin/x64/configurations.db


BIN
Output/config/db/Hardware.db


BIN
Output/config/db/ModuleConfig.db


BIN
Output/dll/x64/Control.dll


BIN
Output/dll/x64/Module.dll


+ 5 - 22
Output/inc/Control/CViewInterface.h

@@ -3,13 +3,15 @@
 #include "Machine.h"
 #include "CDieBondFsm.h"
 #include "CMessageBox.h"
-
+#include "dt.h"
 #pragma comment(lib,"CLog.lib")
 #pragma comment(lib,"Module.lib")
 #pragma comment(lib,"Control.lib")
 
 namespace ns_module
 {
+	typedef MATERIAL_BOX_VIEW_STRUCT MATERIAL_BOX_STRUCT;
+
 	struct ST_BUTTON_FUN
 	{
 		int nId;    // 0~12
@@ -25,26 +27,7 @@ namespace ns_module
 		double pos;
 	};
 
-	// 枚举定义:料盒的状态
-	enum BoxStatus {
-		Idle,       // 空闲
-		Occupied,   // 已占用
-	};
-
-	typedef struct
-	{
-		int iCurrLayers;                //当前工作层
-		int iLayersTotal;               //总层数
-		int iTopLev;                    //最上层高度
-		int iBottomLev;                 //最下层高度
-		XY_DOUBLE_STRUCT stPos;         //料盒位置;
-		int iStatas[32];                //每层状态,0表示空,1表示有料。
-		int iLength;                    //料盒长度
-		int iLeight;                    //料盒高度
-		int iWall;                      //侧壁厚
-		int iTopWall;                   //上壁厚
-		int iBelowWall;                 //下壁厚
-	}MATERIAL_BOX_STRUCT;
+	
 
 	enum NOZZLE_STATUS {
 		NOZZLE_EXIST,/*存在*/
@@ -358,7 +341,7 @@ namespace ns_module
 		/// </summary>
 		/// <param name="stPointInfo">晶圆信息</param>
 		/// <returns>成功返回0,否则返回错误码</returns>
-		long GetMaterialBoxAllPointInfo(vector<MATERIAL_BOX_STRUCT>& stPointInfo);
+		long GetMaterialBoxAllPointInfo(std::vector <MATERIAL_BOX_STRUCT>& stPointInfo);
 
 		/// <summary>
 		/// 移动到指定的层

+ 2 - 2
Output/inc/Module/CAxis.h

@@ -42,8 +42,8 @@ private:
 
 	bool m_bIsInitSuccess = false;
 
-	UINT m_iHomeTime = 100000;				//回零等待时间(秒)
-	UINT m_iFastTime = 10000;				//快速等待时间(秒)
+	UINT m_iHomeTime = 500000;				//回零等待时间(秒)
+	UINT m_iFastTime = 50000;				//快速等待时间(秒)
 	UINT m_iMediumTime = 50000;				//中速等待时间(秒)
 	UINT m_iSlowTime = 100000;				//慢速等待时间(秒)
 	UINT m_iLastWaitTime = 100000;			//上次移动的等待时间

+ 33 - 0
Output/inc/Module/CCalibrationConfig.h

@@ -30,6 +30,24 @@
 namespace ns_db
 {
 
+	//struct NozzleCalibParam
+	//{
+	//	int nNozzleId = 0;
+	//	XY_DOUBLE_STRUCT stRotCenter = { 0,0 }; //吸嘴对应的旋转中心X
+	//	XY_DOUBLE_STRUCT stBHHighCameraToNozzle = { 0,0 };
+	//	XY_DOUBLE_STRUCT stBHLowCameraToNozzle = { 0,0 };
+	//	XY_DOUBLE_STRUCT stWHCameraToNozzle = { 0,0 };
+	//	bool bIsRotationCalib = false;	//已校准标记
+	//	bool bIsHighCTDCalib = false;		//已校准标记
+	//	bool bIsLowCTDCalib = false;         //已校准标记
+	//	int nRTempID = 0;                   //旋转中心标定吸嘴模板ID
+	//	//int nCTDBHLookUpTempID = 0;           //CTD标定上视模板ID
+	//	//int nCTDHighBondTempID = 0;             //CTD标定固晶相机模板ID
+	//	//int nCTDLowBondTempID = 0;             //CTD标定固晶相机模板ID
+	//	int nCTDWHNozzleTempID = 0;             //华夫盒取晶头上视相机
+
+	//};
+
     class DLL_CALIB_CONFIG_API CCalibrationConfig : public CDataBaseOperate
     {
 	public:
@@ -90,6 +108,21 @@ namespace ns_db
 		LONG SetForceCalibParam(vector<MODULE_CONFIG_STRUCT> vecconfig);
 		LONG SetForceCalibParam(vector<CONFIG_BASE_STRUCT> vecconfig);
 
+#pragma endregion 
+
+#pragma region 吸嘴相关标定结果
+
+		//vector<NozzleCalibParam> m_vetNozzleCalibParam;
+
+		//LONG LoadNozzleCalibParam(vector<NozzleCalibParam>& nozzleParam);
+		//LONG SaveCalibForceParam();
+		////LONG SaveCalibForceParam(int headID, string name, FORCE_CONTROL VecCalib_R);
+
+		//LONG GetNozzleCalibParam(int index, NozzleCalibParam& param);
+		//LONG SetNozzleCalibParam(int index, NozzleCalibParam param);
+
+#pragma endregion
+
 //#pragma region BondHighCamera
 //	private:
 //		std::vector<CONFIG_BASE_STRUCT>  m_vecConfig_BondHighCamera;

+ 2 - 0
Output/inc/Module/CEutecticHead.h

@@ -26,6 +26,8 @@ public:
 	CEutecticHead(MODULE_LIST eModuleType);
 	~CEutecticHead();
 
+	virtual LONG AllocateIo(vector<CIO*> vecIo) override;
+
 	virtual void SetHighCamera(CCameraBase* camera)override { m_pHighCamera = camera; }
 
 	CXYCalib* GetHighCameraCalib() { return m_pHighXYCalib; }

+ 2 - 1
Output/inc/Module/CHardwareList.h

@@ -70,6 +70,7 @@ enum MODULE_LIST {
 	Load1,							//ÉÏÁÏ
 	Unload1,						//ÏÂÁÏ
 	NozzleTable,					//Îü×ì¼Ü
+	MaterialBox1,					//ÁϺÐ
 
 	Module_Type_Max
 };
@@ -90,7 +91,7 @@ const static std::map<MODULE_LIST, std::string> g_mapModuleList = {
 	{Load1,"Load1"},
 	{Unload1,"Unload1"},
 	{NozzleTable,"NozzleTable"},
-	//{UltraHead,"UltraHead"},
+	{MaterialBox1,"MaterialBox1"},
 };
 
 

+ 57 - 0
Output/inc/Module/CMaterialBox.h

@@ -0,0 +1,57 @@
+#pragma once
+#include "CModule.h"
+
+// 枚举定义:料盒的状态
+enum BOX_STATUS {
+	Lev_Idle = 1,       // 空闲
+	Lev_Occupied,   // 已占用
+};
+
+typedef struct
+{
+	int iCurrLayers;                //当前工作层
+	int iLayersTotal;               //总层数
+	double iTopLev;                 //最上层高度 um
+	double iBottomLev;              //最下层高度 um
+	XY_DOUBLE_STRUCT stPos;         //料盒位置;
+	std::vector<BOX_STATUS> iStatas;         //每层状态
+	int iLength;                    //料盒长度 um
+	int iLeight;                    //料盒高度 um
+	int iWall;                      //侧壁厚   um
+	int iTopWall;                   //上壁厚   um
+	int iBelowWall;                 //下壁厚   um
+}MATERIAL_BOX_VIEW_STRUCT;
+
+typedef struct
+{
+	MATERIAL_BOX_VIEW_STRUCT stBoxView;
+	string strStatas;				//每层状态,用逗号分割
+	double dSaftPos;
+}MATERIAL_BOX_CONFIG_STRUCT;
+
+class __declspec(dllexport) CMaterialBox : public CModule
+{
+public:
+	CMaterialBox(MODULE_LIST eModuleType);
+    ~CMaterialBox(){}
+
+	virtual LONG AllocateAxis(vector<CAxis*> vecAxis) override;
+	virtual LONG AllocateIo(vector<CIO*> vecIo) override;
+
+	virtual LONG ToHome() override;
+	virtual LONG Sync() override;
+	virtual LONG ToSafePosition() override;
+	virtual LONG InitResource() override;
+
+	MATERIAL_BOX_VIEW_STRUCT GetMaterialBoxInfo();
+private:
+	CAxis* m_pZAxis = nullptr;
+	MATERIAL_BOX_CONFIG_STRUCT m_stConfig;
+
+	void DataChangNotice(string strDbName, string strTableName);
+
+	virtual void SetDataChangFunction() override;
+	virtual LONG SetParam() override;//保存配置参数
+	virtual LONG GetParam() override;//加载配置参数
+};
+

+ 11 - 0
Output/inc/Module/CModuleConfig.h

@@ -25,6 +25,7 @@ namespace ns_db
 #define WAFFLEHEAD_CONFIG_TABLE_NAME				"WaffleHead"
 #define EJECTOR_CONFIG_TABLE_NAME					"Ejector"
 #define WAFERTABLE_CONFIG_TABLE_NAME				"WaferTable"
+#define MATERIAL_BOX_CONFIG_TABLE_NAME				"MaterialBox"
 #define WAFER_CALIB_TABLE_CONFIG_TABLE_NAME			"WaferCalibTable"
 #define WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME		"WaffleCalibTable"
 #define BOND_TABLE_CONFIG_TABLE_NAME				"BondTable"
@@ -145,6 +146,16 @@ private:
 		LONG SetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
 #pragma endregion
 
+#pragma region MaterialBox
+	private:
+		std::vector<CONFIG_BASE_STRUCT>  m_vecConfig_MaterialBox;
+	public:
+		LONG GetConfigParam_MaterialBox(vector<MODULE_CONFIG_STRUCT>* vecconfig);
+		vector<CONFIG_BASE_STRUCT> GetConfigParam_MaterialBox() { return m_vecConfig_MaterialBox; };
+		LONG SetConfigParam_MaterialBox(vector<CONFIG_BASE_STRUCT> vecconfig);
+		LONG SetConfigParam_MaterialBox(vector<MODULE_CONFIG_STRUCT> vecconfig);
+#pragma endregion
+		
 #pragma region CalibTable
 	private:
 		std::vector<CONFIG_BASE_STRUCT>  m_vecConfig_WaferCalibTable;

+ 4 - 0
Output/inc/Module/Machine.h

@@ -21,6 +21,7 @@
 #include "CWaferHead.h"
 #include "CUltraHead.h"
 #include "CEutecticHead.h"
+#include "CMaterialBox.h"
 
 #ifdef C_MACHINE_EXPORTS
 #define C_MACHINE_DLL_API __declspec(dllexport)
@@ -66,6 +67,8 @@ public:
 	CTransferTable* GetWaferCalibTable() { return m_pWaferTransferTable; }
 	CTransferTable* GetWaffleCalibTable() { return m_pWaffleTransferTable; }
 	CNozzleTable* GetNozzleTable() { return m_pNozzleTable; }
+	CMaterialBox* GetMaterialBox() {return m_pMaterialBox;}
+
 	//CForceControl* GetBHForce() { return m_pBondHeadForce; }
 	//CForceControl* GetWaferForce() { return m_pWaferHeadForce; }
 	CVerticalMeasure* GetVerticalMeasure() { return m_pVerMeasure; }
@@ -144,6 +147,7 @@ private:
 	CTransferTable* m_pWaffleTransferTable = nullptr;
 	CBondTable* m_pBondTable = nullptr;
 	CNozzleTable* m_pNozzleTable = nullptr;
+	CMaterialBox* m_pMaterialBox = nullptr;
 
 	CForceControl* m_pBondHeadForce = nullptr;
 	CForceControl* m_pWaferHeadForce = nullptr;

BIN
Output/lib/x64/Common.lib


BIN
Output/lib/x64/Control.lib


BIN
Output/lib/x64/Module.lib


+ 2 - 2
View/die-bonder-ui/CameraMaterialGroupWnd/MaterialWindow/MaterialBox.cpp

@@ -147,8 +147,8 @@ void MaterialBox::UpdataGenerateTestData()
         32,      // iLayersTotal
         100,    // iTopLev
         50,     // iBottomLev
-        {15.5, 20.3}, // 补全所有子成员
-        {1,0,1,1,0},
+        {15.5, 20.3}//, // 补全所有子成员
+        //{1,0,1,1,0},
         // ...后续成员保持相同
     };
 }

+ 7 - 2
View/die-bonder-ui/SBTdie-bonder-ui.vcxproj

@@ -205,6 +205,9 @@
       <QtUicDir>$(ProjectDir)</QtUicDir>
       <QtUicFileName>ui_%(Filename).h</QtUicFileName>
     </QtUic>
+    <QtTranslation>
+      <BuildAction>false</BuildAction>
+    </QtTranslation>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="CameraDistribute.cpp" />
@@ -465,6 +468,8 @@
     <None Include="images\deep\pen.png" />
     <None Include="images\light\pen.png" />
     <None Include="images\LightGroup\red.png" />
+    <None Include="Src\Res\qss\dark.qss" />
+    <None Include="Src\Res\qss\light.qss" />
     <QtRcc Include="res.qrc">
     </QtRcc>
     <None Include="images\deep\ruler.png" />
@@ -484,8 +489,8 @@
     <None Include="configurations.db" />
   </ItemGroup>
   <ItemGroup>
-    <QtTranslation Include="Src\Translate\SBT_en.ts" />
-    <QtTranslation Include="Src\Translate\SBT_zh_CN.ts" />
+    <QtTranslation Include="Src\Res\Translate\SBT_en.ts" />
+    <QtTranslation Include="Src\Res\Translate\SBT_zh_CN.ts" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">

+ 17 - 7
View/die-bonder-ui/SBTdie-bonder-ui.vcxproj.filters

@@ -136,9 +136,15 @@
     <Filter Include="Header Files\OriginalWnd\TreeViewManager">
       <UniqueIdentifier>{93dd601e-4f39-44dd-903f-b23fb65e06ef}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Source Files\Src\Translate">
+    <Filter Include="Source Files\Src\Res">
+      <UniqueIdentifier>{515cb4c7-0d78-4db4-b4e2-195e759fc376}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\Src\Res\Translate">
       <UniqueIdentifier>{f995d716-20fd-403b-ad6b-6255604a3f33}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Source Files\Src\Res\qss">
+      <UniqueIdentifier>{4ca1f675-60a2-4484-bb81-922a908ce85e}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="ImageWidget.cpp">
@@ -772,14 +778,18 @@
     <None Include="dark.qss" />
     <None Include="dark.qss" />
     <None Include="dark.qss" />
-    <None Include="dark.qss" />
-    <None Include="dark.qss" />
     <None Include="dark.qss">
       <Filter>Resource Files</Filter>
     </None>
     <None Include="dark.qss">
       <Filter>Resource Files</Filter>
     </None>
+    <None Include="Src\Res\qss\dark.qss">
+      <Filter>Source Files\Src\Res\qss</Filter>
+    </None>
+    <None Include="Src\Res\qss\light.qss">
+      <Filter>Source Files\Src\Res\qss</Filter>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <None Include="configurations.db">
@@ -836,11 +846,11 @@
     </QtMoc>
   </ItemGroup>
   <ItemGroup>
-    <QtTranslation Include="Src\Translate\SBT_en.ts">
-      <Filter>Source Files\Src\Translate</Filter>
+    <QtTranslation Include="Src\Res\Translate\SBT_en.ts">
+      <Filter>Source Files\Src\Res\Translate</Filter>
     </QtTranslation>
-    <QtTranslation Include="Src\Translate\SBT_zh_CN.ts">
-      <Filter>Source Files\Src\Translate</Filter>
+    <QtTranslation Include="Src\Res\Translate\SBT_zh_CN.ts">
+      <Filter>Source Files\Src\Res\Translate</Filter>
     </QtTranslation>
   </ItemGroup>
 </Project>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 272 - 126
View/die-bonder-ui/Src/Res/Translate/SBT_en.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 166 - 166
View/die-bonder-ui/Src/Res/Translate/SBT_zh_CN.ts


+ 3 - 3
View/die-bonder-ui/Src/SystemInfoPage/SystemInfoPage.cpp

@@ -8,9 +8,9 @@ SystemInfoPage::SystemInfoPage(QWidget *parent)
 {
     ui->setupUi(this);
 
-    languageWnd = new LanguageSwitchWnd();
+    m_pLanguageWnd = new LanguageSwitchWnd();
 
-    connect(languageWnd, &LanguageSwitchWnd::languageChanged,
+    connect(m_pLanguageWnd, &LanguageSwitchWnd::languageChanged,
         this, &SystemInfoPage::languageChanged);
 
     InitWnd();
@@ -23,6 +23,6 @@ SystemInfoPage::~SystemInfoPage()
 
 void SystemInfoPage::InitWnd()
 {
-    ui->tabUi->addTab(languageWnd, tr("Language Switch", "语言切换"));
+    ui->tabUi->addTab(m_pLanguageWnd, tr("Language Switch", "语言切换"));
     ui->tabUi->addTab(new AccountMaintenanceWnd(), tr("Account Maintenance", "账户维护"));
 }

+ 2 - 1
View/die-bonder-ui/Src/SystemInfoPage/SystemInfoPage.h

@@ -23,7 +23,8 @@ signals:
 
 private:
     Ui::SystemInfoPage *ui;
-    LanguageSwitchWnd* languageWnd = nullptr;
+
+    LanguageSwitchWnd* m_pLanguageWnd = nullptr;
 };
 
 #endif // SYSTEMINFOPAGE_H

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.