LAPTOP-SNT8I5JK\Boounion
2025-06-19 d24917a7422efa5aa1d3cff2ef70ad754cebaedf
1.生成玻璃的JobDataS数据,采用新的JobNo等id
已修改3个文件
40 ■■■■ 文件已修改
SourceCode/Bond/Servo/CLoadPort.cpp 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CLoadPort.h 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CPageGraph2.cpp 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CLoadPort.cpp
@@ -22,6 +22,7 @@
        m_transferMode = TransferMode::AGVMode;
        m_bEnable = FALSE;
        m_bAutoChangeEnable = FALSE;
        m_nNextCassetteSequenceNo = 0;
    }
    CLoadPort::~CLoadPort()
@@ -485,6 +486,16 @@
        Unlock();
        return pStep;
    }
    short CLoadPort::getNextCassetteSequenceNo()
    {
        m_nNextCassetteSequenceNo++;
        if (m_nNextCassetteSequenceNo >= 1000) {
            m_nNextCassetteSequenceNo = 0;
        }
        return (m_nIndex + 1) * 1000 + m_nNextCassetteSequenceNo;
    }
    void CLoadPort::setIndex(unsigned int index)
@@ -1138,13 +1149,8 @@
    /*
     * 生成测试用的玻璃列表
     */
    int CLoadPort::testGenerateGlassList(MaterialsType type, const char* pszPrefix, int startSuffix)
    int CLoadPort::testGenerateGlassList(MaterialsType type)
    {
        static unsigned short nJobSequenceNo = 0;
        static unsigned short nCassetteSequenceNo = 0;
        nCassetteSequenceNo++;
        // 如果非空就不生成了
        Lock();
        if (hasGlass()) {
@@ -1155,21 +1161,16 @@
        char szBuffer[64];
        int suffix = startSuffix;
        for (int i = 0; i < 1; i++) {
            if (!m_slot[i].isEnable()) continue;
            CJobDataS js;
            sprintf_s(szBuffer, "%s%d", pszPrefix, suffix++);
            js.setCassetteSequenceNo(getNextCassetteSequenceNo());
            js.setJobSequenceNo(i);
            sprintf_s(szBuffer, 64, "%05d%05d", js.getCassetteSequenceNo(), js.getJobSequenceNo());
            js.setGlass1Id(szBuffer);
            js.setJobType(1);
            js.setMaterialsType((int)type);
            js.setCassetteSequenceNo(nCassetteSequenceNo);
            js.setJobSequenceNo(nJobSequenceNo);
            if (type == MaterialsType::G1) {
                js.setGlass1Id(szBuffer);
            }
            else if (type == MaterialsType::G2) {
                js.setGlass2Id(szBuffer);
            }
            CGlass* pGlass = theApp.m_model.m_glassPool.allocaGlass();
            pGlass->addPath(m_nID, 0);
SourceCode/Bond/Servo/CLoadPort.h
@@ -39,6 +39,7 @@
        void localAutoChangeEnable(BOOL bEnable);
    public:
        short getNextCassetteSequenceNo();
        void setIndex(unsigned int index);
        unsigned int getIndex();
        BOOL isEnable();
@@ -54,7 +55,7 @@
        int getQTimeFlag();
        int getCassetteMappingState();
        int getCassetteStatus();
        int testGenerateGlassList(MaterialsType type, const char* pszPrefix, int startSuffix);
        int testGenerateGlassList(MaterialsType type);
    public:
        static std::string& getPortTypeDescription(PortType portType, std::string& strDescription);
@@ -89,6 +90,7 @@
        BOOL m_bEnable;
        BOOL m_bAutoChangeEnable;
        CPortStatusReport m_portStatusReport;
        int m_nNextCassetteSequenceNo;
    };
}
SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -213,8 +213,7 @@
            BOOL bTestGenerate = FALSE;
            SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
            if (pEquipment->getID() == EQ_ID_LOADPORT4 && !pEquipment->hasGlass()) {
                ((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G1,
                    "P20250320G1X", 1);
                ((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G1);
                bTestGenerate = TRUE;
            }
            /*