LAPTOP-SNT8I5JK\Boounion
2025-04-26 e1b3a1f5e35b09be95d694bc259b0ba92c4d3436
1.再一次修改地址;
已添加2个文件
已修改2个文件
278 ■■■■ 文件已修改
Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.5.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
Document/ESWIN_EAS_Equipment_Communication_Specification(CC-LINK)_v3.1(翻译结果).docx 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.cpp 144 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Common.h 134 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.5.xlsx
Binary files differ
Document/ESWIN_EAS_Equipment_Communication_Specification(CC-LINK)_v3.1(·­Òë½á¹û).docx
Binary files differ
SourceCode/Bond/Servo/CMaster.cpp
@@ -327,7 +327,7 @@
        pEquipment->setBaseAlarmId(BASE_ALARM_EFEM);
        pEquipment->setName("EFEM(ROBOT)");
        pEquipment->setDescription("EFEM(ROBOT).");
        pEquipment->setReadBitBlock(0x4000, 0x4aff);
        pEquipment->setReadBitBlock(0x3000, 0x3aff);
        pEquipment->setStation(0, 255);
        addToEquipmentList(pEquipment);
@@ -337,7 +337,7 @@
            CEqModeStep* pStep = new CEqModeStep();
            pStep->setName(STEP_MODE);
            pStep->setWriteSignalDev(0x50);
            pStep->setModeDev(0x6c7d);
            pStep->setModeDev(0x5d7d);
            if (pEquipment->addStep(STEP_ID_EQMODE_CHANGED, pStep) != 0) {
                delete pStep;
            }
@@ -346,7 +346,7 @@
            CEqStatusStep* pStep = new CEqStatusStep();
            pStep->setName(STEP_STATUS);
            pStep->setWriteSignalDev(0x51);
            pStep->setStatusDev(0x6c59);
            pStep->setStatusDev(0x5d59);
            if (pEquipment->addStep(STEP_ID_EQSTATUS_CHANGED, pStep) != 0) {
                delete pStep;
            }
@@ -355,7 +355,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK1);
            pStep->setWriteSignalDev(0x52);
            pStep->setAlarmDev(0x6e0e);
            pStep->setAlarmDev(0x5f0e);
            if (pEquipment->addStep(STEP_ID_EQALARM1, pStep) != 0) {
                delete pStep;
            }
@@ -364,7 +364,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK2);
            pStep->setWriteSignalDev(0x53);
            pStep->setAlarmDev(0x6e3b);
            pStep->setAlarmDev(0x5f3b);
            if (pEquipment->addStep(STEP_ID_EQALARM2, pStep) != 0) {
                delete pStep;
            }
@@ -373,7 +373,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK3);
            pStep->setWriteSignalDev(0x54);
            pStep->setAlarmDev(0x6e68);
            pStep->setAlarmDev(0x5f68);
            if (pEquipment->addStep(STEP_ID_EQALARM3, pStep) != 0) {
                delete pStep;
            }
@@ -382,7 +382,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK4);
            pStep->setWriteSignalDev(0x55);
            pStep->setAlarmDev(0x6e95);
            pStep->setAlarmDev(0x5f95);
            if (pEquipment->addStep(STEP_ID_EQALARM4, pStep) != 0) {
                delete pStep;
            }
@@ -391,7 +391,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK5);
            pStep->setWriteSignalDev(0x56);
            pStep->setAlarmDev(0x6ec2);
            pStep->setAlarmDev(0x5fc2);
            if (pEquipment->addStep(STEP_ID_EQALARM5, pStep) != 0) {
                delete pStep;
            }
@@ -400,7 +400,7 @@
            CEqProcessStep* pStep = new CEqProcessStep();
            pStep->setName(STEP_PROCESS);
            pStep->setWriteSignalDev(0x57);
            pStep->setProcessDev(0x7a55);
            pStep->setProcessDev(0x6b55);
            if (pEquipment->addStep(STEP_ID_PROCESS_DATA_REPORT, pStep) != 0) {
                delete pStep;
            }
