| SourceCode/Bond/Servo/CEFEM.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/CEquipment.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/CVacuumBake.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
SourceCode/Bond/Servo/CEFEM.cpp
@@ -137,7 +137,7 @@ } return 0; }); }); } return 0; SourceCode/Bond/Servo/CEquipment.cpp
@@ -525,8 +525,12 @@ // EQ Job Event CHECK_READ_STEP_SIGNAL(STEP_ID_RECIVE_JOB_UPS1, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_RECIVE_JOB_UPS2, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_RECIVE_JOB_UPS3, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_RECIVE_JOB_UPS4, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_SENT_OUT_JOB_DOWNS1, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_SENT_OUT_JOB_DOWNS2, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_SENT_OUT_JOB_DOWNS3, pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_SENT_OUT_JOB_DOWNS4, pszData, size); // Store Job Report #1~15 CHECK_READ_STEP_SIGNAL(STEP_ID_STORE_JOB_REPORT1, pszData, size); @@ -1270,6 +1274,12 @@ if (m_slot[i].isLock()) continue; if (!m_slot[i].isEmpty()) continue; int lsPath = m_slot[i].getLinkSignalPath(); if (!m_bLinkSignalToDownstream[lsPath][SIGNAL_UPSTREAM_INLINE] || m_bLinkSignalToDownstream[lsPath][SIGNAL_UPSTREAM_TROUBLE] || !m_bLinkSignalToDownstream[lsPath][SIGNAL_INTERLOCK] || !m_bLinkSignalToDownstream[lsPath][SIGNAL_RECEIVE_ABLE]) continue; MaterialsType slotType = m_slot[i].getType(); if (type == MaterialsType::G1 && slotType == MaterialsType::G2) continue; if (type == MaterialsType::G2 && slotType == MaterialsType::G1) continue; SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp
@@ -112,25 +112,25 @@ // 示例设备名称列表 CStringList eqNameList; eqNameList.AddTail(_T("Port1")); eqNameList.AddTail(_T("Port2")); eqNameList.AddTail(_T("Port3")); eqNameList.AddTail(_T("Port4")); eqNameList.AddTail(_T("RB1")); eqNameList.AddTail(_T("RB2")); eqNameList.AddTail(_T("AL")); eqNameList.AddTail(_T("FLIP")); eqNameList.AddTail(_T("Bonder1-上产品")); eqNameList.AddTail(_T("Bonder1-下产品")); eqNameList.AddTail(_T("Bonder2-上产品")); eqNameList.AddTail(_T("Bonder2-下产品")); eqNameList.AddTail(_T("VacBakeA腔")); eqNameList.AddTail(_T("VacBakeB腔")); eqNameList.AddTail(_T("BakecCoolingA烘烤")); eqNameList.AddTail(_T("BakecCoolingA冷却")); eqNameList.AddTail(_T("BakecCoolingB烘烤")); eqNameList.AddTail(_T("BakecCoolingB冷却")); eqNameList.AddTail(_T("Measurement")); eqNameList.AddTail(_T("Port1")); // 1 eqNameList.AddTail(_T("Port2")); // 2 eqNameList.AddTail(_T("Port3")); // 3 eqNameList.AddTail(_T("Port4")); // 4 eqNameList.AddTail(_T("RB1")); // 5 eqNameList.AddTail(_T("RB2")); // 6 eqNameList.AddTail(_T("AL")); // 7 eqNameList.AddTail(_T("FLIP")); // 8 eqNameList.AddTail(_T("Bonder1-上产品")); // 9 eqNameList.AddTail(_T("Bonder1-下产品")); // 10 eqNameList.AddTail(_T("Bonder2-上产品")); // 11 eqNameList.AddTail(_T("Bonder2-下产品")); // 12 eqNameList.AddTail(_T("VacBakeA腔")); // 13 eqNameList.AddTail(_T("VacBakeB腔")); // 14 eqNameList.AddTail(_T("BakecCoolingA烘烤")); // 15 eqNameList.AddTail(_T("BakecCoolingA冷却")); // 16 eqNameList.AddTail(_T("BakecCoolingB烘烤")); // 17 eqNameList.AddTail(_T("BakecCoolingB冷却")); // 18 eqNameList.AddTail(_T("Measurement")); // 19 for (POSITION pos = eqNameList.GetHeadPosition(); pos != NULL;) { CString item = eqNameList.GetNext(pos); SourceCode/Bond/Servo/CVacuumBake.cpp
@@ -239,7 +239,7 @@ { // Received Job Report Upstream #1~9 char szBuffer[256]; for (int i = 0; i < 1; i++) { for (int i = 0; i < 2; i++) { CEqReadStep* pStep = new CEqReadStep(0x14c90 + 320 * i, 320 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { if (code == ROK && pszData != nullptr && size > 0) { @@ -263,7 +263,7 @@ { // Sent Out Job Report Downstream #1~9 char szBuffer[256]; for (int i = 0; i < 1; i++) { for (int i = 0; i < 2; i++) { CEqReadStep* pStep = new CEqReadStep(0x14000 + 320 * i, 320 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { if (code == ROK && pszData != nullptr && size > 0) { @@ -287,7 +287,7 @@ { // Fetched Out Job Report #1~15 char szBuffer[256]; for (int i = 0; i < 1; i++) { for (int i = 0; i < 2; i++) { CEqReadStep* pStep = new CEqReadStep(0x15c31 + 18 * i, 18 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { if (code == ROK && pszData != nullptr && size > 0) { @@ -311,7 +311,7 @@ { // Stored Job Report #1~15 char szBuffer[256]; for (int i = 0; i < 1; i++) { for (int i = 0; i < 2; i++) { CEqReadStep* pStep = new CEqReadStep(0x15b23 + 18 * i, 18 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { if (code == ROK && pszData != nullptr && size > 0) { @@ -348,6 +348,7 @@ delete pStep; } } { CEqReadStep* pStep = new CEqReadStep(0x15D4C, 13 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { @@ -363,6 +364,7 @@ delete pStep; } } } // 必须要实现的虚函数,在此初始化Slot信息 @@ -373,6 +375,13 @@ m_slot[0].setNo(1); m_slot[0].setName("Slot 1(G1)"); m_slot[0].setType(MaterialsType::G1); m_slot[0].setLinkSignalPath(0); m_slot[1].enable(); m_slot[1].setPosition(m_nID); m_slot[1].setNo(2); m_slot[1].setName("Slot 2(G1)"); m_slot[1].setType(MaterialsType::G1); m_slot[1].setLinkSignalPath(1); } void CVacuumBake::onTimer(UINT nTimerid)