| | |
| | | delete pStep; |
| | | } |
| | | } |
| | | |
| | | // VCR Event Report |
| | | // æºå¨ä¸æ¥æ«ç ç»æï¼æ«ç å¨é¢è®¡å®è£
å¨å·¡è¾¹æ£æºå¨ä¸ |
| | | { |
| | | CEqReadStep* pStep = new CEqReadStep(0x5fef, 15 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | | decodeVCREventReport((CStep*)pFrom, pszData, size); |
| | | } |
| | | return -1; |
| | | }); |
| | | pStep->setName(STEP_EQ_VCR1_EVENT_REPORT); |
| | | pStep->setProp("Port", (void*)1); |
| | | pStep->setWriteSignalDev(0x4a); |
| | | pStep->setReturnDev(0x91e); |
| | | if (addStep(STEP_ID_VCR1_EVENT_REPORT, pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | } |
| | | |
| | | void CAligner::onReceiveLBData(const char* pszData, size_t size) |
| | |
| | | } |
| | | |
| | | { |
| | | // VCR Event Report |
| | | // æºå¨ä¸æ¥æ«ç ç»æï¼æ«ç å¨é¢è®¡å®è£
å¨å·¡è¾¹æ£æºå¨ä¸ |
| | | CEqReadStep* pStep = new CEqReadStep(0x5fef, 15 * 2, |
| | | [&](void* pFrom, int code, const char* pszData, size_t size) -> int { |
| | | if (code == ROK && pszData != nullptr && size > 0) { |
| | | decodeVCREventReport((CStep*)pFrom, pszData, size); |
| | | } |
| | | return -1; |
| | | }); |
| | | pStep->setName(STEP_EQ_VCR1_EVENT_REPORT); |
| | | pStep->setProp("Port", (void*)1); |
| | | pStep->setWriteSignalDev(0x4a); |
| | | pStep->setReturnDev(0x91e); |
| | | if (addStep(STEP_ID_VCR1_EVENT_REPORT, pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | |
| | | { |
| | | // eq cim message clear |
| | | CEqCimMessageClearStep* pStep = new CEqCimMessageClearStep(); |
| | | pStep->setName(STEP_CIM_MESSAGE_CLEAR); |
| | |
| | | return m_pPath; |
| | | } |
| | | |
| | | std::string CGlass::getPathDescription() |
| | | { |
| | | std::string strOut, strPath; |
| | | char szBuffer[256]; |
| | | |
| | | CPath* pTemp = m_pPath; |
| | | while (pTemp != nullptr) { |
| | | pTemp->getSimpleDescription(strPath); |
| | | strOut.append(strPath); |
| | | |
| | | pTemp = pTemp->getNext(); |
| | | if (pTemp != nullptr) { |
| | | strOut.append(" -> "); |
| | | } |
| | | } |
| | | |
| | | return strOut; |
| | | } |
| | | |
| | | CPath* CGlass::getPathWithEq(unsigned int nEqId, unsigned int nUnit) |
| | | { |
| | | CPath* pTemp = m_pPath; |
| | |
| | | { |
| | | return m_params; |
| | | } |
| | | |
| | | std::string CGlass::getParamsDescription() |
| | | { |
| | | std::string strOut; |
| | | |
| | | char szBuffer[256]; |
| | | for (auto p : m_params) { |
| | | if (!strOut.empty()) strOut.append(","); |
| | | if (p.getValueType() == PVT_INT) { |
| | | sprintf_s(szBuffer, 256, "%s:%d", p.getName().c_str(), p.getIntValue()); |
| | | } |
| | | else if (p.getValueType() == PVT_DOUBLE) { |
| | | sprintf_s(szBuffer, 256, "%s:%f", p.getName().c_str(), p.getDoubleValue()); |
| | | } |
| | | strOut.append(szBuffer); |
| | | } |
| | | |
| | | return strOut; |
| | | } |
| | | } |
| | |
| | | CPath* getPathWithEq(unsigned int nEqId, unsigned int nUnit); |
| | | CPath* getPath(); |
| | | void addPath(unsigned int nEqId, unsigned int nUnit); |
| | | std::string getPathDescription(); |
| | | std::string getParamsDescription(); |
| | | void serialize(CArchive& ar); |
| | | void setJobDataS(CJobDataS* pJobDataS); |
| | | void updateJobDataS(CJobDataS* pJobDataS); |
| | |
| | | #include "stdafx.h" |
| | | #include "CPath.h" |
| | | #include "ToolUnits.h" |
| | | #include "CServoUtilsTool.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | |
| | | strOut = strOut + ">"; |
| | | } |
| | | |
| | | void CPath::getSimpleDescription(std::string& strOut) |
| | | { |
| | | strOut = CServoUtilsTool::getEqUnitName(m_nEqID, m_nUnit); |
| | | } |
| | | |
| | | void CPath::serialize(CArchive& ar) |
| | | { |
| | | if (ar.IsStoring()) { |
| | |
| | | |
| | | public: |
| | | void getDescription(std::string& strOut); |
| | | void getSimpleDescription(std::string& strOut); |
| | | void serialize(CArchive& ar); |
| | | CPath* getPrev(); |
| | | CPath* getNext(); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #include "stdafx.h" |
| | | #include "CServoUtilsTool.h" |
| | | #include "Common.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CServoUtilsTool::CServoUtilsTool() |
| | | { |
| | | |
| | | } |
| | | |
| | | CServoUtilsTool::~CServoUtilsTool() |
| | | { |
| | | |
| | | } |
| | | |
| | | std::string CServoUtilsTool::getEqUnitName(int eqid, int unit) |
| | | { |
| | | /* |
| | | #define EQ_ID_LOADPORT1 1 |
| | | #define EQ_ID_LOADPORT2 2 |
| | | #define EQ_ID_LOADPORT3 3 |
| | | #define EQ_ID_LOADPORT4 4 |
| | | #define EQ_ID_ARM_TRAY1 5 |
| | | #define EQ_ID_ARM_TRAY2 6 |
| | | #define EQ_ID_ALIGNER 7 |
| | | #define EQ_ID_FLIPER 8 |
| | | #define EQ_ID_VACUUMBAKE 9 |
| | | #define EQ_ID_Bonder1 10 |
| | | #define EQ_ID_Bonder2 11 |
| | | #define EQ_ID_BAKE_COOLING 12 |
| | | #define EQ_ID_MEASUREMENT 13 |
| | | #define EQ_ID_EFEM 100 |
| | | #define EQ_ID_ARM 101 |
| | | #define EQ_ID_OPERATOR_REMOVE 102 |
| | | */ |
| | | char szBuffer[256]; |
| | | if (eqid == EQ_ID_LOADPORT1 |
| | | || eqid == EQ_ID_LOADPORT2 |
| | | || eqid == EQ_ID_LOADPORT3 |
| | | || eqid == EQ_ID_LOADPORT4 |
| | | ) { |
| | | sprintf_s(szBuffer, 256, "Port%d(Slot%d)", unit, eqid - EQ_ID_LOADPORT1 + 1); |
| | | return std::string(szBuffer); |
| | | } |
| | | |
| | | if (eqid == EQ_ID_ALIGNER) { |
| | | return "Aligner"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_FLIPER) { |
| | | return "Fliper"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_VACUUMBAKE) { |
| | | if (unit == 0) return "çç¤Aè
"; |
| | | if (unit == 1) return "çç¤Bè
"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_VACUUMBAKE) { |
| | | if (unit == 0) return "çç¤Aè
"; |
| | | if (unit == 1) return "çç¤Bè
"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_Bonder1) { |
| | | return "Bonder1"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_Bonder2) { |
| | | return "Bonder2"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_BAKE_COOLING) { |
| | | |
| | | if (unit == 0) return "åçç¤Aè
"; |
| | | if (unit == 1) return "å·å´A"; |
| | | if (unit == 0) return "åçç¤Bè
"; |
| | | if (unit == 1) return "å·å´B"; |
| | | } |
| | | |
| | | if (eqid == EQ_ID_MEASUREMENT) { |
| | | return "AOI"; |
| | | } |
| | | |
| | | return ""; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | |
| | | |
| | | namespace SERVO { |
| | | class CServoUtilsTool |
| | | { |
| | | public: |
| | | CServoUtilsTool(); |
| | | virtual ~CServoUtilsTool(); |
| | | |
| | | public: |
| | | static std::string getEqUnitName(int eqid, int unit); |
| | | }; |
| | | } |
| | | |
| | |
| | | <ClInclude Include="CPortStatusReport.h" /> |
| | | <ClInclude Include="CRobotTaskDlg.h" /> |
| | | <ClInclude Include="CSVData.h" /> |
| | | <ClInclude Include="CServoUtilsTool.h" /> |
| | | <ClInclude Include="CVariable.h" /> |
| | | <ClInclude Include="DeviceRecipeParamDlg.h" /> |
| | | <ClInclude Include="GlassJson.h" /> |
| | |
| | | <ClCompile Include="CPortStatusReport.cpp" /> |
| | | <ClCompile Include="CRobotTaskDlg.cpp" /> |
| | | <ClCompile Include="CSVData.cpp" /> |
| | | <ClCompile Include="CServoUtilsTool.cpp" /> |
| | | <ClCompile Include="CVariable.cpp" /> |
| | | <ClCompile Include="DeviceRecipeParamDlg.cpp" /> |
| | | <ClCompile Include="GlassJson.cpp" /> |
| | |
| | | </ClCompile> |
| | | <ClCompile Include="DeviceRecipeParamDlg.cpp" /> |
| | | <ClCompile Include="CSVData.cpp" /> |
| | | <ClCompile Include="CServoUtilsTool.cpp" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ClInclude Include="AlarmManager.h" /> |
| | |
| | | </ClInclude> |
| | | <ClInclude Include="DeviceRecipeParamDlg.h" /> |
| | | <ClInclude Include="CSVData.h" /> |
| | | <ClInclude Include="CServoUtilsTool.h" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ResourceCompile Include="Servo.rc" /> |