@@ -425,7 +425,7 @@
        }
        {
            // CIM Message Confirm
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6c80);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x5f80);
            pStep->setName(STEP_EQ_CIM_MESSAGE_CONFIRM);
            pStep->setWriteSignalDev(0x59);
            if (pEquipment->addStep(STEP_ID_CIM_MSG_CONFIRM_REPORT, pStep) != 0) {
@@ -471,7 +471,7 @@
        // Port1
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f10);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6010);
            pStep->setName(STEP_EQ_PORT1_TYPE);
            pStep->setWriteSignalDev(0xa0);
            if (pEquipment->addStep(STEP_ID_PORT1_TYPE_CHANGE, pStep) != 0) {
@@ -479,7 +479,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f11);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6011);
            pStep->setName(STEP_EQ_PORT1_MODE);
            pStep->setWriteSignalDev(0xa8);
            if (pEquipment->addStep(STEP_ID_PORT1_MODE_CHANGE, pStep) != 0) {
@@ -487,7 +487,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6f12);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6012);
            pStep->setName(STEP_EQ_PORT1_CASSETTE_TYPE);
            pStep->setWriteSignalDev(0xb0);
            if (pEquipment->addStep(STEP_ID_PORT1_CASSETTE_TYPE_CHANGE, pStep) != 0) {
@@ -495,7 +495,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f14);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6014);
            pStep->setName(STEP_EQ_PORT1_TRANSFER_MODE);
            pStep->setWriteSignalDev(0xb8);
            if (pEquipment->addStep(STEP_ID_PORT1_TRANSFER_MODE_CHANGE, pStep) != 0) {
@@ -503,7 +503,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f15);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6015);
            pStep->setName(STEP_EQ_PORT1_ENABLE);
            pStep->setWriteSignalDev(0xc0);
            if (pEquipment->addStep(STEP_ID_PORT1_ENABLE_MODE_CHANGE, pStep) != 0) {
@@ -511,7 +511,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f16);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6016);
            pStep->setName(STEP_EQ_PORT1_TYPE_ATUO);
            pStep->setWriteSignalDev(0xc8);
            if (pEquipment->addStep(STEP_ID_PORT1_TYPE_AUTO_CHANGE, pStep) != 0) {
@@ -521,7 +521,7 @@
        // Port2
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f20);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6020);
            pStep->setName(STEP_EQ_PORT2_TYPE);
            pStep->setWriteSignalDev(0xa1);
            if (pEquipment->addStep(STEP_ID_PORT2_TYPE_CHANGE, pStep) != 0) {
@@ -529,7 +529,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f21);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6021);
            pStep->setName(STEP_EQ_PORT2_MODE);
            pStep->setWriteSignalDev(0xa9);
            if (pEquipment->addStep(STEP_ID_PORT2_MODE_CHANGE, pStep) != 0) {
@@ -537,7 +537,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6f22);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6022);
            pStep->setName(STEP_EQ_PORT2_CASSETTE_TYPE);
            pStep->setWriteSignalDev(0xb1);
            if (pEquipment->addStep(STEP_ID_PORT2_CASSETTE_TYPE_CHANGE, pStep) != 0) {
@@ -545,7 +545,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f24);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6024);
            pStep->setName(STEP_EQ_PORT2_TRANSFER_MODE);
            pStep->setWriteSignalDev(0xb9);
            if (pEquipment->addStep(STEP_ID_PORT2_TRANSFER_MODE_CHANGE, pStep) != 0) {
@@ -553,7 +553,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f25);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6025);
            pStep->setName(STEP_EQ_PORT2_ENABLE);
            pStep->setWriteSignalDev(0xc1);
            if (pEquipment->addStep(STEP_ID_PORT2_ENABLE_MODE_CHANGE, pStep) != 0) {
@@ -561,7 +561,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f26);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6026);
            pStep->setName(STEP_EQ_PORT2_TYPE_ATUO);
            pStep->setWriteSignalDev(0xc9);
            if (pEquipment->addStep(STEP_ID_PORT2_TYPE_AUTO_CHANGE, pStep) != 0) {
@@ -571,7 +571,7 @@
        // Port3
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f30);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6030);
            pStep->setName(STEP_EQ_PORT3_TYPE);
            pStep->setWriteSignalDev(0xa2);
            if (pEquipment->addStep(STEP_ID_PORT3_TYPE_CHANGE, pStep) != 0) {
@@ -579,7 +579,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f31);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6031);
            pStep->setName(STEP_EQ_PORT3_MODE);
            pStep->setWriteSignalDev(0xaa);
            if (pEquipment->addStep(STEP_ID_PORT3_MODE_CHANGE, pStep) != 0) {
@@ -587,7 +587,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6f32);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6032);
            pStep->setName(STEP_EQ_PORT3_CASSETTE_TYPE);
            pStep->setWriteSignalDev(0xb2);
            if (pEquipment->addStep(STEP_ID_PORT3_CASSETTE_TYPE_CHANGE, pStep) != 0) {
@@ -595,7 +595,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f34);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6034);
            pStep->setName(STEP_EQ_PORT3_TRANSFER_MODE);
            pStep->setWriteSignalDev(0xba);
            if (pEquipment->addStep(STEP_ID_PORT3_TRANSFER_MODE_CHANGE, pStep) != 0) {
@@ -603,7 +603,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f35);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6035);
            pStep->setName(STEP_EQ_PORT3_ENABLE);
            pStep->setWriteSignalDev(0xc2);
            if (pEquipment->addStep(STEP_ID_PORT3_ENABLE_MODE_CHANGE, pStep) != 0) {
@@ -611,7 +611,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f36);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6036);
            pStep->setName(STEP_EQ_PORT3_TYPE_ATUO);
            pStep->setWriteSignalDev(0xca);
            if (pEquipment->addStep(STEP_ID_PORT3_TYPE_AUTO_CHANGE, pStep) != 0) {
@@ -621,7 +621,7 @@
        // Port4
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f40);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6040);
            pStep->setName(STEP_EQ_PORT4_TYPE);
            pStep->setWriteSignalDev(0xa3);
            if (pEquipment->addStep(STEP_ID_PORT4_TYPE_CHANGE, pStep) != 0) {
@@ -629,7 +629,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f41);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6041);
            pStep->setName(STEP_EQ_PORT4_MODE);
            pStep->setWriteSignalDev(0xab);
            if (pEquipment->addStep(STEP_ID_PORT4_MODE_CHANGE, pStep) != 0) {
@@ -637,7 +637,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6f42);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x6042);
            pStep->setName(STEP_EQ_PORT4_CASSETTE_TYPE);
            pStep->setWriteSignalDev(0xb3);
            if (pEquipment->addStep(STEP_ID_PORT4_CASSETTE_TYPE_CHANGE, pStep) != 0) {
@@ -645,7 +645,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f44);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6044);
            pStep->setName(STEP_EQ_PORT4_TRANSFER_MODE);
            pStep->setWriteSignalDev(0xbb);
            if (pEquipment->addStep(STEP_ID_PORT4_TRANSFER_MODE_CHANGE, pStep) != 0) {
@@ -653,7 +653,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f45);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6045);
            pStep->setName(STEP_EQ_PORT4_ENABLE);
            pStep->setWriteSignalDev(0xc3);
            if (pEquipment->addStep(STEP_ID_PORT4_ENABLE_MODE_CHANGE, pStep) != 0) {
@@ -661,7 +661,7 @@
            }
        }
        {
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6f46);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT16, 0x6046);
            pStep->setName(STEP_EQ_PORT4_TYPE_ATUO);
            pStep->setWriteSignalDev(STEP_ID_PORT4_TYPE_AUTO_CHANGE);
            if (pEquipment->addStep(0xcb, pStep) != 0) {
@@ -672,53 +672,53 @@
        // CEqCassetteTranserStateStep
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_EMPTY, 0xd8, 
            STEP_ID_PORT1_CASSETTIE_EMPTY, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_EMPTY, 0x6050);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_LOAD_EADY, 0xe0,
            STEP_ID_PORT1_CASSETTIE_LOAD_READY, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_LOAD_READY, 0x6050);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_LOADED, 0xe8, 
            STEP_ID_PORT1_CASSETTIE_LOADED, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_LOADED, 0x6050);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_INUSE, 0xf0,
            STEP_ID_PORT1_CASSETTIE_INUSE, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_INUSE, 0x6050);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_UNLOAD_EADY, 0xf8,
            STEP_ID_PORT1_CASSETTIE_UNLOAD_READY, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_UNLOAD_READY, 0x60f50);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_BLOCKED, 0x100,
            STEP_ID_PORT1_CASSETTIE_BLOCKED, 0x6f50);
            STEP_ID_PORT1_CASSETTIE_BLOCKED, 0x6050);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_EMPTY, 0xd9,
            STEP_ID_PORT2_CASSETTIE_EMPTY, 0x6f70);
            STEP_ID_PORT2_CASSETTIE_EMPTY, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_LOAD_EADY, 0xe1,
            STEP_ID_PORT2_CASSETTIE_LOAD_READY, 0x6f70, 0x4d7f);
            STEP_ID_PORT2_CASSETTIE_LOAD_READY, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_LOADED, 0xe9, 
            STEP_ID_PORT2_CASSETTIE_LOADED, 0x6f70);
            STEP_ID_PORT2_CASSETTIE_LOADED, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_INUSE, 0xf1, 
            STEP_ID_PORT2_CASSETTIE_INUSE, 0x6f70);
            STEP_ID_PORT2_CASSETTIE_INUSE, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_UNLOAD_EADY, 0xf9, 
            STEP_ID_PORT2_CASSETTIE_UNLOAD_READY, 0x6f70);
            STEP_ID_PORT2_CASSETTIE_UNLOAD_READY, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P2_CASSETTE_BLOCKED, 0x101, 
            STEP_ID_PORT2_CASSETTIE_BLOCKED, 0x6f70);
            STEP_ID_PORT2_CASSETTIE_BLOCKED, 0x6070);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_EMPTY, 0xda,
            STEP_ID_PORT3_CASSETTIE_EMPTY, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_EMPTY, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_LOAD_EADY, 0xe2, 
            STEP_ID_PORT3_CASSETTIE_LOAD_READY, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_LOAD_READY, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_LOADED, 0xea, 
            STEP_ID_PORT3_CASSETTIE_INUSE, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_INUSE, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_INUSE, 0xf2, 
            STEP_ID_PORT3_CASSETTIE_INUSE, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_INUSE, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_UNLOAD_EADY, 0xfa, 
            STEP_ID_PORT3_CASSETTIE_UNLOAD_READY, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_UNLOAD_READY, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P3_CASSETTE_BLOCKED, 0x102, 
            STEP_ID_PORT3_CASSETTIE_BLOCKED, 0x6f90);
            STEP_ID_PORT3_CASSETTIE_BLOCKED, 0x6090);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_EMPTY, 0xdb,
            STEP_ID_PORT4_CASSETTIE_EMPTY, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_EMPTY, 0x60b0);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_LOAD_EADY, 0xe3, 
            STEP_ID_PORT4_CASSETTIE_LOAD_READY, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_LOAD_READY, 0x60b0);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_LOADED, 0xeb, 
            STEP_ID_PORT4_CASSETTIE_LOADED, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_LOADED, 0x60b0);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_INUSE, 0xf3, 
            STEP_ID_PORT4_CASSETTIE_INUSE, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_INUSE, 0x60b0);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_UNLOAD_EADY, 0xfb, 
            STEP_ID_PORT4_CASSETTIE_UNLOAD_READY, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_UNLOAD_READY, 0x60b0);
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P4_CASSETTE_BLOCKED, 0x103, 
            STEP_ID_PORT4_CASSETTIE_BLOCKED, 0x6fb0);
            STEP_ID_PORT4_CASSETTIE_BLOCKED, 0x60b0);
        pEquipment->init();
        LOGE("已添加“EFEM(ROBOT)”.");
@@ -737,7 +737,7 @@
        pEquipment->setName(index == 0 ? "Bonder 1" : "Bonder 2");
        pEquipment->setDescription(index == 0 ? "Bonder 1." : "Bonder 2.");
        pEquipment->setStation(0, 255);
        pEquipment->setReadBitBlock(index == 0 ? 0x4b00 : 0x5600,
        pEquipment->setReadBitBlock(index == 0 ? 0x3b00 : 0x4600,
            index == 0 ? 0x5600 : 0x6100);
        addToEquipmentList(pEquipment);
@@ -747,7 +747,7 @@
            CEqModeStep* pStep = new CEqModeStep();
            pStep->setName(STEP_MODE);
            pStep->setWriteSignalDev(index == 0 ? 0x350 : 0x650);
            pStep->setModeDev(index == 0 ? 0xad7d : 0xee7d);
            pStep->setModeDev(index == 0 ? 0x9d7d : 0xdd7d);
            if (pEquipment->addStep(STEP_ID_EQMODE_CHANGED, pStep) != 0) {
                delete pStep;
            }
@@ -756,7 +756,7 @@
            CEqStatusStep* pStep = new CEqStatusStep();
            pStep->setName(STEP_STATUS);
            pStep->setWriteSignalDev(index == 0 ? 0x351 : 0x651);
            pStep->setStatusDev(index == 0 ? 0xad59 : 0xee59);
            pStep->setStatusDev(index == 0 ? 0x9d59 : 0xdd59);
            if (pEquipment->addStep(STEP_ID_EQSTATUS_CHANGED, pStep) != 0) {
                delete pStep;
            }
@@ -765,7 +765,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK1);
            pStep->setWriteSignalDev(index == 0 ? 0x352 : 0x652);
            pStep->setAlarmDev(index == 0 ? 0xaf0e : 0xf00e);
            pStep->setAlarmDev(index == 0 ? 0x9f0e : 0xdf0e);
            if (pEquipment->addStep(STEP_ID_EQALARM1, pStep) != 0) {
                delete pStep;
            }
