| | |
| | | { |
| | | // Received Job Report Upstream #1~9 |
| | | char szBuffer[256]; |
| | | for (int i = 0; i < 9; i++) { |
| | | for (int i = 0; i < 4; i++) { |
| | | CEqReadStep* pStep = new CEqReadStep(0x10c90 + 320 * i, 320 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | |
| | | { |
| | | // Sent Out Job Report Downstream #1~9 |
| | | char szBuffer[256]; |
| | | for (int i = 0; i < 9; i++) { |
| | | for (int i = 0; i < 4; i++) { |
| | | CEqReadStep* pStep = new CEqReadStep(0x10000 + 320 * i, 320 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | | int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port"); |
| | | if (port > 0) { |
| | | decodeReceivedJobReport((CStep*)pFrom, port, pszData, size); |
| | | decodeSentOutJobReport((CStep*)pFrom, port, pszData, size); |
| | | } |
| | | } |
| | | return -1; |
| | |
| | | { |
| | | // Fetched Out Job Report #1~15 |
| | | char szBuffer[256]; |
| | | for (int i = 0; i < 15; i++) { |
| | | for (int i = 0; i < 4; i++) { |
| | | CEqReadStep* pStep = new CEqReadStep(0x11c31 + 18 * i, 18 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | |
| | | { |
| | | // Stored Job Report #1~15 |
| | | char szBuffer[256]; |
| | | for (int i = 0; i < 15; i++) { |
| | | for (int i = 0; i < 4; i++) { |
| | | CEqReadStep* pStep = new CEqReadStep(0x11b23 + 18 * i, 18 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // process start/end report |
| | | { |
| | | CEqReadStep* pStep = new CEqReadStep(0x11D3F, 13 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | | decodeJobProcessStartReport((CStep*)pFrom, pszData, size); |
| | | } |
| | | return -1; |
| | | }); |
| | | pStep->setName(STEP_EQ_JOB_PROCESS_START_REPORT); |
| | | pStep->setProp("Port", (void*)1); |
| | | pStep->setWriteSignalDev(0x933); |
| | | if (addStep(STEP_ID_JOB_PROCESS_START_REPORT, pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | { |
| | | CEqReadStep* pStep = new CEqReadStep(0x11D4C, 13 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | | decodeJobProcessEndReport((CStep*)pFrom, pszData, size); |
| | | } |
| | | return -1; |
| | | }); |
| | | pStep->setName(STEP_EQ_JOB_PROCESS_END_REPORT); |
| | | pStep->setProp("Port", (void*)1); |
| | | pStep->setWriteSignalDev(0x934); |
| | | if (addStep(STEP_ID_JOB_PROCESS_END_REPORT, pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 必须要实现的虚函数,在此初始化Slot信息 |
| | |
| | | m_slot[1].enable(); |
| | | m_slot[1].setPosition(m_nID); |
| | | m_slot[1].setNo(2); |
| | | m_slot[1].setName("Bake 2"); |
| | | m_slot[1].setLinkSignalPath(0); |
| | | m_slot[1].setName("Cooling 1"); |
| | | m_slot[1].setLinkSignalPath(1); |
| | | m_slot[2].enable(); |
| | | m_slot[2].setPosition(m_nID); |
| | | m_slot[2].setNo(3); |
| | | m_slot[2].setName("Cooling 1"); |
| | | m_slot[2].setLinkSignalPath(1); |
| | | m_slot[2].setName("Bake 2"); |
| | | m_slot[2].setLinkSignalPath(2); |
| | | m_slot[3].enable(); |
| | | m_slot[3].setPosition(m_nID); |
| | | m_slot[3].setNo(4); |
| | | m_slot[3].setName("Cooling 2"); |
| | | m_slot[3].setLinkSignalPath(1); |
| | | m_slot[3].setLinkSignalPath(3); |
| | | } |
| | | |
| | | void CBakeCooling::onTimer(UINT nTimerid) |
| | |
| | | { |
| | | return 25000; |
| | | } |
| | | |
| | | bool CBakeCooling::isSlotProcessed(int slot) |
| | | { |
| | | CGlass* pGlass = getGlassFromSlot(slot); |
| | | if (pGlass == nullptr) return false; |
| | | return pGlass->isProcessed(m_nID, getSlotUnit(slot)); |
| | | } |
| | | } |