mrDarker
2025-07-17 6708de638614ace717045551552b745e015c0864
1. 补全真空烘烤的腔体 2. 补全冷却的读取信号
已修改4个文件
67 ■■■■■ 文件已修改
SourceCode/Bond/Servo/CEFEM.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CEquipment.cpp 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CVacuumBake.cpp 17 ●●●● 补丁 | 查看 | 原始文档 | 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)