@@ -774,7 +774,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK2);
            pStep->setWriteSignalDev(index == 0 ? 0x353 : 0x653);
            pStep->setAlarmDev(index == 0 ? 0xaf3b : 0xf03b);
            pStep->setAlarmDev(index == 0 ? 0x9f3b : 0xdf3b);
            if (pEquipment->addStep(STEP_ID_EQALARM2, pStep) != 0) {
                delete pStep;
            }
@@ -783,7 +783,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK3);
            pStep->setWriteSignalDev(index == 0 ? 0x354 : 0x654);
            pStep->setAlarmDev(index == 0 ? 0xaf8e : 0xf068);
            pStep->setAlarmDev(index == 0 ? 0x9f68 : 0xdf68);
            if (pEquipment->addStep(STEP_ID_EQALARM3, pStep) != 0) {
                delete pStep;
            }
@@ -792,7 +792,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK4);
            pStep->setWriteSignalDev(index == 0 ? 0x355 : 0x655);
            pStep->setAlarmDev(index == 0 ? 0xaf95 : 0xf095);
            pStep->setAlarmDev(index == 0 ? 0x9f95 : 0xdf95);
            if (pEquipment->addStep(STEP_ID_EQALARM4, pStep) != 0) {
                delete pStep;
            }
@@ -801,7 +801,7 @@
            CEqAlarmStep* pStep = new CEqAlarmStep();
            pStep->setName(STEP_ALARM_BLOCK5);
            pStep->setWriteSignalDev(index == 0 ? 0x356 : 0x656);
            pStep->setAlarmDev(index == 0 ? 0xafc2 : 0xf0c2);
            pStep->setAlarmDev(index == 0 ? 0x9fc2 : 0xdfc2);
            if (pEquipment->addStep(STEP_ID_EQALARM5, pStep) != 0) {
                delete pStep;
            }
