LAPTOP-SNT8I5JK\Boounion
2025-08-15 697fa6b857fe202fe2e5f50d4ecf2c7268e527cc
1.变量(代EAP查询的数据)增加列表类型;
2.实现ProcessJob Queued上报功能;
已修改15个文件
87 ■■■■■ 文件已修改
Document/Panel Bonder八零联合 SecsTest CheckList_v3.0.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/EAPSimulator/CHsmsActive.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CLoadPort.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.cpp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CVariable.cpp 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CVariable.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/HsmsPassive.cpp 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/HsmsPassive.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Model.cpp 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/CollectionEventList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/ReportList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/VariableList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Document/Panel Bonder°ËÁãÁªºÏ SecsTest CheckList_v3.0.xlsx
Binary files differ
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -72,6 +72,10 @@
            // S5F1
            replyAck(5, 2, pMessage->getHeader()->systemBytes, 0, _T("ACK0"));
        }
        else if (nStream == 6 && pHeader->function == 11) {
            // S5F1
            replyAck(6, 12, pMessage->getHeader()->systemBytes, 0, _T("ACK0"));
        }
    };
    ActiveListener listener;
SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -9,6 +9,7 @@
#define SVID_CJobSpace                5001
#define SVID_PJobSpace                5002
#define SVID_PJobQueued                5003
typedef std::function<void(void* pFrom, ACTIVESTATE state)> STATECHANGED;
SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
@@ -390,7 +390,7 @@
void CEAPSimulatorDlg::OnBnClickedButtonQueryPjSpace()
{
    theApp.m_model.m_pHsmsActive->hsmsSelectedEquipmentStatusRequest(SVID_PJobSpace);
    theApp.m_model.m_pHsmsActive->hsmsSelectedEquipmentStatusRequest(SVID_PJobQueued);
}
void CEAPSimulatorDlg::OnBnClickedButtonQueryPpidList()
SourceCode/Bond/Servo/CLoadPort.cpp
@@ -382,7 +382,7 @@
            ii++;
            if (ii == 55) {
                char szBuffer[64] = { 0 };
                CStep* pStep = getStepWithName(STEP_EQ_PORT1_INUSE);
                CStep* pStep = getStepWithName(STEP_EQ_PORT2_INUSE);
                CPortStatusReport portStatusReport;
                portStatusReport.setPortStatus(PORT_INUSE);
                portStatusReport.setJobExistenceSlot(0xf);
SourceCode/Bond/Servo/CMaster.cpp
@@ -1860,6 +1860,11 @@
        return m_processJobs.size();
    }
    std::vector<SERVO::CProcessJob*>& CMaster::getProcessJobs()
    {
        return m_processJobs;
    }
    CLoadPort* CMaster::getPortWithCarrierId(const std::string& carrierId) const
    {
        CLoadPort* pPort;
SourceCode/Bond/Servo/CMaster.h
@@ -106,6 +106,7 @@
        int getContinuousTransferCount();
        void setContinuousTransferCount(int round);
        int setProcessJobs(std::vector<SERVO::CProcessJob*>& pjs);
        std::vector<SERVO::CProcessJob*>& getProcessJobs();
        CLoadPort* getPortWithCarrierId(const std::string& carrierId) const;
    private:
SourceCode/Bond/Servo/CVariable.cpp
@@ -43,6 +43,9 @@
        if (_strcmpi("A20", pszFormat) == 0) {
            return SVFromat::A20;
        }
        if (_strcmpi("L", pszFormat) == 0) {
            return SVFromat::L;
        }
        return SVFromat::U1;
    }
@@ -64,6 +67,9 @@
        }
        if (SVFromat::A20 == format) {
            return "A20";
        }
        if (SVFromat::L == format) {
            return "L";
        }
        return "U1";
@@ -113,6 +119,11 @@
        m_strValue = strTemp;
    }
    void CVariable::setValue(std::vector<CVariable>& vars)
    {
        m_varsValue = vars;
    }
    std::string CVariable::getValue()
    {
        std::string strRet;
@@ -135,5 +146,8 @@
        return 0;
    }
    std::vector<CVariable>& CVariable::getVarsValue()
    {
        return m_varsValue;
    }
}
SourceCode/Bond/Servo/CVariable.h
@@ -9,7 +9,8 @@
        U2,
        I2,
        A20,
        A50
        A50,
        L
    };
    class CVariable
@@ -28,8 +29,10 @@
        std::string& getRemark();
        void setValue(__int64 value);
        void setValue(const char* pszValue);
        void setValue(std::vector<CVariable>& vars);
        std::string getValue();
        __int64 getIntValue();
        std::vector<CVariable>& getVarsValue();
    private:
        unsigned int m_nVarialbeId;
