chenluhua1980
5 小时以前 decceeb6669cadea0302c2e5a8035b920a04f836
1.SVdata不主动上报,但先缓存。且bonder1和bonder2分开变量。
已修改4个文件
241 ■■■■■ 文件已修改
SourceCode/Bond/Servo/Model.cpp 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/CollectionEventList.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/x64/Debug/DataVariableList.txt 215 ●●●● 补丁 | 查看 | 原始文档 | 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
@@ -1,98 +1,117 @@
DVID,DV Name,DV Format,DV Remark
6000,Bonder_SV_ProcessStep,A20,Bonder SV: 工艺运行步骤
6001,Bonder_SV_BladderPressure,A20,Bonder SV: 气囊压力当前
6002,Bonder_SV_UpperChamberPressure,A20,Bonder SV: 上腔压力合计
6003,Bonder_SV_PipeVacuumGauge,A20,Bonder SV: 管道真空表
6004,Bonder_SV_ChamberVacuumGauge,A20,Bonder SV: 腔体真空表
6005,Bonder_SV_UpperTemp1,A20,Bonder SV: 上腔温度1
6006,Bonder_SV_UpperTemp2,A20,Bonder SV: 上腔温度2
6007,Bonder_SV_UpperTemp3,A20,Bonder SV: 上腔温度3
6008,Bonder_SV_UpperTemp4,A20,Bonder SV: 上腔温度4
6009,Bonder_SV_UpperTemp5,A20,Bonder SV: 上腔温度5
6010,Bonder_SV_UpperTemp6,A20,Bonder SV: 上腔温度6
6011,Bonder_SV_LowerTemp1,A20,Bonder SV: 下腔温度1
6012,Bonder_SV_LowerTemp2,A20,Bonder SV: 下腔温度2
6013,Bonder_SV_LowerTemp3,A20,Bonder SV: 下腔温度3
6014,Bonder_SV_LowerTemp4,A20,Bonder SV: 下腔温度4
6015,Bonder_SV_LowerTemp5,A20,Bonder SV: 下腔温度5
6016,Bonder_SV_LowerTemp6,A20,Bonder SV: 下腔温度6
6017,Bonder_SV_HeatingRemaining,A20,Bonder SV: 加热剩余时间
6018,Bonder_SV_PressingRemaining,A20,Bonder SV: 压合剩余时间
6100,Bonder_PD_AlignDelay,A20,Bonder PD: 对位延时
6101,Bonder_PD_DwellTime,A20,Bonder PD: 保压时间
6102,Bonder_PD_BreakVacuumDelay,A20,Bonder PD: 破真空延时
6103,Bonder_PD_TurboPumpStartDelay,A20,Bonder PD: 分子泵启动延时
6104,Bonder_PD_AttachVacuumDelay,A20,Bonder PD: 抽真空延时
6105,Bonder_PD_HeatingWaitDelay,A20,Bonder PD: 等待加热延时
6106,Bonder_PD_BladderPressureSet,A20,Bonder PD: 气囊压力设定
6107,Bonder_PD_BladderPressurizeRate,A20,Bonder PD: 气囊加压速率
6108,Bonder_PD_BladderDepressurizeRate,A20,Bonder PD: 气囊泄压速率
6109,Bonder_PD_AttachPressureLimit,A20,Bonder PD: 贴合压力上限
6110,Bonder_PD_UpperZTorqueSpeed,A20,Bonder PD: 上腔Z预贴合速度
6111,Bonder_PD_UpperTempSet,A20,Bonder PD: 上腔温度设定
6112,Bonder_PD_LowerTempSet,A20,Bonder PD: 下腔温度设定
6113,Bonder_PD_PreAttachSpeed,A20,Bonder PD: 预贴合速度
6114,Bonder_PD_AttachSpeed,A20,Bonder PD: 贴合速度
6115,Bonder_PD_UpperHeatDistance,A20,Bonder PD: 上腔加热距离
6116,Bonder_PD_AttachPressIn,A20,Bonder PD: 贴合压入力
6117,Bonder_PD_UpperBreakVacuumDist,A20,Bonder PD: 上腔破真空距离
6118,Bonder_PD_LowerPinBreakVacuumDist,A20,Bonder PD: 下顶针破真空距离
6119,Bonder_PD_LowerPinHeatDistance,A20,Bonder PD: 下顶针加热距离
6120,Bonder_PD_PumpGaugeSet,A20,Bonder PD: 真空泵真空设定
6121,Bonder_PD_TurboReachSet,A20,Bonder PD: 分子泵到达设定
6200,VacuumBake_SV_A_ProcessStep,A20,VacuumBake SV A: 工艺运行步骤
6201,VacuumBake_SV_A_ChamberVacuum,A20,VacuumBake SV A: 腔体真空
6202,VacuumBake_SV_A_Temp1,A20,VacuumBake SV A: 温度1
6203,VacuumBake_SV_A_Temp2,A20,VacuumBake SV A: 温度2
6204,VacuumBake_SV_A_Temp4,A20,VacuumBake SV A: 温度4
6205,VacuumBake_SV_A_Temp5,A20,VacuumBake SV A: 温度5
6206,VacuumBake_SV_A_Temp6,A20,VacuumBake SV A: 温度6
6207,VacuumBake_SV_A_Temp7,A20,VacuumBake SV A: 温度7
6208,VacuumBake_SV_A_BakeRemaining,A20,VacuumBake SV A: 烘烤剩余时间
6209,VacuumBake_SV_B_ProcessStep,A20,VacuumBake SV B: 工艺运行步骤
6210,VacuumBake_SV_B_ChamberVacuum,A20,VacuumBake SV B: 腔体真空
6211,VacuumBake_SV_B_Temp1,A20,VacuumBake SV B: 温度1
6212,VacuumBake_SV_B_Temp2,A20,VacuumBake SV B: 温度2
6213,VacuumBake_SV_B_Temp4,A20,VacuumBake SV B: 温度4
6214,VacuumBake_SV_B_Temp5,A20,VacuumBake SV B: 温度5
6215,VacuumBake_SV_B_Temp6,A20,VacuumBake SV B: 温度6
6216,VacuumBake_SV_B_Temp7,A20,VacuumBake SV B: 温度7
6217,VacuumBake_SV_B_BakeRemaining,A20,VacuumBake SV B: 烘烤剩余时间
6300,VacuumBake_PD_ParamIndex,A20,VacuumBake PD: 参数序号
6301,VacuumBake_PD_HeatTime,A20,VacuumBake PD: 加热时间
6302,VacuumBake_PD_BreakVacuumTime,A20,VacuumBake PD: 破真空时间
6303,VacuumBake_PD_VacuumReach,A20,VacuumBake PD: 真空达到值
6304,VacuumBake_PD_TempSet,A20,VacuumBake PD: 主控温度设定
6400,BakeCooling_SV_A_BakeStep,A20,BakeCooling SV A: 烘烤步骤
6401,BakeCooling_SV_A_Temp1,A20,BakeCooling SV A: 温度1
6402,BakeCooling_SV_A_Temp2,A20,BakeCooling SV A: 温度2
6403,BakeCooling_SV_A_Temp4,A20,BakeCooling SV A: 温度4
6404,BakeCooling_SV_A_Temp5,A20,BakeCooling SV A: 温度5
6405,BakeCooling_SV_A_Temp6,A20,BakeCooling SV A: 温度6
6406,BakeCooling_SV_A_Temp7,A20,BakeCooling SV A: 温度7
6407,BakeCooling_SV_A_BakeRemaining,A20,BakeCooling SV A: 烘烤剩余时间
6408,BakeCooling_SV_A_CoolStep,A20,BakeCooling SV A: 冷却步骤
6409,BakeCooling_SV_A_CoolRemaining,A20,BakeCooling SV A: 冷却剩余时间
6410,BakeCooling_SV_B_BakeStep,A20,BakeCooling SV B: 烘烤步骤
6411,BakeCooling_SV_B_Temp1,A20,BakeCooling SV B: 温度1
6412,BakeCooling_SV_B_Temp2,A20,BakeCooling SV B: 温度2
6413,BakeCooling_SV_B_Temp4,A20,BakeCooling SV B: 温度4
6414,BakeCooling_SV_B_Temp5,A20,BakeCooling SV B: 温度5
6415,BakeCooling_SV_B_Temp6,A20,BakeCooling SV B: 温度6
6416,BakeCooling_SV_B_Temp7,A20,BakeCooling SV B: 温度7
6417,BakeCooling_SV_B_BakeRemaining,A20,BakeCooling SV B: 烘烤剩余时间
6418,BakeCooling_SV_B_CoolStep,A20,BakeCooling SV B: 冷却步骤
6419,BakeCooling_SV_B_CoolRemaining,A20,BakeCooling SV B: 冷却剩余时间
6500,BakeCooling_PD_ParamIndex,A20,BakeCooling PD: 参数序号
6501,BakeCooling_PD_TimeOrTemp1,A20,BakeCooling PD: 时间/温度1
6502,BakeCooling_PD_TimeOrTemp2,A20,BakeCooling PD: 时间/温度2
6503,BakeCooling_PD_Reserved,A20,BakeCooling PD: 预留
6600,Measurement_SV_ProcessStep,A20,Measurement SV: 工艺运行步骤
6601,Measurement_SV_AOIScore,A20,Measurement SV: AOI分数
6700,Measurement_PD_ParamIndex,A20,Measurement PD: 参数序号
6701,Measurement_PD_Time,A20,Measurement PD: 时间
6702,Measurement_PD_Value1,A20,Measurement PD: 测量值1
6703,Measurement_PD_Value2,A20,Measurement PD: 测量值2
10200,SlotMap,U1,SlotMap(Scan)
10201,SlotMapScan,U1,SlotMap(Scan)
10202,SlotMapDownload,U1,SlotMap(Download)
DVID,DV Name,DV Format,DV Remark
6000,Bonder_SV_ProcessStep,A20,Bonder SV: 工艺运行步骤
6001,Bonder_SV_BladderPressure,A20,Bonder SV: 气囊压力当前
6002,Bonder_SV_UpperChamberPressure,A20,Bonder SV: 上腔压力合计
6003,Bonder_SV_PipeVacuumGauge,A20,Bonder SV: 管道真空表
6004,Bonder_SV_ChamberVacuumGauge,A20,Bonder SV: 腔体真空表
6005,Bonder_SV_UpperTemp1,A20,Bonder SV: 上腔温度1
6006,Bonder_SV_UpperTemp2,A20,Bonder SV: 上腔温度2
6007,Bonder_SV_UpperTemp3,A20,Bonder SV: 上腔温度3
6008,Bonder_SV_UpperTemp4,A20,Bonder SV: 上腔温度4
6009,Bonder_SV_UpperTemp5,A20,Bonder SV: 上腔温度5
6010,Bonder_SV_UpperTemp6,A20,Bonder SV: 上腔温度6
6011,Bonder_SV_LowerTemp1,A20,Bonder SV: 下腔温度1
6012,Bonder_SV_LowerTemp2,A20,Bonder SV: 下腔温度2
6013,Bonder_SV_LowerTemp3,A20,Bonder SV: 下腔温度3
6014,Bonder_SV_LowerTemp4,A20,Bonder SV: 下腔温度4
6015,Bonder_SV_LowerTemp5,A20,Bonder SV: 下腔温度5
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: 破真空延时
6103,Bonder_PD_TurboPumpStartDelay,A20,Bonder PD: 分子泵启动延时
6104,Bonder_PD_AttachVacuumDelay,A20,Bonder PD: 抽真空延时
6105,Bonder_PD_HeatingWaitDelay,A20,Bonder PD: 等待加热延时
6106,Bonder_PD_BladderPressureSet,A20,Bonder PD: 气囊压力设定
6107,Bonder_PD_BladderPressurizeRate,A20,Bonder PD: 气囊加压速率
6108,Bonder_PD_BladderDepressurizeRate,A20,Bonder PD: 气囊泄压速率
6109,Bonder_PD_AttachPressureLimit,A20,Bonder PD: 贴合压力上限
6110,Bonder_PD_UpperZTorqueSpeed,A20,Bonder PD: 上腔Z预贴合速度
6111,Bonder_PD_UpperTempSet,A20,Bonder PD: 上腔温度设定
6112,Bonder_PD_LowerTempSet,A20,Bonder PD: 下腔温度设定
6113,Bonder_PD_PreAttachSpeed,A20,Bonder PD: 预贴合速度
6114,Bonder_PD_AttachSpeed,A20,Bonder PD: 贴合速度
6115,Bonder_PD_UpperHeatDistance,A20,Bonder PD: 上腔加热距离
6116,Bonder_PD_AttachPressIn,A20,Bonder PD: 贴合压入力
6117,Bonder_PD_UpperBreakVacuumDist,A20,Bonder PD: 上腔破真空距离
6118,Bonder_PD_LowerPinBreakVacuumDist,A20,Bonder PD: 下顶针破真空距离
6119,Bonder_PD_LowerPinHeatDistance,A20,Bonder PD: 下顶针加热距离
6120,Bonder_PD_PumpGaugeSet,A20,Bonder PD: 真空泵真空设定
6121,Bonder_PD_TurboReachSet,A20,Bonder PD: 分子泵到达设定
6200,VacuumBake_SV_A_ProcessStep,A20,VacuumBake SV A: 工艺运行步骤
6201,VacuumBake_SV_A_ChamberVacuum,A20,VacuumBake SV A: 腔体真空
6202,VacuumBake_SV_A_Temp1,A20,VacuumBake SV A: 温度1
6203,VacuumBake_SV_A_Temp2,A20,VacuumBake SV A: 温度2
6204,VacuumBake_SV_A_Temp4,A20,VacuumBake SV A: 温度4
6205,VacuumBake_SV_A_Temp5,A20,VacuumBake SV A: 温度5
6206,VacuumBake_SV_A_Temp6,A20,VacuumBake SV A: 温度6
6207,VacuumBake_SV_A_Temp7,A20,VacuumBake SV A: 温度7
6208,VacuumBake_SV_A_BakeRemaining,A20,VacuumBake SV A: 烘烤剩余时间
6209,VacuumBake_SV_B_ProcessStep,A20,VacuumBake SV B: 工艺运行步骤
6210,VacuumBake_SV_B_ChamberVacuum,A20,VacuumBake SV B: 腔体真空
6211,VacuumBake_SV_B_Temp1,A20,VacuumBake SV B: 温度1
6212,VacuumBake_SV_B_Temp2,A20,VacuumBake SV B: 温度2
6213,VacuumBake_SV_B_Temp4,A20,VacuumBake SV B: 温度4
6214,VacuumBake_SV_B_Temp5,A20,VacuumBake SV B: 温度5
6215,VacuumBake_SV_B_Temp6,A20,VacuumBake SV B: 温度6
6216,VacuumBake_SV_B_Temp7,A20,VacuumBake SV B: 温度7
6217,VacuumBake_SV_B_BakeRemaining,A20,VacuumBake SV B: 烘烤剩余时间
6300,VacuumBake_PD_ParamIndex,A20,VacuumBake PD: 参数序号
6301,VacuumBake_PD_HeatTime,A20,VacuumBake PD: 加热时间
6302,VacuumBake_PD_BreakVacuumTime,A20,VacuumBake PD: 破真空时间
6303,VacuumBake_PD_VacuumReach,A20,VacuumBake PD: 真空达到值
6304,VacuumBake_PD_TempSet,A20,VacuumBake PD: 主控温度设定
6400,BakeCooling_SV_A_BakeStep,A20,BakeCooling SV A: 烘烤步骤
6401,BakeCooling_SV_A_Temp1,A20,BakeCooling SV A: 温度1
6402,BakeCooling_SV_A_Temp2,A20,BakeCooling SV A: 温度2
6403,BakeCooling_SV_A_Temp4,A20,BakeCooling SV A: 温度4
6404,BakeCooling_SV_A_Temp5,A20,BakeCooling SV A: 温度5
6405,BakeCooling_SV_A_Temp6,A20,BakeCooling SV A: 温度6
6406,BakeCooling_SV_A_Temp7,A20,BakeCooling SV A: 温度7
6407,BakeCooling_SV_A_BakeRemaining,A20,BakeCooling SV A: 烘烤剩余时间
6408,BakeCooling_SV_A_CoolStep,A20,BakeCooling SV A: 冷却步骤
6409,BakeCooling_SV_A_CoolRemaining,A20,BakeCooling SV A: 冷却剩余时间
6410,BakeCooling_SV_B_BakeStep,A20,BakeCooling SV B: 烘烤步骤
6411,BakeCooling_SV_B_Temp1,A20,BakeCooling SV B: 温度1
6412,BakeCooling_SV_B_Temp2,A20,BakeCooling SV B: 温度2
6413,BakeCooling_SV_B_Temp4,A20,BakeCooling SV B: 温度4
6414,BakeCooling_SV_B_Temp5,A20,BakeCooling SV B: 温度5
6415,BakeCooling_SV_B_Temp6,A20,BakeCooling SV B: 温度6
6416,BakeCooling_SV_B_Temp7,A20,BakeCooling SV B: 温度7
6417,BakeCooling_SV_B_BakeRemaining,A20,BakeCooling SV B: 烘烤剩余时间
6418,BakeCooling_SV_B_CoolStep,A20,BakeCooling SV B: 冷却步骤
6419,BakeCooling_SV_B_CoolRemaining,A20,BakeCooling SV B: 冷却剩余时间
6500,BakeCooling_PD_ParamIndex,A20,BakeCooling PD: 参数序号
6501,BakeCooling_PD_TimeOrTemp1,A20,BakeCooling PD: 时间/温度1
6502,BakeCooling_PD_TimeOrTemp2,A20,BakeCooling PD: 时间/温度2
6503,BakeCooling_PD_Reserved,A20,BakeCooling PD: 预留
6600,Measurement_SV_ProcessStep,A20,Measurement SV: 工艺运行步骤
6601,Measurement_SV_AOIScore,A20,Measurement SV: AOI分数
6700,Measurement_PD_ParamIndex,A20,Measurement PD: 参数序号
6701,Measurement_PD_Time,A20,Measurement PD: 时间
6702,Measurement_PD_Value1,A20,Measurement PD: 测量值1
6703,Measurement_PD_Value2,A20,Measurement PD: 测量值2
10200,SlotMap,U1,SlotMap(Scan)
10201,SlotMapScan,U1,SlotMap(Scan)
10202,SlotMapDownload,U1,SlotMap(Download)
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)