chenluhua1980
6 小时以前 decceeb6669cadea0302c2e5a8035b920a04f836
1.SVdata不主动上报,但先缓存。且bonder1和bonder2分开变量。
已修改4个文件
45 ■■■■ 文件已修改
SourceCode/Bond/Servo/Model.cpp 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/CollectionEventList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/DataVariableList.txt 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/ReportList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Model.cpp
@@ -985,11 +985,10 @@
    };
    masterListener.onSVDataReport = [&](void* pMaster, SERVO::CEquipment* pEquipment, const std::vector<CParam>& params) {
        (void)pMaster;
        // 客户要求暂时关掉SV上报,将来换另一种方式
        /*
        // Keep SV variable cache updated, but do not actively send S6F11 reports.
        const int eqId = pEquipment ? pEquipment->getID() : 0;
        auto sendSv = [&](const auto& vidMap, const char* evName) {
        auto cacheSv = [&](const auto& vidMap) {
            const size_t count = (std::min)(params.size(), vidMap.size());
            m_hsmsPassive.withVariableLock([&] {
                if (pEquipment != nullptr) {
@@ -1001,36 +1000,41 @@
                    const std::string val = formatParamValue(params[idx]);
                    m_hsmsPassive.setVariableValue(std::to_string(vidMap[idx]).c_str(), val.c_str());
                }
                m_hsmsPassive.requestEventReportSend(evName);
            });
        };
        if (eqId == EQ_ID_Bonder1 || eqId == EQ_ID_Bonder2) {
        if (eqId == EQ_ID_Bonder1) {
            static constexpr std::array<int, 19> vids = {
                6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,
                6010,6011,6012,6013,6014,6015,6016,6017,6018
            };
            sendSv(vids, "BonderSVData");
            cacheSv(vids);
        }
        else if (eqId == EQ_ID_Bonder2) {
            static constexpr std::array<int, 19> vids = {
                6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,
                6030,6031,6032,6033,6034,6035,6036,6037,6038
            };
            cacheSv(vids);
        }
        else if (eqId == EQ_ID_VACUUMBAKE) {
            static constexpr std::array<int, 18> vids = {
                6200,6201,6202,6203,6204,6205,6206,6207,6208,
                6209,6210,6211,6212,6213,6214,6215,6216,6217
            };
            sendSv(vids, "VacuumBakeSVData");
            cacheSv(vids);
        }
        else if (eqId == EQ_ID_BAKE_COOLING) {
            static constexpr std::array<int, 20> vids = {
                6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,
                6410,6411,6412,6413,6414,6415,6416,6417,6418,6419
            };
            sendSv(vids, "BakeCoolingSVData");
            cacheSv(vids);
        }
        else if (eqId == EQ_ID_MEASUREMENT) {
            static constexpr std::array<int, 2> vids = { 6600, 6601 };
            sendSv(vids, "MeasurementSVData");
            cacheSv(vids);
        }
        */
    };
    masterListener.onProcessDataReport = [&](void* pMaster, SERVO::CEquipment* pEquipment, const std::vector<CParam>& params) {
        (void)pMaster;
SourceCode/Bond/x64/Debug/CollectionEventList.txt
@@ -62,6 +62,7 @@
50021,GlassReceivedJob,Glass received into equipment slot,(50021)
50022,GlassSentOutJob,Glass sent out from equipment slot,(50022)
60000,BonderSVData,,(60000)
60001,Bonder2SVData,,(60001)
61000,BonderProcessData,,(61000)
62000,VacuumBakeSVData,,(62000)
63000,VacuumBakeProcessData,,(63000)
SourceCode/Bond/x64/Debug/DataVariableList.txt
@@ -18,6 +18,25 @@
6016,Bonder_SV_LowerTemp6,A20,Bonder SV: 下腔温度6
6017,Bonder_SV_HeatingRemaining,A20,Bonder SV: 加热剩余时间
6018,Bonder_SV_PressingRemaining,A20,Bonder SV: 压合剩余时间
6020,Bonder2_SV_ProcessStep,A20,Bonder2 SV: 工艺运行步骤
6021,Bonder2_SV_BladderPressure,A20,Bonder2 SV: 气囊压力当前
6022,Bonder2_SV_UpperChamberPressure,A20,Bonder2 SV: 上腔压力合计
6023,Bonder2_SV_PipeVacuumGauge,A20,Bonder2 SV: 管道真空规值
6024,Bonder2_SV_ChamberVacuumGauge,A20,Bonder2 SV: 腔体真空规值
6025,Bonder2_SV_UpperTemp1,A20,Bonder2 SV: 上腔温度1
6026,Bonder2_SV_UpperTemp2,A20,Bonder2 SV: 上腔温度2
6027,Bonder2_SV_UpperTemp3,A20,Bonder2 SV: 上腔温度3
6028,Bonder2_SV_UpperTemp4,A20,Bonder2 SV: 上腔温度4
6029,Bonder2_SV_UpperTemp5,A20,Bonder2 SV: 上腔温度5
6030,Bonder2_SV_UpperTemp6,A20,Bonder2 SV: 上腔温度6
6031,Bonder2_SV_LowerTemp1,A20,Bonder2 SV: 下腔温度1
6032,Bonder2_SV_LowerTemp2,A20,Bonder2 SV: 下腔温度2
6033,Bonder2_SV_LowerTemp3,A20,Bonder2 SV: 下腔温度3
6034,Bonder2_SV_LowerTemp4,A20,Bonder2 SV: 下腔温度4
6035,Bonder2_SV_LowerTemp5,A20,Bonder2 SV: 下腔温度5
6036,Bonder2_SV_LowerTemp6,A20,Bonder2 SV: 下腔温度6
6037,Bonder2_SV_HeatingRemaining,A20,Bonder2 SV: 加热剩余时间
6038,Bonder2_SV_PressingRemaining,A20,Bonder2 SV: 压合剩余时间
6100,Bonder_PD_AlignDelay,A20,Bonder PD: 对位延时
6101,Bonder_PD_DwellTime,A20,Bonder PD: 保压时间
6102,Bonder_PD_BreakVacuumDelay,A20,Bonder PD: 破真空延时
SourceCode/Bond/x64/Debug/ReportList.txt
@@ -38,6 +38,7 @@
50021,(5018,5019,5028,5029,5030)
50022,(5018,5019,5025,5026,5027)
60000,(500,5018,5019,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018)
60001,(500,5018,5019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036,6037,6038)
61000,(500,5018,5019,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118,6119,6120,6121)
62000,(500,5018,5019,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212,6213,6214,6215,6216,6217)
63000,(500,5018,5019,6300,6301,6302,6303,6304)