@@ -38,6 +41,7 @@
        std::string m_strRemark;
        __int64 m_nValue;
        std::string m_strValue;
        std::vector<CVariable> m_varsValue;
    };
}
SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -108,6 +108,8 @@
    ASSERT(pParent);
    ASSERT(pVariable);
    ISECS2Item* pItemList;
    SERVO::SVFromat format = pVariable->getFormat();
    switch (format)
    {
@@ -123,6 +125,16 @@
    case SERVO::SVFromat::A20:
    case SERVO::SVFromat::A50:
        pParent->addItem(pVariable->getValue().c_str(), "SV");
        break;
    case SERVO::SVFromat::L:
        pItemList = pParent->addItem();
        {
            auto vars = pVariable->getVarsValue();
            for (auto v : vars) {
                addVariableValueToItem(pItemList, &v);
            }
        }
        break;
    default:
        break;
    }
@@ -313,6 +325,14 @@
    auto v = getVariable(pszName);
    if (v != nullptr) {
        v->setValue(value);
    }
}
void CHsmsPassive::setVariableValue(const char* pszName, std::vector<SERVO::CVariable>& vars)
{
    auto v = getVariable(pszName);
    if (v != nullptr) {
        v->setValue(vars);
    }
}
@@ -933,6 +953,7 @@
    return 0;
}
// S1F3
int CHsmsPassive::replySelectedEquipmentStatusData(IMessage* pRecv)
{
    if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
@@ -1679,9 +1700,9 @@
    pItemList2->addU4Item(pReport->getReportId(), "RPTID");
    ISECS2Item* pItemList3 = pItemList2->addItem();
    auto values = pReport->getVariables();
    for (auto item : values) {
        pItemList3->addItem(item->getValue().c_str(), "V");
    auto vars = pReport->getVariables();
    for (auto var : vars) {
        addVariableValueToItem(pItemList3, var);
    }
    pAction->setSendMessage(pMessage);
    if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
@@ -1716,6 +1737,11 @@
    return requestEventReportSend("CarrierID_Readed");
}
int CHsmsPassive::requestEventReportSend_PJ_Queued()
{
    return requestEventReportSend("PJ_Queued");
}
SourceCode/Bond/Servo/HsmsPassive.h
@@ -147,6 +147,7 @@
    // è®¾ç½®å˜é‡å€¼
    void setVariableValue(const char* pszName, __int64 value);
    void setVariableValue(const char* pszName, const char* value);
    void setVariableValue(const char* pszName, std::vector<SERVO::CVariable>& vars);
    // ä»Žæ–‡ä»¶ä¸­åŠ è½½CReport列表
    int loadReports(const char* pszFilepath);
@@ -187,6 +188,7 @@
    int requestEventReportSend(unsigned int CEID);
    int requestEventReportSend(const char* pszEventName);
    int requestEventReportSend_CarrierID_Readed();
    int requestEventReportSend_PJ_Queued();
private:
    void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
SourceCode/Bond/Servo/Model.cpp
@@ -179,7 +179,18 @@
        for (auto p : pjs) {
            LOGI("<Model>onPRJobMultiCreate %s %s", p->id().c_str(), p->recipeSpec().c_str());
        }
        return m_master.setProcessJobs(pjs);
        int nRet = m_master.setProcessJobs(pjs);
        auto processJobs = m_master.getProcessJobs();
        std::vector<SERVO::CVariable> vars;
        for (auto pj : processJobs) {
            SERVO::CVariable var("", "PRJOBID", "A50", "PRJOBID");
            var.setValue(pj->id().c_str());
            vars.push_back(var);
        }
        m_hsmsPassive.setVariableValue("PJQueued", vars);
        m_hsmsPassive.requestEventReportSend_PJ_Queued();
        return nRet;
    };
    m_hsmsPassive.setListener(listener);
    m_hsmsPassive.setEquipmentModelType((LPTSTR)(LPCTSTR)strModeType);
SourceCode/Bond/x64/Debug/CollectionEventList.txt
@@ -38,3 +38,4 @@
40000,E90_SPSM_NoState_To_NeedsProcessing,,(40000)
40001,E90_SPSM_InProcess_To_ProcessCompleted,,(40000)
50000,CarrierID_Readed,,(50000)
50001,PJ_Queued,,(50001)
SourceCode/Bond/x64/Debug/ReportList.txt
@@ -16,4 +16,5 @@
31000,(1,31000,31001)
40000,(1,10203,20000)
50000,(5000)
50001,(5003)
SourceCode/Bond/x64/Debug/VariableList.txt
@@ -37,3 +37,4 @@
5000,CarrierID,A20,卡匣ID
5001,CJobSpace,U1,CJ Space
5002,PJobSpace,U1,PJ Space
5003,PJQueued,L,PJ Queued