commit
c3a96b249b
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,92 @@
|
||||
#include "CassMappingManage.h"
|
||||
|
||||
CassMappingManage::CassMappingManage(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CassMappingManage::~CassMappingManage()
|
||||
{
|
||||
}
|
||||
|
||||
JudgeCassMappingType CassMappingManage::ReadLeftCassStatus()
|
||||
{
|
||||
bool isRing = false;
|
||||
unsigned char ring1Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(MODULE_0, SENSOR_CASS1_RING1);
|
||||
unsigned char ring2Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(MODULE_0, SENSOR_CASS1_RING2);
|
||||
if (ring1Flag == 1 && ring2Flag == 1)
|
||||
{
|
||||
isRing = true;
|
||||
}
|
||||
|
||||
bool isWafer = false;
|
||||
unsigned char wafer1Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(MODULE_0, SENSOR_CASS1_WAFER1);
|
||||
unsigned char wafer2Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(MODULE_0, SENSOR_CASS1_WAFER2);
|
||||
unsigned char wafer3Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(MODULE_0, SENSOR_CASS1_WAFER3);
|
||||
if (wafer1Flag == 1 && wafer2Flag == 1 && wafer3Flag == 1)
|
||||
{
|
||||
isWafer = true;
|
||||
}
|
||||
if (isRing && isWafer)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_ERROR;
|
||||
}
|
||||
if (isRing)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_RING;
|
||||
}
|
||||
if (isWafer)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_WAFER;
|
||||
}
|
||||
return CASS_MAPPING_TYPE_NONE;
|
||||
}
|
||||
|
||||
bool CassMappingManage::ReadCassMappingData(int loadportId, std::vector<char>& MappingData)
|
||||
{
|
||||
return GlobalObjCenter::GetInstance()->m_jelManageObj.MappingCass(loadportId, MappingData);
|
||||
}
|
||||
|
||||
JudgeCassMappingType CassMappingManage::JudgeAllCassStatus()
|
||||
{
|
||||
JudgeCassMappingType cass1Status = GetOneCassStatus(MODULE_0, SENSOR_CASS1_RING1, SENSOR_CASS1_RING2,
|
||||
SENSOR_CASS1_WAFER1, SENSOR_CASS1_WAFER2, SENSOR_CASS1_WAFER3);
|
||||
JudgeCassMappingType cass2Status = GetOneCassStatus(MODULE_0, SENSOR_CASS3_RING1, SENSOR_CASS3_RING2,
|
||||
SENSOR_CASS3_WAFER1, SENSOR_CASS3_WAFER2, SENSOR_CASS3_WAFER3);
|
||||
|
||||
if (cass1Status == CASS_MAPPING_TYPE_RING && cass2Status == CASS_MAPPING_TYPE_RING)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_RING;
|
||||
}
|
||||
if (cass1Status == CASS_MAPPING_TYPE_WAFER && cass2Status == CASS_MAPPING_TYPE_WAFER)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_WAFER;
|
||||
}
|
||||
return CASS_MAPPING_TYPE_ERROR;
|
||||
}
|
||||
|
||||
JudgeCassMappingType CassMappingManage::GetOneCassStatus(int GugaoModuleId, int ringSensor1, int ringSensor2, int waferSensor1, int waferSensor2, int waferSensor3)
|
||||
{
|
||||
bool isRing = false;
|
||||
if (GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver == nullptr)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_ERROR;
|
||||
}
|
||||
unsigned char ring1Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(GugaoModuleId, ringSensor1);
|
||||
unsigned char ring2Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(GugaoModuleId, ringSensor2);
|
||||
if (ring1Flag == 1 && ring2Flag == 1)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_RING;
|
||||
}
|
||||
|
||||
bool isWafer = false;
|
||||
unsigned char wafer1Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(GugaoModuleId, waferSensor1);
|
||||
unsigned char wafer2Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(GugaoModuleId, waferSensor2);
|
||||
unsigned char wafer3Flag = GlobalObjCenter::GetInstance()->m_gugaoCardObj.m_motorDriver->ReadDi(GugaoModuleId, waferSensor3);
|
||||
if (wafer1Flag == 1 && wafer2Flag == 1 && wafer3Flag == 1)
|
||||
{
|
||||
return CASS_MAPPING_TYPE_WAFER;
|
||||
}
|
||||
|
||||
return CASS_MAPPING_TYPE_ERROR;
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "GlobalTypeDefine.h"
|
||||
#include "GlobalObjCenter.h"
|
||||
|
||||
class CassMappingManage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassMappingManage(QObject *parent = nullptr);
|
||||
~CassMappingManage();
|
||||
|
||||
public:
|
||||
JudgeCassMappingType ReadLeftCassStatus();
|
||||
bool ReadCassMappingData(int loadportId, std::vector<char>& MappingData);
|
||||
JudgeCassMappingType JudgeAllCassStatus();
|
||||
|
||||
private:
|
||||
JudgeCassMappingType GetOneCassStatus(int GugaoModuleId, int ringSensor1, int ringSensor2, int waferSensor1, int waferSensor2, int waferSensor3);
|
||||
};
|
||||
@ -0,0 +1,114 @@
|
||||
#include "CassMappingUI.h"
|
||||
|
||||
CassMappingUI::CassMappingUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slot_recipeChange(int)));
|
||||
connect(ui.pushButton_cassMapping, SIGNAL(clicked()), this, SLOT(slot_cassMapping()));
|
||||
|
||||
m_allLayerBtnVec = {
|
||||
ui.pushButton_1, ui.pushButton_2, ui.pushButton_3, ui.pushButton_4, ui.pushButton_5,
|
||||
ui.pushButton_6, ui.pushButton_7, ui.pushButton_8, ui.pushButton_9, ui.pushButton_10,
|
||||
ui.pushButton_11, ui.pushButton_12, ui.pushButton_13, ui.pushButton_14, ui.pushButton_15,
|
||||
ui.pushButton_16, ui.pushButton_17, ui.pushButton_18, ui.pushButton_19, ui.pushButton_20,
|
||||
ui.pushButton_21, ui.pushButton_22, ui.pushButton_23, ui.pushButton_24, ui.pushButton_25,};
|
||||
for (auto& iter : m_allLayerBtnVec) {
|
||||
connect(iter, SIGNAL(clicked()), this, SLOT(slot_selectCurLayer()));
|
||||
}
|
||||
}
|
||||
|
||||
CassMappingUI::~CassMappingUI()
|
||||
{
|
||||
}
|
||||
|
||||
void CassMappingUI::InitCassMappingUI()
|
||||
{
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCurLayer = -1;
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCassMappingType = CASS_MAPPING_TYPE_NONE;
|
||||
m_allRecipePPIDList.clear();
|
||||
|
||||
GlobalDataCenter::GetInstance()->m_configFlineObj.ReadAllRecipe();
|
||||
for (auto& iter : GlobalDataCenter::GetInstance()->m_configFlineObj.m_allRecipe)
|
||||
{
|
||||
m_allRecipePPIDList << iter.m_PPID;
|
||||
}
|
||||
m_recipeModel.setStringList(m_allRecipePPIDList);
|
||||
ui.comboBox->setModel(&m_recipeModel);
|
||||
ui.comboBox->setCurrentIndex(0);
|
||||
|
||||
for (auto& iter : m_allLayerBtnVec) {
|
||||
iter->setEnabled(false);
|
||||
iter->setStyleSheet("QPushButton { background-color: rgb(168, 221, 255);}");
|
||||
}
|
||||
|
||||
JudgeCassMappingType cassStatus = m_cassMappingManagerObj.JudgeAllCassStatus();
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCassMappingType = cassStatus;
|
||||
}
|
||||
|
||||
void CassMappingUI::slot_cassMapping()
|
||||
{
|
||||
//TODO:正式运行时放开
|
||||
/*if (!(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType == CASS_MAPPING_TYPE_RING ||
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCassMappingType == CASS_MAPPING_TYPE_WAFER))
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->ShowMyMessageBox(QString::fromLocal8Bit("料盒异常,请查看"));
|
||||
return;
|
||||
}*/
|
||||
std::vector<char> MappingData;
|
||||
bool isOk = m_cassMappingManagerObj.ReadCassMappingData(POS_CASS_LEFT, MappingData);
|
||||
if (!isOk)
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->ShowMyMessageBox(QString::fromLocal8Bit("料盒扫描异常,请查看"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (MappingData.size() <= 25)
|
||||
{
|
||||
for (int i = 0; i < MappingData.size(); i++)
|
||||
{
|
||||
if (MappingData[i] == 1)
|
||||
{
|
||||
m_allLayerBtnVec[i]->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_allLayerBtnVec[i]->setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CassMappingUI::slot_selectCurLayer()
|
||||
{
|
||||
QPushButton* curClickButton = qobject_cast<QPushButton*>(sender());
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCurLayer = curClickButton->text().toInt();
|
||||
for (auto& iter : m_allLayerBtnVec)
|
||||
{
|
||||
if (iter->text() == curClickButton->text())
|
||||
{
|
||||
iter->setStyleSheet("QPushButton { background-color: rgb(200, 0, 0);}");
|
||||
emit signal_sendCurLayer(curClickButton->text().toInt());
|
||||
}
|
||||
else
|
||||
{
|
||||
iter->setStyleSheet("QPushButton { background-color: rgb(168, 221, 255);}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CassMappingUI::slot_recipeChange(int index)
|
||||
{
|
||||
QString ppid = ui.comboBox->currentText();
|
||||
for (auto& iter : GlobalDataCenter::GetInstance()->m_configFlineObj.m_allRecipe)
|
||||
{
|
||||
if (iter.m_PPID == ppid)
|
||||
{
|
||||
GlobalDataCenter::GetInstance()->m_oneStepCurRecipe = iter;
|
||||
|
||||
emit signal_sendCurRecipePPID(ppid);;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include "ui_CassMappingUI.h"
|
||||
#include <QStringList>
|
||||
#include <QStringListModel>
|
||||
#include "GlobalDataCenter.h"
|
||||
#include "GlobalObjCenter.h"
|
||||
#include "GlobalFuncCenter.h"
|
||||
#include "CassMappingManage.h"
|
||||
|
||||
class CassMappingUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassMappingUI(QWidget *parent = Q_NULLPTR);
|
||||
~CassMappingUI();
|
||||
|
||||
signals:
|
||||
void signal_sendCurRecipePPID(QString ppid);
|
||||
void signal_sendCurLayer(int curlayer);
|
||||
|
||||
public slots:
|
||||
void slot_recipeChange(int index);
|
||||
void slot_cassMapping();
|
||||
void slot_selectCurLayer();
|
||||
|
||||
public:
|
||||
void InitCassMappingUI();
|
||||
|
||||
private:
|
||||
Ui::CassMappingUI ui;
|
||||
|
||||
QStringList m_allRecipePPIDList;
|
||||
QStringListModel m_recipeModel;
|
||||
std::vector<QPushButton*> m_allLayerBtnVec;
|
||||
|
||||
CassMappingManage m_cassMappingManagerObj;
|
||||
};
|
||||
@ -0,0 +1,639 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CassMappingUI</class>
|
||||
<widget class="QWidget" name="CassMappingUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1627</width>
|
||||
<height>1048</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>CassMappingUI</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<y>90</y>
|
||||
<width>1401</width>
|
||||
<height>761</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="2,8">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_loadport.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>请选择Recipe</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_cassMapping">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>扫描</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="spacing">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="pushButton_1">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="pushButton_6">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="pushButton_8">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="pushButton_7">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="pushButton_9">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>9</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QPushButton" name="pushButton_10">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>10</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="pushButton_11">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>11</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="pushButton_13">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>13</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="pushButton_12">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>12</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QPushButton" name="pushButton_14">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>14</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QPushButton" name="pushButton_16">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>16</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QPushButton" name="pushButton_15">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>15</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QPushButton" name="pushButton_17">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>17</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QPushButton" name="pushButton_20">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>20</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QPushButton" name="pushButton_21">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>21</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QPushButton" name="pushButton_18">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>18</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QPushButton" name="pushButton_19">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>19</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QPushButton" name="pushButton_24">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>24</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="4">
|
||||
<widget class="QPushButton" name="pushButton_25">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>25</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QPushButton" name="pushButton_23">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>23</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QPushButton" name="pushButton_22">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>22</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
<include location="Debonding.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -0,0 +1,78 @@
|
||||
#include "CassToPlatFormThread.h"
|
||||
#include "GlobalDataCenter.h"
|
||||
|
||||
CassToPlatFormThread::CassToPlatFormThread(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CassToPlatFormThread::~CassToPlatFormThread()
|
||||
{
|
||||
}
|
||||
|
||||
void CassToPlatFormThread::SetcassToPlatFormFlag(bool flag)
|
||||
{
|
||||
m_CassToPTMutex.lock();
|
||||
m_cassToPlatFormThreadStartRun = flag;
|
||||
m_CassToPTMutex.unlock();
|
||||
}
|
||||
|
||||
bool CassToPlatFormThread::ReadCassToPlatFormFlag()
|
||||
{
|
||||
bool flag = false;
|
||||
m_CassToPTMutex.lock();
|
||||
flag = m_cassToPlatFormThreadStartRun;
|
||||
m_CassToPTMutex.unlock();
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
void CassToPlatFormThread::InitCassToPlatFormThread()
|
||||
{
|
||||
m_cassToPlatFormThread = std::thread(&CassToPlatFormThread::ThreadFunc_CassToPlatForm, this);
|
||||
}
|
||||
|
||||
void CassToPlatFormThread::StartRunCassToPlatFormThread()
|
||||
{
|
||||
if (!GlobalDataCenter::GetInstance()->JudgeCassWaferIsAllWorkEnd())
|
||||
{
|
||||
GlobalDataCenter::GetInstance()->UpdateCassWaferThreadStatus(WAFER_THREAD_STATUS_NONE, STATUS_CASS_TO_DEBONDING_PT);
|
||||
|
||||
GlobalDataCenter::GetInstance()->SetJelIsBusy(true);
|
||||
SetcassToPlatFormFlag(true);
|
||||
}
|
||||
}
|
||||
|
||||
void CassToPlatFormThread::ThreadFunc_CassToPlatForm()
|
||||
{
|
||||
while (m_cassToPlatFormThreadIsRun)
|
||||
{
|
||||
|
||||
while (!ReadCassToPlatFormFlag())
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||
}
|
||||
|
||||
std::cout << "----start CassToPlatForm" << std::endl;
|
||||
|
||||
WaferAttr waferObj = GlobalDataCenter::GetInstance()->GetCurThreadStatusWaferAttr(STATUS_CASS_TO_DEBONDING_PT);
|
||||
bool isSuccess = m_cassToPtObj.OneLoadingCassToPT(waferObj.cassType, waferObj.slot);
|
||||
if (!isSuccess)
|
||||
{
|
||||
GlobalDataCenter::GetInstance()->m_IsContinueExecuteCommand = false;
|
||||
return;
|
||||
}
|
||||
//ÑÓʱģÄâÔËÐÐ
|
||||
//std::this_thread::sleep_for(std::chrono::seconds(9));
|
||||
|
||||
SetcassToPlatFormFlag(false);
|
||||
GlobalDataCenter::GetInstance()->SetJelIsBusy(false);
|
||||
|
||||
emit signal_sendCassToPlatFormEnd();
|
||||
|
||||
|
||||
std::cout << "----end CassToPlatForm" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <thread>
|
||||
#include <QMutex>
|
||||
#include "CassToPtManager.h"
|
||||
|
||||
class CassToPlatFormThread : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassToPlatFormThread(QObject *parent = NULL);
|
||||
~CassToPlatFormThread();
|
||||
|
||||
bool CassToPlatFormThreadIsRun() { return m_cassToPlatFormThreadIsRun; }
|
||||
void CassToPlatFormThreadIsRun(bool val) { m_cassToPlatFormThreadIsRun = val; }
|
||||
|
||||
void SetcassToPlatFormFlag(bool flag);
|
||||
bool ReadCassToPlatFormFlag();
|
||||
|
||||
signals:
|
||||
void signal_sendCassToPlatFormEnd();
|
||||
|
||||
public:
|
||||
//初始化从料盒到平台线程
|
||||
void InitCassToPlatFormThread();
|
||||
|
||||
//开始运行料盒到平台线程
|
||||
void StartRunCassToPlatFormThread();
|
||||
|
||||
public:
|
||||
void ThreadFunc_CassToPlatForm();
|
||||
|
||||
private:
|
||||
std::thread m_cassToPlatFormThread;
|
||||
|
||||
//线程是否结束
|
||||
bool m_cassToPlatFormThreadIsRun = true;
|
||||
|
||||
//开始运行线程标志
|
||||
bool m_cassToPlatFormThreadStartRun = false;
|
||||
QMutex m_CassToPTMutex;
|
||||
|
||||
CassToPtManager m_cassToPtObj;
|
||||
};
|
||||
@ -0,0 +1,104 @@
|
||||
#include "CassToPtManager.h"
|
||||
#include "OneStepCommonFunc.h"
|
||||
|
||||
CassToPtManager::CassToPtManager(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CassToPtManager::~CassToPtManager()
|
||||
{
|
||||
}
|
||||
|
||||
bool CassToPtManager::OneLoadingCassToPT(JudgeCassMappingType cassType, int cassSlot)
|
||||
{
|
||||
DevicePosDefine cassPos = GlobalFuncCenter::GetInstance()->GetAlignCassType(cassType);
|
||||
|
||||
|
||||
std::vector<RunActionCommand> CassToPTCommandVec;
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CASS_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = POS_CASS_LEFT;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_ALIGN;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = cassPos;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_DO_ALIGN;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_ALIGN_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = cassPos;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_PT_MOVE_TO_LOADPOS;
|
||||
commandObj.m_cassType = cassType;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_PT;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = POS_PLATFORM;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_PT_PREPARE;
|
||||
CassToPTCommandVec.push_back(commandObj);
|
||||
|
||||
for (auto iter : CassToPTCommandVec)
|
||||
{
|
||||
if (GlobalDataCenter::GetInstance()->m_IsContinueExecuteCommand)
|
||||
{
|
||||
bool isSuccess = iter.ExecuteCommand();
|
||||
if (!isSuccess)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CassToPtManager::LoadingCassToJel(JudgeCassMappingType cassType, int cassIndex, int cassSlot)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CASS_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = POS_CASS_LEFT;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CassToPtManager::LoadingPTMoveToLoadPos(JudgeCassMappingType cassType)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_PT_MOVE_TO_LOADPOS;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CassToPtManager::LoadingJelToPT(JudgeCassMappingType cassType, int cassIndex, int cassSlot)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_PT;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = POS_PLATFORM;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CassToPtManager::LoadingPTPrepare()
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_PT_PREPARE;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "GlobalObjCenter.h"
|
||||
#include "GlobalFuncCenter.h"
|
||||
|
||||
class CassToPtManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassToPtManager(QObject *parent = nullptr);
|
||||
~CassToPtManager();
|
||||
|
||||
public:
|
||||
//一键上料,料盒到平台
|
||||
bool OneLoadingCassToPT(JudgeCassMappingType cassType, int cassSlot);
|
||||
|
||||
//分步执行一键上料
|
||||
bool LoadingCassToJel(JudgeCassMappingType cassType, int cassIndex, int cassSlot);
|
||||
bool LoadingPTMoveToLoadPos(JudgeCassMappingType cassType);
|
||||
bool LoadingJelToPT(JudgeCassMappingType cassType, int cassIndex, int cassSlot);
|
||||
bool LoadingPTPrepare();
|
||||
};
|
||||
@ -0,0 +1,135 @@
|
||||
#include "CassToPtUI.h"
|
||||
#include "OneStepCommonFunc.h"
|
||||
|
||||
CassToPtUI::CassToPtUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
connect(ui.pushButton_cassToJel, SIGNAL(clicked()), this, SLOT(slot_cassToJel()));
|
||||
connect(ui.pushButton_jelToAlign, SIGNAL(clicked()), this, SLOT(slot_jelToAlign()));
|
||||
connect(ui.pushButton_doAlign, SIGNAL(clicked()), this, SLOT(slot_doAlign()));
|
||||
connect(ui.pushButton_alignToJel, SIGNAL(clicked()), this, SLOT(slot_alignToJel()));
|
||||
connect(ui.pushButton_PTToLoadPos, SIGNAL(clicked()), this, SLOT(slot_PTToLoadPos()));
|
||||
connect(ui.pushButton_JelToPT, SIGNAL(clicked()), this, SLOT(slot_JelToPT()));
|
||||
connect(ui.pushButton_PTPrepare, SIGNAL(clicked()), this, SLOT(slot_PTPrepare()));
|
||||
|
||||
connect(ui.pushButton_CassToPT, SIGNAL(clicked()), this, SLOT(slot_CassToPT()));
|
||||
|
||||
m_allCassToPTButtonVec = { ui.pushButton_cassToJel, ui.pushButton_jelToAlign, ui.pushButton_doAlign, ui.pushButton_alignToJel,
|
||||
ui.pushButton_PTToLoadPos, ui.pushButton_JelToPT, ui.pushButton_PTPrepare, ui.pushButton_CassToPT };
|
||||
}
|
||||
|
||||
CassToPtUI::~CassToPtUI()
|
||||
{
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_cassToJel()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_cassToJel);
|
||||
m_processFlag = 1;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_jelToAlign()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_jelToAlign);
|
||||
m_processFlag = 2;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_doAlign()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_doAlign);
|
||||
m_processFlag = 3;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_alignToJel()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_alignToJel);
|
||||
m_processFlag = 4;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_PTToLoadPos()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_PTToLoadPos);
|
||||
m_processFlag = 5;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_JelToPT()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_JelToPT);
|
||||
m_processFlag = 6;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_PTPrepare()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_PTPrepare);
|
||||
m_processFlag = 7;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::slot_CassToPT()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCassToPTButtonVec, ui.pushButton_CassToPT);
|
||||
m_processFlag = 8;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CassToPtUI::ThreadFunc_CassToPTFunc()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->SendRunTipSignal(COMMON_RUN_TIP);
|
||||
|
||||
DevicePosDefine cassPos = GlobalFuncCenter::GetInstance()->GetAlignCassType(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
if (cassPos == POS_ERROR)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (m_processFlag == 1)
|
||||
{
|
||||
m_cassToPTManage.LoadingCassToJel(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType,
|
||||
POS_CASS_LEFT, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
else if (m_processFlag == 2)
|
||||
{
|
||||
OneStepCommonFunc::GetInstance()->JelToAlign(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType,
|
||||
cassPos, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
else if (m_processFlag == 3)
|
||||
{
|
||||
OneStepCommonFunc::GetInstance()->DoAlign(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
}
|
||||
else if (m_processFlag == 4)
|
||||
{
|
||||
OneStepCommonFunc::GetInstance()->AlignToJel(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType, cassPos, 1);
|
||||
}
|
||||
else if (m_processFlag == 5)
|
||||
{
|
||||
m_cassToPTManage.LoadingPTMoveToLoadPos(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
}
|
||||
else if (m_processFlag == 6)
|
||||
{
|
||||
m_cassToPTManage.LoadingJelToPT(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType,
|
||||
POS_PLATFORM, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
else if (m_processFlag == 7)
|
||||
{
|
||||
m_cassToPTManage.LoadingPTPrepare();
|
||||
}
|
||||
else if (m_processFlag == 8)
|
||||
{
|
||||
m_cassToPTManage.OneLoadingCassToPT(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
|
||||
GlobalFuncCenter::GetInstance()->SendRunTipSignal(COMMON_END_TIP);
|
||||
}
|
||||
|
||||
void CassToPtUI::bindThreadFunc()
|
||||
{
|
||||
m_cassToPtThread = std::thread(&CassToPtUI::ThreadFunc_CassToPTFunc, this);
|
||||
m_cassToPtThread.detach();
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include <thread>
|
||||
#include "ui_CassToPtUI.h"
|
||||
#include "CassToPtManager.h"
|
||||
#include "GlobalFuncCenter.h"
|
||||
|
||||
class CassToPtUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassToPtUI(QWidget *parent = Q_NULLPTR);
|
||||
~CassToPtUI();
|
||||
|
||||
public slots:
|
||||
void slot_cassToJel();
|
||||
void slot_jelToAlign();
|
||||
void slot_doAlign();
|
||||
void slot_alignToJel();
|
||||
void slot_PTToLoadPos();
|
||||
void slot_JelToPT();
|
||||
void slot_PTPrepare();
|
||||
|
||||
void slot_CassToPT();
|
||||
|
||||
private:
|
||||
void ThreadFunc_CassToPTFunc();
|
||||
void bindThreadFunc();
|
||||
|
||||
private:
|
||||
Ui::CassToPtUI ui;
|
||||
|
||||
std::vector<QPushButton*> m_allCassToPTButtonVec;
|
||||
|
||||
CassToPtManager m_cassToPTManage;
|
||||
|
||||
int m_processFlag = -1;
|
||||
std::thread m_cassToPtThread;
|
||||
};
|
||||
@ -0,0 +1,419 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CassToPtUI</class>
|
||||
<widget class="QWidget" name="CassToPtUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1874</width>
|
||||
<height>1225</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>CassToPtUI</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>80</y>
|
||||
<width>1692</width>
|
||||
<height>854</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="2,8">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_loadport.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_down.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_platform.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_cassToJel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>料盒到机械手</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_jelToAlign">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>机械手到准直器</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_doAlign">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>执行准直</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_alignToJel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>准直器到机械手</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_PTToLoadPos">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>平台到上料位</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_JelToPT">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>机械手到平台</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_PTPrepare">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>平台准备</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_CassToPT">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>一键上料</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
<include location="Debonding.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -0,0 +1,50 @@
|
||||
#include "CassUI.h"
|
||||
|
||||
CassUI::CassUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
InitCassUI();
|
||||
}
|
||||
|
||||
CassUI::~CassUI()
|
||||
{
|
||||
m_cass1Vec.clear();
|
||||
m_cass3Vec.clear();
|
||||
}
|
||||
|
||||
void CassUI::InitCassUI()
|
||||
{
|
||||
for (int i = 0; i < CASS_LAYER; i++)
|
||||
{
|
||||
int curLayer = CASS_LAYER - i;
|
||||
|
||||
std::shared_ptr<MyCassLayerRect> rectObj1 = std::make_shared<MyCassLayerRect>(
|
||||
0,
|
||||
510 / CASS_LAYER * i,
|
||||
510,
|
||||
510 / CASS_LAYER);
|
||||
rectObj1->setBrush(INIT_COLOR);
|
||||
rectObj1->m_layerNum = curLayer;
|
||||
m_cass1Vec.push_back(rectObj1);
|
||||
m_cass1Scene.addItem(rectObj1.get());
|
||||
ui.graphicsView_cass1->setScene(&m_cass1Scene);
|
||||
}
|
||||
|
||||
for (int i = 0; i < CASS_LAYER; i++)
|
||||
{
|
||||
int curLayer = CASS_LAYER - i;
|
||||
|
||||
std::shared_ptr<MyCassLayerRect> rectObj1 = std::make_shared<MyCassLayerRect>(
|
||||
0,
|
||||
510 / CASS_LAYER * i,
|
||||
510,
|
||||
510 / CASS_LAYER);
|
||||
rectObj1->setBrush(INIT_COLOR);
|
||||
rectObj1->m_layerNum = curLayer;
|
||||
m_cass3Vec.push_back(rectObj1);
|
||||
m_cass3Scene.addItem(rectObj1.get());
|
||||
ui.graphicsView_cass3->setScene(&m_cass3Scene);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include <memory>
|
||||
#include "ui_CassUI.h"
|
||||
#include "MyCassLayerRect.h"
|
||||
#include "GlobalTypeDefine.h"
|
||||
|
||||
class CassUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CassUI(QWidget *parent = Q_NULLPTR);
|
||||
~CassUI();
|
||||
|
||||
private:
|
||||
void InitCassUI();
|
||||
|
||||
private:
|
||||
Ui::CassUI ui;
|
||||
|
||||
std::vector<std::shared_ptr<MyCassLayerRect>> m_cass1Vec;
|
||||
std::vector<std::shared_ptr<MyCassLayerRect>> m_cass3Vec;
|
||||
|
||||
QGraphicsScene m_cass1Scene;
|
||||
QGraphicsScene m_cass3Scene;
|
||||
};
|
||||
@ -0,0 +1,15 @@
|
||||
#include "CleanMachineManage.h"
|
||||
|
||||
CleanMachineManage::CleanMachineManage(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CleanMachineManage::~CleanMachineManage()
|
||||
{
|
||||
}
|
||||
|
||||
bool CleanMachineManage::OneStartClean()
|
||||
{
|
||||
return GlobalObjCenter::GetInstance()->m_cleanMachineObj.ExecuteCommand(CleanMachineExportManage::COMMON_START_CLEAN);
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "GlobalObjCenter.h"
|
||||
|
||||
class CleanMachineManage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleanMachineManage(QObject *parent = nullptr);
|
||||
~CleanMachineManage();
|
||||
|
||||
public:
|
||||
bool OneStartClean();
|
||||
|
||||
};
|
||||
@ -0,0 +1,84 @@
|
||||
#include "CleanToCassManage.h"
|
||||
|
||||
CleanToCassManage::CleanToCassManage(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CleanToCassManage::~CleanToCassManage()
|
||||
{
|
||||
}
|
||||
|
||||
bool CleanToCassManage::CleanPTPrepare(JudgeCassMappingType cassType)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CLEANPT_PREPATE;
|
||||
commandObj.m_cassType = cassType;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CleanToCassManage::CleanToJel(JudgeCassMappingType cassType)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CLEAN_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CleanToCassManage::JelToCass(JudgeCassMappingType cassType, int cassSlot)
|
||||
{
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_CASS;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
return commandObj.ExecuteCommand();
|
||||
}
|
||||
|
||||
bool CleanToCassManage::OneCleanToCass(JudgeCassMappingType cassType, int cassSlot)
|
||||
{
|
||||
std::vector<RunActionCommand> commandVec;
|
||||
RunActionCommand commandObj;
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CLEANPT_PREPATE;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_CLEAN_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandVec.push_back(commandObj);
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_ALIGN;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = GlobalFuncCenter::GetInstance()->GetAlignCassType(cassType);
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_DO_ALIGN;
|
||||
commandObj.m_cassType = cassType;
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_ALIGN_TO_JEL;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassIndex = GlobalFuncCenter::GetInstance()->GetAlignCassType(cassType);
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
|
||||
commandObj.m_commandType = RunActionCommand::COMMAND_JEL_TO_CASS;
|
||||
commandObj.m_cassType = cassType;
|
||||
commandObj.m_cassSlot = cassSlot;
|
||||
commandVec.push_back(commandObj);
|
||||
|
||||
for (auto iter : commandVec)
|
||||
{
|
||||
if (GlobalDataCenter::GetInstance()->m_IsContinueExecuteCommand)
|
||||
{
|
||||
bool isSuccess = iter.ExecuteCommand();
|
||||
if (!isSuccess)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "GlobalObjCenter.h"
|
||||
|
||||
class CleanToCassManage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleanToCassManage(QObject *parent = nullptr);
|
||||
~CleanToCassManage();
|
||||
|
||||
public:
|
||||
bool CleanPTPrepare(JudgeCassMappingType cassType);
|
||||
bool CleanToJel(JudgeCassMappingType cassType);
|
||||
bool JelToCass(JudgeCassMappingType cassType, int cassSlot);
|
||||
|
||||
bool OneCleanToCass(JudgeCassMappingType cassType, int cassSlot);
|
||||
};
|
||||
@ -0,0 +1,118 @@
|
||||
#include "CleanToCassUI.h"
|
||||
#include "OneStepCommonFunc.h"
|
||||
CleanToCassUI::CleanToCassUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
connect(ui.pushButton_cleanPTPrepare, SIGNAL(clicked()), this, SLOT(slot_cleanPTPrepare()));
|
||||
connect(ui.pushButton_cleanToJel, SIGNAL(clicked()), this, SLOT(slot_cleanToJel()));
|
||||
connect(ui.pushButton_jelToAlign, SIGNAL(clicked()), this, SLOT(slot_jelToAlign()));
|
||||
connect(ui.pushButton_doAlign, SIGNAL(clicked()), this, SLOT(slot_doAlign()));
|
||||
connect(ui.pushButton_alignToJel, SIGNAL(clicked()), this, SLOT(slot_alignToJel()));
|
||||
connect(ui.pushButton_JelToCass, SIGNAL(clicked()), this, SLOT(slot_JelToCass()));
|
||||
connect(ui.pushButton_cleanToCass, SIGNAL(clicked()), this, SLOT(slot_cleanToCass()));
|
||||
|
||||
m_allCleanToCassBtnVec = { ui.pushButton_cleanPTPrepare, ui.pushButton_cleanToJel, ui.pushButton_JelToCass, ui.pushButton_cleanToCass,
|
||||
ui.pushButton_jelToAlign, ui.pushButton_doAlign, ui.pushButton_alignToJel};
|
||||
}
|
||||
|
||||
CleanToCassUI::~CleanToCassUI()
|
||||
{
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_cleanPTPrepare()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_cleanPTPrepare);
|
||||
m_processCleanToCassFlag = 1;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_cleanToJel()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_cleanToJel);
|
||||
m_processCleanToCassFlag = 2;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_jelToAlign()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_jelToAlign);
|
||||
m_processCleanToCassFlag = 3;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_doAlign()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_doAlign);
|
||||
m_processCleanToCassFlag = 4;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_alignToJel()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_alignToJel);
|
||||
m_processCleanToCassFlag = 5;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_JelToCass()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_JelToCass);
|
||||
m_processCleanToCassFlag = 6;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::slot_cleanToCass()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->UndateButtonColor(m_allCleanToCassBtnVec, ui.pushButton_cleanToCass);
|
||||
m_processCleanToCassFlag = 7;
|
||||
bindThreadFunc();
|
||||
}
|
||||
|
||||
void CleanToCassUI::ThreadFunc_cleanToCassFunc()
|
||||
{
|
||||
GlobalFuncCenter::GetInstance()->SendRunTipSignal(COMMON_RUN_TIP);
|
||||
|
||||
DevicePosDefine cassPos = GlobalFuncCenter::GetInstance()->GetAlignCassType(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
if (cassPos == POS_ERROR)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (m_processCleanToCassFlag == 1)
|
||||
{
|
||||
m_cleanToCassObj.CleanPTPrepare(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
}
|
||||
if (m_processCleanToCassFlag == 2)
|
||||
{
|
||||
m_cleanToCassObj.CleanToJel(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType);
|
||||
}
|
||||
if (m_processCleanToCassFlag == 3)
|
||||
{
|
||||
OneStepCommonFunc::GetInstance()->JelToAlign(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType,
|
||||
cassPos, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
if (m_processCleanToCassFlag == 4)
|
||||
{
|
||||
|
||||
}
|
||||
if (m_processCleanToCassFlag == 5)
|
||||
{
|
||||
|
||||
}
|
||||
else if (m_processCleanToCassFlag == 6)
|
||||
{
|
||||
m_cleanToCassObj.JelToCass(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
else if (m_processCleanToCassFlag == 7)
|
||||
{
|
||||
m_cleanToCassObj.OneCleanToCass(GlobalDataCenter::GetInstance()->m_oneStepCassMappingType, GlobalDataCenter::GetInstance()->m_oneStepCurLayer);
|
||||
}
|
||||
GlobalFuncCenter::GetInstance()->SendRunTipSignal(COMMON_END_TIP);
|
||||
}
|
||||
|
||||
void CleanToCassUI::bindThreadFunc()
|
||||
{
|
||||
m_cleanToCassThread = std::thread(&CleanToCassUI::ThreadFunc_cleanToCassFunc, this);
|
||||
m_cleanToCassThread.detach();
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include <thread>
|
||||
#include "ui_CleanToCassUI.h"
|
||||
#include "GlobalFuncCenter.h"
|
||||
#include "CleanToCassManage.h"
|
||||
|
||||
class CleanToCassUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleanToCassUI(QWidget *parent = Q_NULLPTR);
|
||||
~CleanToCassUI();
|
||||
|
||||
public slots:
|
||||
void slot_cleanPTPrepare();
|
||||
void slot_cleanToJel();
|
||||
void slot_jelToAlign();
|
||||
void slot_doAlign();
|
||||
void slot_alignToJel();
|
||||
void slot_JelToCass();
|
||||
void slot_cleanToCass();
|
||||
|
||||
private:
|
||||
void ThreadFunc_cleanToCassFunc();
|
||||
void bindThreadFunc();
|
||||
|
||||
private:
|
||||
Ui::CleanToCassUI ui;
|
||||
|
||||
CleanToCassManage m_cleanToCassObj;
|
||||
|
||||
std::vector<QPushButton*> m_allCleanToCassBtnVec;
|
||||
|
||||
int m_processCleanToCassFlag = -1;
|
||||
std::thread m_cleanToCassThread;
|
||||
};
|
||||
@ -0,0 +1,351 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CleanToCassUI</class>
|
||||
<widget class="QWidget" name="CleanToCassUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1861</width>
|
||||
<height>988</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>CleanToCassUI</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<y>80</y>
|
||||
<width>1565</width>
|
||||
<height>781</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="2,8">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_clean.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_down.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>150</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_loadport.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_cleanPTPrepare">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>清洗工作台准备</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_cleanToJel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>清洗工作台到机械手</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_jelToAlign">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>机械手到准直器</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_doAlign">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>执行准直</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_alignToJel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>准直到机械手</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_left.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_JelToCass">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>机械手到料盒</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_cleanToCass">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>一键从清洗工作台到料盒</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
<include location="Debonding.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -0,0 +1,11 @@
|
||||
#include "CleanUI.h"
|
||||
|
||||
CleanUI::CleanUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
}
|
||||
|
||||
CleanUI::~CleanUI()
|
||||
{
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include "ui_CleanUI.h"
|
||||
|
||||
class CleanUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleanUI(QWidget *parent = Q_NULLPTR);
|
||||
~CleanUI();
|
||||
|
||||
private:
|
||||
Ui::CleanUI ui;
|
||||
};
|
||||
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CleanUI</class>
|
||||
<widget class="QWidget" name="CleanUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>978</width>
|
||||
<height>733</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>CleanUI</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>310</x>
|
||||
<y>290</y>
|
||||
<width>391</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>我是清洗UI</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -0,0 +1,10 @@
|
||||
#include "CleanWorkManage.h"
|
||||
|
||||
CleanWorkManage::CleanWorkManage(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CleanWorkManage::~CleanWorkManage()
|
||||
{
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class CleanWorkManage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleanWorkManage(QObject *parent);
|
||||
~CleanWorkManage();
|
||||
};
|
||||
@ -0,0 +1,66 @@
|
||||
#include "CleaningWorkThread.h"
|
||||
|
||||
CleaningWorkThread::CleaningWorkThread(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CleaningWorkThread::~CleaningWorkThread()
|
||||
{
|
||||
}
|
||||
|
||||
void CleaningWorkThread::InitCleaningWorkThread()
|
||||
{
|
||||
m_cleaningWorkThread = std::thread(&CleaningWorkThread::ThreadFunc_CleaningWork, this);
|
||||
}
|
||||
|
||||
void CleaningWorkThread::StartRunCleaningWorkThread()
|
||||
{
|
||||
SetCleaningWorkkFlag(true);
|
||||
}
|
||||
|
||||
void CleaningWorkThread::SetCleaningWorkkFlag(bool flag)
|
||||
{
|
||||
m_cleaningWorkMutex.lock();
|
||||
m_cleaningWorkThreadStartRun = flag;
|
||||
m_cleaningWorkMutex.unlock();
|
||||
}
|
||||
|
||||
bool CleaningWorkThread::ReadCleaningWorkFlag()
|
||||
{
|
||||
bool flag = false;
|
||||
m_cleaningWorkMutex.lock();
|
||||
flag = m_cleaningWorkThreadStartRun;
|
||||
m_cleaningWorkMutex.unlock();
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
void CleaningWorkThread::ThreadFunc_CleaningWork()
|
||||
{
|
||||
while (m_cleaningWorkThreadIsRun)
|
||||
{
|
||||
|
||||
while (!ReadCleaningWorkFlag())
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||
}
|
||||
|
||||
std::cout << "----start CleaningWork" << std::endl;
|
||||
|
||||
//std::this_thread::sleep_for(std::chrono::seconds(30));
|
||||
bool isSuccess = m_clearMachineObj.OneStartClean();
|
||||
if (!isSuccess)
|
||||
{
|
||||
GlobalDataCenter::GetInstance()->m_IsContinueExecuteCommand = false;
|
||||
return;
|
||||
}
|
||||
|
||||
SetCleaningWorkkFlag(false);
|
||||
|
||||
emit signal_sendCleaningWorkEnd();
|
||||
|
||||
|
||||
std::cout << "----end CleaningWork" << std::endl;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <thread>
|
||||
#include <QMutex>
|
||||
#include <iostream>
|
||||
#include "CleanMachineManage.h"
|
||||
|
||||
class CleaningWorkThread : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CleaningWorkThread(QObject *parent = nullptr);
|
||||
~CleaningWorkThread();
|
||||
|
||||
signals:
|
||||
void signal_sendCleaningWorkEnd();
|
||||
|
||||
public:
|
||||
void InitCleaningWorkThread();
|
||||
|
||||
//开始运行平台解键合线程
|
||||
void StartRunCleaningWorkThread();
|
||||
|
||||
void SetCleaningWorkkFlag(bool flag);
|
||||
bool ReadCleaningWorkFlag();
|
||||
|
||||
public:
|
||||
void ThreadFunc_CleaningWork();
|
||||
|
||||
public:
|
||||
std::thread m_cleaningWorkThread;
|
||||
|
||||
//线程是否结束
|
||||
bool m_cleaningWorkThreadIsRun = true;
|
||||
|
||||
//开始运行线程标志
|
||||
bool m_cleaningWorkThreadStartRun = false;
|
||||
QMutex m_cleaningWorkMutex;
|
||||
|
||||
private:
|
||||
CleanMachineManage m_clearMachineObj;
|
||||
};
|
||||
@ -0,0 +1,151 @@
|
||||
#include "DatabaseManage.h"
|
||||
|
||||
DatabaseManage::DatabaseManage(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
dbSqlite = QSqlDatabase::addDatabase("QSQLITE");
|
||||
}
|
||||
|
||||
DatabaseManage::~DatabaseManage()
|
||||
{
|
||||
}
|
||||
|
||||
void DatabaseManage::ModifyPaperCount(int paperCount)
|
||||
{
|
||||
QString appPath = QCoreApplication::applicationDirPath();
|
||||
QString dbPath = appPath + "/database/Debonding.db";
|
||||
|
||||
dbSqlite.setDatabaseName(dbPath); // 设置数据库文件路径
|
||||
if (dbSqlite.open()) {
|
||||
QString strSql = "UPDATE PaperManage SET paperCount = 'replace1'";
|
||||
strSql.replace("replace1", QString::number(paperCount));
|
||||
QSqlQuery sqlQuery;
|
||||
sqlQuery.exec(strSql);
|
||||
dbSqlite.close();
|
||||
}
|
||||
}
|
||||
|
||||
int DatabaseManage::ReadPaperCount()
|
||||
{
|
||||
int paperCount = 0;
|
||||
|
||||
QString appPath = QCoreApplication::applicationDirPath();
|
||||
QString dbPath = appPath + "/database/Debonding.db";
|
||||
|
||||
dbSqlite.setDatabaseName(dbPath); // 设置数据库文件路径
|
||||
if (dbSqlite.open()) {
|
||||
QSqlQuery readQuery;
|
||||
readQuery.exec("SELECT * FROM PaperManage");
|
||||
while (readQuery.next()) {
|
||||
paperCount = readQuery.value(0).toInt();
|
||||
}
|
||||
dbSqlite.close();
|
||||
}
|
||||
return paperCount;
|
||||
}
|
||||
|
||||
void DatabaseManage::SetWaferPos(WaferAttr obj)
|
||||
{
|
||||
m_waferPosMutex.lock();
|
||||
|
||||
QString appPath = QCoreApplication::applicationDirPath();
|
||||
QString dbPath = appPath + "/database/Debonding.db";
|
||||
|
||||
dbSqlite.setDatabaseName(dbPath); // 设置数据库文件路径
|
||||
if (dbSqlite.open()) {
|
||||
QString strSql = "delete from WaferPos where slot = 'replace1'";
|
||||
strSql.replace("replace1", QString::number(obj.slot));
|
||||
QSqlQuery sqlQuery;
|
||||
sqlQuery.exec(strSql);
|
||||
|
||||
strSql = "INSERT INTO WaferPos (slot, waferPos) VALUES ('replace1', 'replace2', 'replace3')";
|
||||
strSql.replace("replace1", QString::number(obj.slot));
|
||||
strSql.replace("replace2", QString::number(obj.waferCurPos));
|
||||
strSql.replace("replace3", QString::number(obj.cassType));
|
||||
sqlQuery.exec(strSql);
|
||||
dbSqlite.close();
|
||||
}
|
||||
|
||||
m_waferPosMutex.unlock();
|
||||
}
|
||||
|
||||
std::vector<WaferAttr> DatabaseManage::GetWaferPos()
|
||||
{
|
||||
std::vector<WaferAttr> rtnVec;
|
||||
|
||||
m_waferPosMutex.lock();
|
||||
|
||||
QString appPath = QCoreApplication::applicationDirPath();
|
||||
QString dbPath = appPath + "/database/Debonding.db";
|
||||
|
||||
dbSqlite.setDatabaseName(dbPath); // 设置数据库文件路径
|
||||
if (dbSqlite.open()) {
|
||||
QSqlQuery readQuery;
|
||||
readQuery.exec("SELECT * FROM WaferPos");
|
||||
while (readQuery.next()) {
|
||||
WaferAttr obj;
|
||||
obj.slot = readQuery.value(0).toInt();
|
||||
obj.waferCurPos = static_cast<DevicePosDefine>(readQuery.value(1).toInt());
|
||||
obj.cassType = static_cast<JudgeCassMappingType>(readQuery.value(2).toInt());
|
||||
rtnVec.push_back(obj);
|
||||
}
|
||||
dbSqlite.close();
|
||||
}
|
||||
m_waferPosMutex.unlock();
|
||||
return rtnVec;
|
||||
}
|
||||
|
||||
bool DatabaseManage::JudgeDeviceHaveWafer()
|
||||
{
|
||||
bool deviceHaveWaferFlag = false;
|
||||
m_waferPosMutex.lock();
|
||||
|
||||
QString appPath = QCoreApplication::applicationDirPath();
|
||||
QString dbPath = appPath + "/database/Debonding.db";
|
||||
|
||||
dbSqlite.setDatabaseName(dbPath); // 设置数据库文件路径
|
||||
if (dbSqlite.open()) {
|
||||
QSqlQuery readQuery;
|
||||
readQuery.exec("SELECT * FROM WaferPos");
|
||||
while (readQuery.next()) {
|
||||
WaferAttr obj;
|
||||
obj.slot = readQuery.value(0).toInt();
|
||||
obj.waferCurPos = static_cast<DevicePosDefine>(readQuery.value(1).toInt());
|
||||
for (auto& iter : GlobalDataCenter::GetInstance()->m_waferAllDevicePos)
|
||||
{
|
||||
if (iter == obj.waferCurPos)
|
||||
{
|
||||
deviceHaveWaferFlag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
dbSqlite.close();
|
||||
}
|
||||
m_waferPosMutex.unlock();
|
||||
return deviceHaveWaferFlag;
|
||||
}
|
||||
|
||||
bool DatabaseManage::JudgePosIsExistWafer(DevicePosDefine pos)
|
||||
{
|
||||
for (int i = 0; i < COMMON_WAIT_TIME; i++)
|
||||
{
|
||||
bool isFlag = false;
|
||||
std::vector<WaferAttr> objVec = GetWaferPos();
|
||||
for (auto& iter : objVec)
|
||||
{
|
||||
if (iter.waferCurPos == pos)
|
||||
{
|
||||
isFlag = true;
|
||||
}
|
||||
}
|
||||
if (isFlag)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::seconds(5));
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <vector>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QCoreApplication>
|
||||
#include <QVariant>
|
||||
#include <QMutex>
|
||||
#include <thread>
|
||||
#include "GlobalTypeDefine.h"
|
||||
#include "GlobalDataCenter.h"
|
||||
|
||||
class DatabaseManage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DatabaseManage(QObject *parent = nullptr);
|
||||
~DatabaseManage();
|
||||
|
||||
public:
|
||||
void ModifyPaperCount(int paperCount);
|
||||
int ReadPaperCount();
|
||||
|
||||
void SetWaferPos(WaferAttr obj);
|
||||
std::vector<WaferAttr> GetWaferPos();
|
||||
bool JudgeDeviceHaveWafer();
|
||||
|
||||
|
||||
/*
|
||||
POS_CASS_LEFT = 1, //역迦썩숩북품죕분
|
||||
POS_CASS_CENTER, //썩숩북냥묘렴쀼죕분
|
||||
POS_CASS_RIGHT, //썩숩북呵겨렴쀼죕분
|
||||
POS_ALIGN_TOP,
|
||||
POS_ALIGN_BOTTOM,
|
||||
POS_PLATFORM,
|
||||
POS_SAPARATE,
|
||||
POS_CLEANING,
|
||||
|
||||
POS_UPEER_ARM,
|
||||
POS_LOWER_ARM,
|
||||
POS_ERROR,
|
||||
*/
|
||||
bool JudgePosIsExistWafer(DevicePosDefine pos);
|
||||
|
||||
public:
|
||||
QMutex m_waferPosMutex;
|
||||
|
||||
QSqlDatabase dbSqlite;
|
||||
};
|
||||
@ -0,0 +1,113 @@
|
||||
#include "Debonding.h"
|
||||
|
||||
Debonding::Debonding(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
GlobalDataCenter::GetInstance()->m_configFlineObj.ReadAllConfigFile();
|
||||
GlobalDataCenter::GetInstance()->m_configFlineObj.ReadAllRecipe();
|
||||
GlobalFuncCenter::GetInstance();
|
||||
InitDebondingUI();
|
||||
}
|
||||
|
||||
void Debonding::slot_setmainInterface()
|
||||
{
|
||||
m_gugaoUIObj->EndFlushThread();
|
||||
|
||||
ui.stackedWidget->setCurrentWidget(m_mainInterceUIObj);
|
||||
UpdateButtonShow(ui.pushButton_mainInterface);
|
||||
}
|
||||
|
||||
void Debonding::slot_setRecipeManage()
|
||||
{
|
||||
m_gugaoUIObj->EndFlushThread();
|
||||
|
||||
m_recipeManageUIObj->InitRecipeManage();
|
||||
ui.stackedWidget->setCurrentWidget(m_recipeManageUIObj);
|
||||
UpdateButtonShow(ui.pushButton_recipeManage);
|
||||
}
|
||||
|
||||
void Debonding::slot_setOneStepDebug()
|
||||
{
|
||||
m_gugaoUIObj->EndFlushThread();
|
||||
|
||||
m_oneStepDebugUIObj->PerOneStepDebugUI();
|
||||
ui.stackedWidget->setCurrentWidget(m_oneStepDebugUIObj);
|
||||
UpdateButtonShow(ui.pushButton_OneStepDebug);
|
||||
}
|
||||
|
||||
void Debonding::slot_setGugao()
|
||||
{
|
||||
m_gugaoUIObj->StartFlushThread();
|
||||
|
||||
ui.stackedWidget->setCurrentWidget(m_gugaoUIObj);
|
||||
UpdateButtonShow(ui.pushButton_gugao);
|
||||
}
|
||||
|
||||
void Debonding::slot_transformer()
|
||||
{
|
||||
m_gugaoUIObj->EndFlushThread();
|
||||
|
||||
ui.stackedWidget->setCurrentWidget(m_transformerUIObj);
|
||||
UpdateButtonShow(ui.pushButton_transformer);
|
||||
}
|
||||
|
||||
void Debonding::slot_paramConfig()
|
||||
{
|
||||
m_gugaoUIObj->EndFlushThread();
|
||||
|
||||
m_paramConfigUIObj->InitParamConfigUI();
|
||||
ui.stackedWidget->setCurrentWidget(m_paramConfigUIObj);
|
||||
UpdateButtonShow(ui.pushButton_paramConfig);
|
||||
}
|
||||
|
||||
void Debonding::InitDebondingUI()
|
||||
{
|
||||
m_allDebudingButton = {
|
||||
ui.pushButton_mainInterface,
|
||||
ui.pushButton_recipeManage,
|
||||
ui.pushButton_OneStepDebug,
|
||||
ui.pushButton_gugao,
|
||||
ui.pushButton_transformer,
|
||||
ui.pushButton_paramConfig,
|
||||
};
|
||||
|
||||
m_mainInterceUIObj = new MainInterfaceUI();
|
||||
m_recipeManageUIObj = new RecipeManageUI();
|
||||
m_oneStepDebugUIObj = new OneStepDebugUI();
|
||||
m_gugaoUIObj = new GugaoUI();
|
||||
m_transformerUIObj = new TransformerUI();
|
||||
m_paramConfigUIObj = new ParamConfigUI();
|
||||
ui.stackedWidget->addWidget(m_mainInterceUIObj);
|
||||
ui.stackedWidget->addWidget(m_recipeManageUIObj);
|
||||
ui.stackedWidget->addWidget(m_oneStepDebugUIObj);
|
||||
ui.stackedWidget->addWidget(m_gugaoUIObj);
|
||||
ui.stackedWidget->addWidget(m_transformerUIObj);
|
||||
ui.stackedWidget->addWidget(m_paramConfigUIObj);
|
||||
|
||||
UpdateButtonShow(ui.pushButton_mainInterface);
|
||||
ui.stackedWidget->setCurrentWidget(m_mainInterceUIObj);
|
||||
|
||||
connect(ui.pushButton_mainInterface, SIGNAL(clicked()), this, SLOT(slot_setmainInterface()));
|
||||
connect(ui.pushButton_recipeManage, SIGNAL(clicked()), this, SLOT(slot_setRecipeManage()));
|
||||
connect(ui.pushButton_OneStepDebug, SIGNAL(clicked()), this, SLOT(slot_setOneStepDebug()));
|
||||
connect(ui.pushButton_gugao, SIGNAL(clicked()), this, SLOT(slot_setGugao()));
|
||||
connect(ui.pushButton_transformer, SIGNAL(clicked()), this, SLOT(slot_transformer()));
|
||||
connect(ui.pushButton_paramConfig, SIGNAL(clicked()), this, SLOT(slot_paramConfig()));
|
||||
}
|
||||
|
||||
void Debonding::UpdateButtonShow(QPushButton* curButton)
|
||||
{
|
||||
for (auto& iter : m_allDebudingButton)
|
||||
{
|
||||
if (iter == curButton)
|
||||
{
|
||||
iter->setStyleSheet("background-color: rgb(255, 242, 0);");
|
||||
}
|
||||
else
|
||||
{
|
||||
iter->setStyleSheet("background-color: rgb(168, 221, 255);");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include "ui_Debonding.h"
|
||||
#include "MainInterfaceUI.h"
|
||||
#include "OneStepDebugUI.h"
|
||||
#include "GugaoUI.h"
|
||||
#include "TransformerUI.h"
|
||||
#include "ParamConfigUI.h"
|
||||
#include "GlobalDataCenter.h"
|
||||
#include "RecipeManageUI.h"
|
||||
|
||||
class Debonding : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Debonding(QWidget *parent = Q_NULLPTR);
|
||||
|
||||
public slots:
|
||||
void slot_setmainInterface();
|
||||
void slot_setRecipeManage();
|
||||
void slot_setOneStepDebug();
|
||||
void slot_setGugao();
|
||||
void slot_transformer();
|
||||
void slot_paramConfig();
|
||||
|
||||
private:
|
||||
void InitDebondingUI();
|
||||
void UpdateButtonShow(QPushButton* curButton);
|
||||
|
||||
private:
|
||||
Ui::DebondingClass ui;
|
||||
|
||||
MainInterfaceUI* m_mainInterceUIObj;
|
||||
RecipeManageUI* m_recipeManageUIObj;
|
||||
OneStepDebugUI* m_oneStepDebugUIObj;
|
||||
GugaoUI* m_gugaoUIObj;
|
||||
TransformerUI* m_transformerUIObj;
|
||||
ParamConfigUI* m_paramConfigUIObj;
|
||||
|
||||
std::vector<QPushButton*> m_allDebudingButton;
|
||||
};
|
||||
@ -0,0 +1,16 @@
|
||||
<RCC>
|
||||
<qresource prefix="/Debonding">
|
||||
<file>style/global.qss</file>
|
||||
<file>style/logo_laipu.png</file>
|
||||
<file>style/logo_loadport.png</file>
|
||||
<file>style/logo_platform.png</file>
|
||||
<file>style/logo_down.png</file>
|
||||
<file>style/logo_left.png</file>
|
||||
<file>style/logo_saparate.png</file>
|
||||
<file>style/logo_clean.png</file>
|
||||
<file>style/logo_no.png</file>
|
||||
<file>style/logo_yes.png</file>
|
||||
<file>style/logo_tip.png</file>
|
||||
<file>style/logo_mainLayout.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@ -0,0 +1,259 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DebondingClass</class>
|
||||
<widget class="QMainWindow" name="DebondingClass">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1465</width>
|
||||
<height>1120</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Debonding</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>1</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Debonding.qrc">:/Debonding/style/logo_laipu.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>25</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>全自动解键合</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_mainInterface">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>首页</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_recipeManage">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Recipe管理</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_OneStepDebug">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>单步运行</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_gugao">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>运动控制</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_transformer">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>电缸控制</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_paramConfig">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>11</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>参数配置</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
<widget class="QWidget" name="page"/>
|
||||
<widget class="QWidget" name="page_2"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
<include location="Debonding.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -0,0 +1,453 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Form Files">
|
||||
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
|
||||
<Extensions>ui</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="RunThread">
|
||||
<UniqueIdentifier>{5ca1be1d-e59c-42f8-a612-20a141254ced}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Form Files\MainInterface">
|
||||
<UniqueIdentifier>{8164bebf-8267-4070-88bf-f098bdc0cc36}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Form Files\OneStepDebug">
|
||||
<UniqueIdentifier>{5d9095b9-f83e-48d2-b0b9-6fbd855ad53d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UIFile">
|
||||
<UniqueIdentifier>{96b1929c-bf6f-473c-8012-ce1da36eb361}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UIFile\MainInterface">
|
||||
<UniqueIdentifier>{e35490bc-d9e0-4ecf-a3c8-a5e3e6e02cde}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UIFile\OneStepDebug">
|
||||
<UniqueIdentifier>{512a5485-ace4-4cc3-b539-caf63bfc4062}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="thirdManage">
|
||||
<UniqueIdentifier>{5dd82856-782b-4f14-b16a-c8be85c61fda}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AADatabase">
|
||||
<UniqueIdentifier>{7677ca87-d9f6-4171-9a7c-eb764fdca3cc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RunThread\multithreading">
|
||||
<UniqueIdentifier>{860fd055-37f3-4084-aa9a-8edc85426657}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AAAttr">
|
||||
<UniqueIdentifier>{94eb4459-84a7-449e-8b6b-998d9d3537bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtRcc Include="Debonding.qrc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</QtRcc>
|
||||
<QtUic Include="Debonding.ui">
|
||||
<Filter>Resource Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="Debonding.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<ClCompile Include="Debonding.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalDataCenter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalAlarmCenter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassUI.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="FdcParamUI.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="WorkPlatFormUI.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MachineDrawingUI.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MainInterfaceUI.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MyCassLayerRect.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MyChartView.cpp">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="OneStepDebugUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassToPtUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PtWorkUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PtToSaparateUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateWorkUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateToClean.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleanUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleanToCassUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassMappingUI.cpp">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GugaoUI.cpp">
|
||||
<Filter>UIFile</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ReadConfigFile.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MyMessageBox.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalFuncCenter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GugaoCardManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalObjCenter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RunTipUI.cpp">
|
||||
<Filter>UIFile</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ParamConfigUI.cpp">
|
||||
<Filter>UIFile</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TransformerUI.cpp">
|
||||
<Filter>UIFile</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RecipeAttr.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassToPtManager.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RecipeManageUI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RecipeAttrUI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassMappingManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PtToSaparateManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateToCleanManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PtWorkManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DatabaseManage.cpp">
|
||||
<Filter>AADatabase</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleanToCassManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="OneStepCommonFunc.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateWorkManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleanWorkManage.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleanMachineManage.cpp">
|
||||
<Filter>thirdManage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CassToPlatFormThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CleaningWorkThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PlatformWorkThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ReturnCassThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RunThreadManage.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateToCleanThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SaparateWorkThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RunActionCommand.cpp">
|
||||
<Filter>AAAttr</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PlatformToSapatateThread.cpp">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="OneReturnWafer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="GlobalDataCenter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="GlobalAlarmCenter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="MachineDrawingUI.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="MainInterfaceUI.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassUI.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="FdcParamUI.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="MyCassLayerRect.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="WorkPlatFormUI.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="MyChartView.h">
|
||||
<Filter>UIFile\MainInterface</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="OneStepDebugUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassToPtUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PtWorkUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PtToSaparateUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateWorkUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateToClean.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleanUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleanToCassUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassMappingUI.h">
|
||||
<Filter>UIFile\OneStepDebug</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="GugaoUI.h">
|
||||
<Filter>UIFile</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="ReadConfigFile.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="GlobalFuncCenter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="GugaoCardManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="GlobalObjCenter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="RunTipUI.h">
|
||||
<Filter>UIFile</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="ParamConfigUI.h">
|
||||
<Filter>UIFile</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="TransformerUI.h">
|
||||
<Filter>UIFile</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="RecipeAttr.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassToPtManager.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="RecipeManageUI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="RecipeAttrUI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassMappingManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PtToSaparateManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateToCleanManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PtWorkManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="DatabaseManage.h">
|
||||
<Filter>AADatabase</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleanToCassManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="OneStepCommonFunc.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateWorkManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleanWorkManage.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleanMachineManage.h">
|
||||
<Filter>thirdManage</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CassToPlatFormThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CleaningWorkThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PlatformWorkThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="ReturnCassThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="RunThreadManage.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateToCleanThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SaparateWorkThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="PlatformToSapatateThread.h">
|
||||
<Filter>RunThread\multithreading</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="OneReturnWafer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GlobalTypeDefine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MyMessageBox.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="RunActionCommand.h">
|
||||
<Filter>AAAttr</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtUic Include="CassUI.ui">
|
||||
<Filter>Form Files\MainInterface</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="FdcParamUI.ui">
|
||||
<Filter>Form Files\MainInterface</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="MachineDrawingUI.ui">
|
||||
<Filter>Form Files\MainInterface</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="MainInterfaceUI.ui">
|
||||
<Filter>Form Files\MainInterface</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="WorkPlatFormUI.ui">
|
||||
<Filter>Form Files\MainInterface</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="OneStepDebugUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="CassToPtUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="PtWorkUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="PtToSaparateUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="SaparateWorkUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="SaparateToClean.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="CleanUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="CleanToCassUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="CassMappingUI.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="GugaoUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="TransformerUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="ParamConfigUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="RunTipUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="RecipeManageUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="RecipeAttrUI.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtUic Include="OneReturnWafer.ui">
|
||||
<Filter>Form Files\OneStepDebug</Filter>
|
||||
</QtUic>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,46 @@
|
||||
e:\debonding\debonding\debonding\debug\machinedrawingui.obj
|
||||
e:\debonding\debonding\debonding\debug\workplatformui.obj
|
||||
e:\debonding\debonding\debonding\debug\saparateworkthread.obj
|
||||
e:\debonding\debonding\debonding\debug\returncassthread.obj
|
||||
e:\debonding\debonding\debonding\debug\platformtosapatate.obj
|
||||
e:\debonding\debonding\debonding\debug\runthreadmanage.obj
|
||||
e:\debonding\debonding\debonding\debug\main.obj
|
||||
e:\debonding\debonding\debonding\debug\globaldatacenter.obj
|
||||
e:\debonding\debonding\debonding\debug\fdcparamui.obj
|
||||
e:\debonding\debonding\debonding\debug\cassui.obj
|
||||
e:\debonding\debonding\debonding\debug\globalalarmcenter.obj
|
||||
e:\debonding\debonding\debonding\debug\debonding.obj
|
||||
e:\debonding\debonding\debonding\debug\casstoplatformthread.obj
|
||||
e:\debonding\debonding\debonding\debug\platformworkthread.obj
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_cassui.h
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_debonding.h
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_fdcparamui.h
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_machinedrawingui.h
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_maininterfaceui.h
|
||||
e:\debonding\debonding\debonding\debug\uic\ui_workplatformui.h
|
||||
e:\debonding\debonding\debonding\debug\rcc\qrc_debonding.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_debonding.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_casstoplatformthread.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_runthreadmanage.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_platformworkthread.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_platformtosapatate.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_saparateworkthread.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_returncassthread.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_globaldatacenter.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_maininterfaceui.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_workplatformui.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_machinedrawingui.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_globalalarmcenter.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_cassui.cpp
|
||||
e:\debonding\debonding\debonding\debug\moc\moc_fdcparamui.cpp
|
||||
e:\debonding\debonding\debonding\debug\vc140.pdb
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\cl.command.1.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\cl.read.1.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\cl.write.1.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\debonding.write.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\moc.read.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\moc.write.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\rcc.read.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\rcc.write.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\uic.read.1u.tlog
|
||||
e:\debonding\debonding\debonding\debug\debonding.tlog\uic.write.1u.tlog
|
||||
@ -0,0 +1,17 @@
|
||||
uic ParamConfigUI.ui
|
||||
E:\Debonding\Debonding\Debonding\ParamConfigUI.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.
|
||||
E:\Debonding\Debonding\Debonding\ParamConfigUI.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget2'.
|
||||
E:\Debonding\Debonding\Debonding\ParamConfigUI.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget3'.
|
||||
E:\Debonding\Debonding\Debonding\ParamConfigUI.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget4'.
|
||||
Debonding.cpp
|
||||
ParamConfigUI.cpp
|
||||
main.cpp
|
||||
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
|
||||
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
|
||||
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
|
||||
moc_Debonding.cpp
|
||||
moc_ParamConfigUI.cpp
|
||||
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
|
||||
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
|
||||
Debonding.vcxproj -> E:\Debonding\Debonding\Debug\Debonding.exe
|
||||
Debonding.vcxproj -> E:\Debonding\Debonding\Debug\Debonding.pdb (Full PDB)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|Win32|E:\Debonding\Debonding\|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue