| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #include "stdafx.h" |
| | | #include "CEqCassetteTransferStateStep.h" |
| | | #include "Log.h" |
| | | #include "Common.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CEqCassetteTransferStateStep::CEqCassetteTransferStateStep() |
| | | { |
| | | m_nPortStatusDev = 0; |
| | | m_nPortStatus = 0; |
| | | m_nCassetteSequenceNo = 0; |
| | | m_nLoadingCassetteType = 0; |
| | | m_nQTimeFlag = 0; |
| | | m_nCassetteMappingState = 0; |
| | | m_nCassetteStatus = 0; |
| | | } |
| | | |
| | | CEqCassetteTransferStateStep::~CEqCassetteTransferStateStep() |
| | | { |
| | | |
| | | } |
| | | |
| | | void CEqCassetteTransferStateStep::getAttributeVector(CAttributeVector& attrubutes) |
| | | { |
| | | CReadStep::getAttributeVector(attrubutes); |
| | | |
| | | std::string strTemp; |
| | | attrubutes.addAttribute(new CAttribute("Dev", |
| | | ("W" + CToolUnits::toHexString(m_nPortStatusDev, strTemp)).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("Port Status", |
| | | getPortStatusDescription(strTemp).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("CassetteSequenceNo", |
| | | std::to_string(m_nCassetteSequenceNo).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("CassetteID", |
| | | m_strCassetteID.c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("LoadingCassetteType", |
| | | getLoadingCassetteTypeDescription(strTemp).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("Q-Time Flag", |
| | | getQTimeFlagDescription(strTemp).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("CassetteMappingState", |
| | | getCassetteMappingStateDescription(strTemp).c_str(), "")); |
| | | attrubutes.addAttribute(new CAttribute("CassetteStatus", |
| | | getCassetteStatusDescription(strTemp).c_str(), "")); |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::onReadData() |
| | | { |
| | | CReadStep::onReadData(); |
| | | |
| | | |
| | | char szBuffer[64]; |
| | | int nRet = m_pCclink->ReadData2(m_station, DeviceType::W, m_nPortStatusDev, |
| | | 64, szBuffer); |
| | | if (0 != nRet) { |
| | | return -1; |
| | | } |
| | | |
| | | |
| | | // Port statusï¼ |
| | | // 注ï¼ä¹å¯ä»¥æ ¹æ®m_nSignalTypeç弿¥å¤æç¶æå¼ |
| | | m_nPortStatus = (unsigned int)CToolUnits::toInt16(&szBuffer[0]); |
| | | |
| | | |
| | | // Cassetteåºå·ãID |
| | | m_nCassetteSequenceNo = (unsigned int)CToolUnits::toInt16(&szBuffer[2]); |
| | | convertString(&szBuffer[4], 20, m_strCassetteID); |
| | | |
| | | |
| | | // Job Existence Slot |
| | | if (PORT_INUSE == m_nPortStatus) { |
| | | |
| | | } |
| | | |
| | | |
| | | // Q-Time |
| | | if (PORT_UNLOAD_READY == m_nPortStatus) { |
| | | m_nQTimeFlag = (unsigned int)CToolUnits::toInt16(&szBuffer[50]); |
| | | } |
| | | |
| | | // å
¶å® |
| | | m_nCassetteMappingState = (unsigned int)CToolUnits::toInt16(&szBuffer[52]); |
| | | m_nCassetteStatus = (unsigned int)CToolUnits::toInt16(&szBuffer[54]); |
| | | if (m_nCassetteStatus > 1) { |
| | | m_nLoadingCassetteType = (unsigned int)CToolUnits::toInt16(&szBuffer[48]); |
| | | } |
| | | |
| | | |
| | | LOGI("<CCassetteTranserStateStep>Port status changed<Dev:%d, Status:%d, CassetteSequenceNo:%d>", |
| | | m_nPortStatusDev, m_nPortStatus, m_nCassetteSequenceNo); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::onComplete() |
| | | { |
| | | CReadStep::onComplete(); |
| | | LOGI("<CCassetteTranserStateStep> onComplete."); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::onTimeout() |
| | | { |
| | | CReadStep::onTimeout(); |
| | | LOGI("<CCassetteTranserStateStep> onTimeout."); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | void CEqCassetteTransferStateStep::setPortStatusDev(int nDev) |
| | | { |
| | | m_nPortStatusDev = nDev; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getPortStatus() |
| | | { |
| | | return m_nPortStatus; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getCassetteSequenceNo() |
| | | { |
| | | return m_nCassetteSequenceNo; |
| | | } |
| | | |
| | | std::string& CEqCassetteTransferStateStep::getCassetteID() |
| | | { |
| | | return m_strCassetteID; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getLoadingCassetteType() |
| | | { |
| | | return m_nLoadingCassetteType; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getQTimeFlag() |
| | | { |
| | | return m_nQTimeFlag; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getCassetteMappingState() |
| | | { |
| | | return m_nCassetteMappingState; |
| | | } |
| | | |
| | | int CEqCassetteTransferStateStep::getCassetteStatus() |
| | | { |
| | | return m_nCassetteStatus; |
| | | } |
| | | |
| | | /* |
| | | 1: Load Ready(Load Request) |
| | | 2: Loaded |
| | | 3: In Use (Load Complete) |
| | | 4: Unload Ready (Unload Request) |
| | | 5: Empty (Unload Complete) |
| | | 6: Blocked |
| | | */ |
| | | std::string& CEqCassetteTransferStateStep::getPortStatusDescription(std::string& strDescription) |
| | | { |
| | | switch (m_nPortStatus) { |
| | | case PORT_LOAD_READY: |
| | | strDescription = _T("Load Ready(Load Request)"); |
| | | break; |
| | | case PORT_LOADED: |
| | | strDescription = _T("Loaded"); |
| | | break; |
| | | case PORT_INUSE: |
| | | strDescription = _T("In Use (Load Complete)"); |
| | | break; |
| | | case PORT_UNLOAD_READY: |
| | | strDescription = _T("Unload Ready (Unload Request)"); |
| | | break; |
| | | case PORT_EMPTY: |
| | | strDescription = _T("Empty (Unload Complete)"); |
| | | break; |
| | | case PORT_BLOCKED: |
| | | strDescription = _T("Blocked"); |
| | | break; |
| | | default: |
| | | strDescription = _T(""); |
| | | break; |
| | | } |
| | | |
| | | return strDescription; |
| | | } |
| | | |
| | | /* |
| | | 1: Actual Cassette |
| | | 2: Empty Cassette |
| | | *Include this item only when cassette exists |
| | | */ |
| | | std::string& CEqCassetteTransferStateStep::getLoadingCassetteTypeDescription(std::string& strDescription) |
| | | { |
| | | switch (m_nLoadingCassetteType) { |
| | | case PORT_LOADING_CASSETTE_ACTUAL: |
| | | strDescription = _T("Actual Cassette"); |
| | | break; |
| | | case PORT_LOADING_CASSETTE_EMPTY: |
| | | strDescription = _T("Empty Cassette"); |
| | | break; |
| | | default: |
| | | strDescription = _T(""); |
| | | break; |
| | | } |
| | | |
| | | return strDescription; |
| | | } |
| | | |
| | | /* |
| | | 1: Normal Un-loading |
| | | 2: Q-Time Over & Un-loading |
| | | * Include this item only when Port Status is 'Unload Ready' |
| | | */ |
| | | std::string& CEqCassetteTransferStateStep::getQTimeFlagDescription(std::string& strDescription) |
| | | { |
| | | switch (m_nQTimeFlag) { |
| | | case Q_TIME_NORMAL: |
| | | strDescription = _T("Normal Un-loading"); |
| | | break; |
| | | case Q_TIME_OVER: |
| | | strDescription = _T("Q-Time Over & Un-loading"); |
| | | break; |
| | | default: |
| | | strDescription = _T(""); |
| | | break; |
| | | } |
| | | |
| | | return strDescription; |
| | | } |
| | | |
| | | /* |
| | | 1: mapping use |
| | | 2: mapping not use |
| | | */ |
| | | std::string& CEqCassetteTransferStateStep::getCassetteMappingStateDescription(std::string& strDescription) |
| | | { |
| | | switch (m_nCassetteMappingState) { |
| | | case CASSETTE_MAPPING_USE: |
| | | strDescription = _T("mapping use"); |
| | | break; |
| | | case CASSETTE_MAPPING_NOT_USE: |
| | | strDescription = _T("mapping not use"); |
| | | break; |
| | | default: |
| | | strDescription = _T(""); |
| | | break; |
| | | } |
| | | |
| | | return strDescription; |
| | | } |
| | | |
| | | /* |
| | | 1: No Cassette Exist |
| | | 2: Waiting for Cassette Data |
| | | 3: Waiting for Start Command |
| | | 4: Waiting for Processing |
| | | 5: In Processing |
| | | 6: Process Paused |
| | | 7: Process Completed |
| | | */ |
| | | std::string& CEqCassetteTransferStateStep::getCassetteStatusDescription(std::string& strDescription) |
| | | { |
| | | switch (m_nCassetteStatus) { |
| | | case CASSETTE_NO_EXIST: |
| | | strDescription = _T("No Cassette Exist"); |
| | | break; |
| | | case CASSETTE_WAITING_DATA: |
| | | strDescription = _T("Waiting for Cassette Data"); |
| | | break; |
| | | case CASSETTE_WAITING_START: |
| | | strDescription = _T("Waiting for Start Command"); |
| | | break; |
| | | case CASSETTE_WAITING_PROCCESSING: |
| | | strDescription = _T("Waiting for Processing"); |
| | | break; |
| | | case CASSETTE_IN_PROCCESSING: |
| | | strDescription = _T("In Processing"); |
| | | break; |
| | | case CASSETTE_PROCCESS_PAUSED: |
| | | strDescription = _T("Process Paused"); |
| | | break; |
| | | case CASSETTE_PROCCESS_COMPLETED: |
| | | strDescription = _T("Process Completed"); |
| | | break; |
| | | default: |
| | | strDescription = _T(""); |
| | | break; |
| | | } |
| | | |
| | | return strDescription; |
| | | } |
| | | } |