@@ -810,7 +810,7 @@
            CEqProcessStep* pStep = new CEqProcessStep();
            pStep->setName(STEP_PROCESS);
            pStep->setWriteSignalDev(index == 0 ? 0x357 : 0x657);
            pStep->setProcessDev(index == 0 ? 0xbb55 : 0xfc55);
            pStep->setProcessDev(index == 0 ? 0xab55 : 0xeb55);
            if (pEquipment->addStep(STEP_ID_PROCESS_DATA_REPORT, pStep) != 0) {
                delete pStep;
            }
@@ -835,7 +835,7 @@
        }
        {
            // CIM Message Confirm
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, index == 0 ? 0xad80 : 0xee80);
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, index == 0 ? 0x9d80 : 0xdd80);
            pStep->setName(STEP_EQ_CIM_MESSAGE_CONFIRM);
            pStep->setWriteSignalDev(index == 0 ? 0x359 : 0x659);
            if (pEquipment->addStep(STEP_ID_CIM_MSG_CONFIRM_REPORT, pStep) != 0) {
@@ -873,7 +873,7 @@
            CEqJobEventStep* pStep = new CEqJobEventStep();
            pStep->setName(STEP_EQ_RECEIVED_JOB_UPS1);
            pStep->setWriteSignalDev(index == 0 ? 0x300 : 0x600);
            pStep->setJobDataDev(index == 0 ? 0x9510 : 0xd610);
            pStep->setJobDataDev(index == 0 ? 0x8c90 : 0xcc90);
            if (pEquipment->addStep(STEP_ID_RECIVE_JOB_UPS1, pStep) != 0) {
                delete pStep;
            }
@@ -882,7 +882,7 @@
            CEqJobEventStep* pStep = new CEqJobEventStep();
            pStep->setName(STEP_EQ_RECEIVED_JOB_UPS2);
            pStep->setWriteSignalDev(index == 0 ? 0x301 : 0x601);
            pStep->setJobDataDev(index == 0 ? 0x9650 : 0xd750);
            pStep->setJobDataDev(index == 0 ? 0x8dd0 : 0xcdd0);
            if (pEquipment->addStep(STEP_ID_RECIVE_JOB_UPS2, pStep) != 0) {
                delete pStep;
            }
@@ -891,7 +891,7 @@
            CEqJobEventStep* pStep = new CEqJobEventStep();
            pStep->setName(STEP_EQ_SENT_OUT_JOB_DOWNS1);
            pStep->setWriteSignalDev(index == 0 ? 0x310 : 0x610);
            pStep->setJobDataDev(index == 0 ? 0x8100 : 0xc200);
            pStep->setJobDataDev(index == 0 ? 0x8000 : 0xc000);
            if (pEquipment->addStep(STEP_ID_SENT_OUT_JOB_DOWNS1, pStep) != 0) {
                delete pStep;
            }
@@ -900,7 +900,7 @@
            CEqJobEventStep* pStep = new CEqJobEventStep();
            pStep->setName(STEP_EQ_SENT_OUT_JOB_DOWNS2);
            pStep->setWriteSignalDev(index == 0 ? 0x311 : 0x611);
            pStep->setJobDataDev(index == 0 ? 0x8240 : 0xc340);
            pStep->setJobDataDev(index == 0 ? 0x8140 : 0xc140);
            if (pEquipment->addStep(STEP_ID_SENT_OUT_JOB_DOWNS2, pStep) != 0) {
                delete pStep;
            }
SourceCode/Bond/Servo/Common.h
@@ -140,73 +140,73 @@
/* Step ID */
#define STEP_ID_CIMMODE_CHANGED_CMD_REPLY        0x850
#define STEP_ID_CIM_MSG_SET_CMD_REPLY            0x851
#define STEP_ID_CIM_MSG_CLEAR_CMD_REPLY            0x852
#define STEP_ID_DATETIME_SET_CMD_REPLY            0x853
#define STEP_ID_VCR_ENABLE_CMD_REPLY            0x854
#define STEP_ID_EQMODE_CHANGE_CMD_REPLY            0x855
#define STEP_ID_EQMODE_CHANGED                    0x860
#define STEP_ID_EQSTATUS_CHANGED                0x861
#define STEP_ID_EQALARM1                        0x862
#define STEP_ID_EQALARM2                        0x863
#define STEP_ID_EQALARM3                        0x864
#define STEP_ID_EQALARM4                        0x865
#define STEP_ID_EQALARM5                        0x866
#define STEP_ID_PROCESS_DATA_REPORT                0x867
#define STEP_ID_CIM_MSG_CONFIRM_REPORT            0x869
#define STEP_ID_RECIVE_JOB_UPS1                    0x880
#define STEP_ID_RECIVE_JOB_UPS2                    0x881
#define STEP_ID_SENT_OUT_JOB_DOWNS1                0x890
#define STEP_ID_SENT_OUT_JOB_DOWNS2                0x891
#define STEP_ID_PORT1_TYPE_CHANGE                0x900
#define STEP_ID_PORT2_TYPE_CHANGE                0x901
#define STEP_ID_PORT3_TYPE_CHANGE                0x902
#define STEP_ID_PORT4_TYPE_CHANGE                0x903
#define STEP_ID_PORT1_MODE_CHANGE                0x908
#define STEP_ID_PORT2_MODE_CHANGE                0x909
#define STEP_ID_PORT3_MODE_CHANGE                0x90A
#define STEP_ID_PORT4_MODE_CHANGE                0x90B
#define STEP_ID_PORT1_CASSETTE_TYPE_CHANGE        0x910
#define STEP_ID_PORT2_CASSETTE_TYPE_CHANGE        0x911
#define STEP_ID_PORT3_CASSETTE_TYPE_CHANGE        0x912
#define STEP_ID_PORT4_CASSETTE_TYPE_CHANGE        0x913
#define STEP_ID_PORT1_TRANSFER_MODE_CHANGE        0x918
#define STEP_ID_PORT2_TRANSFER_MODE_CHANGE        0x919
#define STEP_ID_PORT3_TRANSFER_MODE_CHANGE        0x91A
#define STEP_ID_PORT4_TRANSFER_MODE_CHANGE        0x91B
#define STEP_ID_PORT1_ENABLE_MODE_CHANGE        0x920
#define STEP_ID_PORT2_ENABLE_MODE_CHANGE        0x921
#define STEP_ID_PORT3_ENABLE_MODE_CHANGE        0x922
#define STEP_ID_PORT4_ENABLE_MODE_CHANGE        0x923
#define STEP_ID_PORT1_TYPE_AUTO_CHANGE            0x928
#define STEP_ID_PORT2_TYPE_AUTO_CHANGE            0x929
#define STEP_ID_PORT3_TYPE_AUTO_CHANGE            0x92A
#define STEP_ID_PORT4_TYPE_AUTO_CHANGE            0x92B
#define STEP_ID_PORT1_CASSETTIE_EMPTY            0x938
#define STEP_ID_PORT1_CASSETTIE_LOAD_READY        0x940
#define STEP_ID_PORT1_CASSETTIE_LOADED            0x948
#define STEP_ID_PORT1_CASSETTIE_INUSE            0x950
#define STEP_ID_PORT1_CASSETTIE_UNLOAD_READY    0x958
#define STEP_ID_PORT1_CASSETTIE_BLOCKED            0x960
#define STEP_ID_PORT2_CASSETTIE_EMPTY            0x939
#define STEP_ID_PORT2_CASSETTIE_LOAD_READY        0x941
#define STEP_ID_PORT2_CASSETTIE_LOADED            0x949
#define STEP_ID_PORT2_CASSETTIE_INUSE            0x951
#define STEP_ID_PORT2_CASSETTIE_UNLOAD_READY    0x959
#define STEP_ID_PORT2_CASSETTIE_BLOCKED            0x961
#define STEP_ID_PORT3_CASSETTIE_EMPTY            0x93a
#define STEP_ID_PORT3_CASSETTIE_LOAD_READY        0x942
#define STEP_ID_PORT3_CASSETTIE_LOADED            0x94a
#define STEP_ID_PORT3_CASSETTIE_INUSE            0x952
#define STEP_ID_PORT3_CASSETTIE_UNLOAD_READY    0x95a
#define STEP_ID_PORT3_CASSETTIE_BLOCKED            0x962
#define STEP_ID_PORT4_CASSETTIE_EMPTY            0x93b
#define STEP_ID_PORT4_CASSETTIE_LOAD_READY        0x943
#define STEP_ID_PORT4_CASSETTIE_LOADED            0x94b
#define STEP_ID_PORT4_CASSETTIE_INUSE            0x953
#define STEP_ID_PORT4_CASSETTIE_UNLOAD_READY    0x95b
#define STEP_ID_PORT4_CASSETTIE_BLOCKED            0x963
#define STEP_ID_CIMMODE_CHANGED_CMD_REPLY        0x550
#define STEP_ID_CIM_MSG_SET_CMD_REPLY            0x551
#define STEP_ID_CIM_MSG_CLEAR_CMD_REPLY            0x552
#define STEP_ID_DATETIME_SET_CMD_REPLY            0x553
#define STEP_ID_VCR_ENABLE_CMD_REPLY            0x554
#define STEP_ID_EQMODE_CHANGE_CMD_REPLY            0x555
#define STEP_ID_EQMODE_CHANGED                    0x560
#define STEP_ID_EQSTATUS_CHANGED                0x561
#define STEP_ID_EQALARM1                        0x562
#define STEP_ID_EQALARM2                        0x563
#define STEP_ID_EQALARM3                        0x564
#define STEP_ID_EQALARM4                        0x565
#define STEP_ID_EQALARM5                        0x566
#define STEP_ID_PROCESS_DATA_REPORT                0x567
#define STEP_ID_CIM_MSG_CONFIRM_REPORT            0x569
#define STEP_ID_RECIVE_JOB_UPS1                    0x580
#define STEP_ID_RECIVE_JOB_UPS2                    0x581
#define STEP_ID_SENT_OUT_JOB_DOWNS1                0x590
#define STEP_ID_SENT_OUT_JOB_DOWNS2                0x591
#define STEP_ID_PORT1_TYPE_CHANGE                0x600
#define STEP_ID_PORT2_TYPE_CHANGE                0x601
#define STEP_ID_PORT3_TYPE_CHANGE                0x602
#define STEP_ID_PORT4_TYPE_CHANGE                0x603
#define STEP_ID_PORT1_MODE_CHANGE                0x608
#define STEP_ID_PORT2_MODE_CHANGE                0x609
#define STEP_ID_PORT3_MODE_CHANGE                0x60A
#define STEP_ID_PORT4_MODE_CHANGE                0x60B
#define STEP_ID_PORT1_CASSETTE_TYPE_CHANGE        0x610
#define STEP_ID_PORT2_CASSETTE_TYPE_CHANGE        0x611
#define STEP_ID_PORT3_CASSETTE_TYPE_CHANGE        0x612
#define STEP_ID_PORT4_CASSETTE_TYPE_CHANGE        0x613
#define STEP_ID_PORT1_TRANSFER_MODE_CHANGE        0x618
#define STEP_ID_PORT2_TRANSFER_MODE_CHANGE        0x619
#define STEP_ID_PORT3_TRANSFER_MODE_CHANGE        0x61A
#define STEP_ID_PORT4_TRANSFER_MODE_CHANGE        0x61B
#define STEP_ID_PORT1_ENABLE_MODE_CHANGE        0x620
#define STEP_ID_PORT2_ENABLE_MODE_CHANGE        0x621
#define STEP_ID_PORT3_ENABLE_MODE_CHANGE        0x622
#define STEP_ID_PORT4_ENABLE_MODE_CHANGE        0x623
#define STEP_ID_PORT1_TYPE_AUTO_CHANGE            0x628
#define STEP_ID_PORT2_TYPE_AUTO_CHANGE            0x629
#define STEP_ID_PORT3_TYPE_AUTO_CHANGE            0x62A
#define STEP_ID_PORT4_TYPE_AUTO_CHANGE            0x62B
#define STEP_ID_PORT1_CASSETTIE_EMPTY            0x638
#define STEP_ID_PORT1_CASSETTIE_LOAD_READY        0x640
#define STEP_ID_PORT1_CASSETTIE_LOADED            0x648
#define STEP_ID_PORT1_CASSETTIE_INUSE            0x650
#define STEP_ID_PORT1_CASSETTIE_UNLOAD_READY    0x658
#define STEP_ID_PORT1_CASSETTIE_BLOCKED            0x660
#define STEP_ID_PORT2_CASSETTIE_EMPTY            0x639
#define STEP_ID_PORT2_CASSETTIE_LOAD_READY        0x641
#define STEP_ID_PORT2_CASSETTIE_LOADED            0x649
#define STEP_ID_PORT2_CASSETTIE_INUSE            0x651
#define STEP_ID_PORT2_CASSETTIE_UNLOAD_READY    0x659
#define STEP_ID_PORT2_CASSETTIE_BLOCKED            0x661
#define STEP_ID_PORT3_CASSETTIE_EMPTY            0x63a
#define STEP_ID_PORT3_CASSETTIE_LOAD_READY        0x642
#define STEP_ID_PORT3_CASSETTIE_LOADED            0x64a
#define STEP_ID_PORT3_CASSETTIE_INUSE            0x652
#define STEP_ID_PORT3_CASSETTIE_UNLOAD_READY    0x65a
#define STEP_ID_PORT3_CASSETTIE_BLOCKED            0x662
#define STEP_ID_PORT4_CASSETTIE_EMPTY            0x63b
#define STEP_ID_PORT4_CASSETTIE_LOAD_READY        0x643
#define STEP_ID_PORT4_CASSETTIE_LOADED            0x64b
#define STEP_ID_PORT4_CASSETTIE_INUSE            0x653
#define STEP_ID_PORT4_CASSETTIE_UNLOAD_READY    0x65b
#define STEP_ID_PORT4_CASSETTIE_BLOCKED            0x663
/* base alarm */