1.CollectionEvent列表从文件加载,界面上显示;
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | | ä¿¡å·åç§° | EASè§è²ï¼è¯»/åï¼ | 说æ | |
| | | | ------------------------------- | ---------- | ----------------- | |
| | | | Downstream Inline | 读 | 䏿¸¸Inlineç¶æï¼è®¾å¤åç¥ä¸»æº | |
| | | | Downstream Trouble | 读 | 䏿¸¸å¼å¸¸éç¥ï¼è®¾å¤åç»ä¸»æº | |
| | | | Interlock | 读 | äºéç¶æï¼è®¾å¤åé¦ | |
| | | | Send Able | 读 | è®¾å¤æ¯å¦åå¤å¥½åéGlassä¿¡å· | |
| | | | Send Start | å | ä¸»æºæä»¤è®¾å¤å¼å§åéGlass | |
| | | | Job Transfer | å | ä¸»æºæä»¤è®¾å¤è¿è¡Job转移 | |
| | | | Send Complete | 读 | 设å¤åé¦åéå®æä¿¡å· | |
| | | | Shutter State | 读 | è®¾å¤æ¡æ¿ç¶æï¼è®¾å¤åé¦ | |
| | | | Pin State | 读 | 设å¤éèç¶æ | |
| | | | Slot Pair Flag | 读 | 设å¤åé¦Sloté
å¯¹ç¶æ | |
| | | | Arm Slot Pair Flag | 读 | æºæ¢°èSloté
å¯¹ç¶æ | |
| | | | Exchange Possible | 读 | 设å¤å馿¯å¦å
è®¸äº¤æ¢ | |
| | | | Exchange Execute | å | 主æºä¸åæ§è¡äº¤æ¢æä»¤ | |
| | | | Cancel Request | å | 主æºåæ¶å½åæä½è¯·æ± | |
| | | | Cancel Ack | 读 | 设å¤ç¡®è®¤åæ¶æä½ | |
| | | | Cancel Nck | 读 | è®¾å¤æç»åæ¶æä½ | |
| | | | Abort Request | å | 主æºè¯·æ±ä¸æ¢æä½ | |
| | | | Abort Ack | 读 | 设å¤ç¡®è®¤ä¸æ¢æä½ | |
| | | | Abort Nck | 读 | è®¾å¤æç»ä¸æ¢æä½ | |
| | | | Resume Request | å | 主æºè¯·æ±æ¢å¤æä½ | |
| | | | Resume Ack | 读 | 设å¤ç¡®è®¤æ¢å¤æä½ | |
| | | | Resume Nak | 读 | è®¾å¤æç»æ¢å¤æä½ | |
| | | | Abnormal | 读 | 设å¤å¼å¸¸ä¿¡å· | |
| | | | Empty | 读 | 设å¤ç©ºç¶æ | |
| | | | Idle | 读 | 设å¤ç©ºé²ç¶æ | |
| | | | Run | 读 | 设å¤è¿è¡ç¶æ | |
| | | | Complete | 读 | 设å¤å®æç¶æ | |
| | | | Lift Up or Pin Up | 读 | è®¾å¤æ¬åç¶æ | |
| | | | Lift Down or Pin Down | 读 | 设å¤ä¸éç¶æ | |
| | | | Stopper Up or Shutter Open | 读 | è®¾å¤æ¡æ¿å¼ç¶æ | |
| | | | Stopper Down or Shutter Close | 读 | è®¾å¤æ¡æ¿å
³ç¶æ | |
| | | | Manual Operation | 读 | è®¾å¤æå¨æä½ç¶æ | |
| | | | Body Moving | 读 | 设å¤å¨ä½ä¸ç¶æ | |
| | | | Glass Exist #1(Check Sensor on) | 读 | ç»çåå¨ä¼ æå¨ä¿¡å· | |
| | | | Glass Exist #2(Check Sensor on) | 读 | ç»çåå¨ä¼ æå¨ä¿¡å· | |
| | | | Glass Exist #1 Exist | 读 | ç»çå®é
åå¨ç¶æ | |
| | | | Glass Exist #2 Exist | 读 | ç»çå®é
åå¨ç¶æ | |
| | | | Arm Stretch complete | 读 | æºæ¢°è伸å±å®æ | |
| | | | Arm Vacuum | 读 | æºæ¢°èå¸éç¶æ | |
| | | | Conveyor State | 读 | ä¼ éå¸¦ç¶æ | |
| | | | Arm Fold complete | 读 | æºæ¢°èæå 宿 | |
| | | | Make Define #1\~#9 | 读 | 设å¤èªå®ä¹ä¿¡å·ï¼ä¸è¬è®¾å¤åé¦ | |
| | | |
| | | |
| | | |
| | | æ»ç» |
| | | | ä½ éè¦è¿ä¸¤ä¸ªä¿¡å·åï¼ | çæ¡æ¯ï¼å¿
须忶ç¨ã |
| | | | â | â | |
| | | | Robot CMD | â忬è¿å¨ä½åæ°â | |
| | | | Indexer Operation Mode Command | âåå¯å¨å½ä»¤â | |
| | | |
| | | Load port Status䏿¥jobData |
| | | è¾¹æ£NG, Job Data Change report, è¦åè·¯éå |
| | | |
| | | sh600975 sz002818 sh600727 sh600829 |
| | | |
| | |
| | | m_nCEID = 0; |
| | | } |
| | | |
| | | CCollectionEvent::CCollectionEvent(unsigned int id, const char* pszName, const char* pszDescription, std::vector<unsigned int>& prtids) |
| | | { |
| | | m_nCEID = id; |
| | | m_strName = pszName; |
| | | m_strDescription = pszDescription; |
| | | for (auto item : prtids) { |
| | | m_rptids.push_back(item); |
| | | } |
| | | } |
| | | |
| | | CCollectionEvent::~CCollectionEvent() |
| | | { |
| | | |
| | |
| | | unsigned int CCollectionEvent::getEventId() |
| | | { |
| | | return m_nCEID; |
| | | } |
| | | |
| | | std::string& CCollectionEvent::getName() |
| | | { |
| | | return m_strName; |
| | | } |
| | | |
| | | std::string& CCollectionEvent::getDescription() |
| | | { |
| | | return m_strDescription; |
| | | } |
| | | |
| | | BOOL CCollectionEvent::addReport(CReport* pReport) |
| | |
| | | |
| | | return nullptr; |
| | | } |
| | | |
| | | std::vector<CReport*>& CCollectionEvent::getReports() |
| | | { |
| | | return m_reports; |
| | | } |
| | | |
| | | std::string CCollectionEvent::getReportIdsText() |
| | | { |
| | | std::string strResult, strName; |
| | | for (int i = 0; i < m_rptids.size(); i++) { |
| | | strResult += std::to_string(m_rptids[i]);// (getReport(m_rptids[i]) ? |
| | | if (nullptr == getReport(m_rptids[i])) { |
| | | strResult += "?"; |
| | | } |
| | | if (i != m_rptids.size() - 1) { |
| | | strResult += ","; |
| | | } |
| | | } |
| | | |
| | | return strResult; |
| | | } |
| | | } |
| | |
| | | { |
| | | public: |
| | | CCollectionEvent(); |
| | | CCollectionEvent(unsigned int id, const char* pszName, const char* pszDescription, std::vector<unsigned int>& prtids); |
| | | virtual ~CCollectionEvent(); |
| | | |
| | | public: |
| | | unsigned int getEventId(); |
| | | std::string& getName(); |
| | | std::string& getDescription(); |
| | | std::vector<CReport*>& getReports(); |
| | | std::string getReportIdsText(); |
| | | BOOL addReport(CReport* pReport); |
| | | BOOL deleteReport(unsigned int nReportId); |
| | | CReport* getReport(unsigned int nReportId); |
| | | |
| | | private: |
| | | unsigned int m_nCEID; |
| | | std::string m_strName; |
| | | std::string m_strDescription; |
| | | std::vector<unsigned int> m_rptids; |
| | | std::vector<CReport*> m_reports; |
| | | }; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | // CPageCollectionEvent.cpp: å®ç°æä»¶ |
| | | // |
| | | |
| | | #include "stdafx.h" |
| | | #include "Servo.h" |
| | | #include "CPageCollectionEvent.h" |
| | | #include "afxdialogex.h" |
| | | |
| | | |
| | | // CPageCollectionEvent å¯¹è¯æ¡ |
| | | |
| | | IMPLEMENT_DYNAMIC(CPageCollectionEvent, CHMPropertyPage) |
| | | |
| | | CPageCollectionEvent::CPageCollectionEvent(CWnd* pParent /*=nullptr*/) |
| | | : CHMPropertyPage(IDD_PAGE_COLLECTION_EVENT, pParent) |
| | | { |
| | | |
| | | } |
| | | |
| | | CPageCollectionEvent::~CPageCollectionEvent() |
| | | { |
| | | } |
| | | |
| | | void CPageCollectionEvent::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | | CDialogEx::DoDataExchange(pDX); |
| | | DDX_Control(pDX, IDC_LIST1, m_listCtrl); |
| | | } |
| | | |
| | | |
| | | BEGIN_MESSAGE_MAP(CPageCollectionEvent, CHMPropertyPage) |
| | | ON_WM_CTLCOLOR() |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | | // CPageCollectionEvent æ¶æ¯å¤çç¨åº |
| | | |
| | | |
| | | BOOL CPageCollectionEvent::OnInitDialog() |
| | | { |
| | | CHMPropertyPage::OnInitDialog(); |
| | | |
| | | // 读åºå宽 |
| | | CString strIniFile, strItem; |
| | | strIniFile.Format(_T("%s\\configuration.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir); |
| | | int width[8] = { 0, 218, 180, 180, 180, 180, 180, 180 }; |
| | | for (int i = 0; i < 8; i++) { |
| | | strItem.Format(_T("Col_%d_Width"), i); |
| | | width[i] = GetPrivateProfileInt("PageCollectionListCtrl", strItem, width[i], strIniFile); |
| | | } |
| | | |
| | | |
| | | // æ¥è¡¨æ§ä»¶ |
| | | DWORD dwStyle = m_listCtrl.GetExtendedStyle(); |
| | | dwStyle |= LVS_EX_FULLROWSELECT; |
| | | dwStyle |= LVS_EX_GRIDLINES; |
| | | m_listCtrl.SetExtendedStyle(dwStyle); |
| | | |
| | | HIMAGELIST imageList = ImageList_Create(24, 24, ILC_COLOR24, 1, 1); |
| | | ListView_SetImageList(m_listCtrl.GetSafeHwnd(), imageList, LVSIL_SMALL); |
| | | m_listCtrl.InsertColumn(0, _T(""), LVCFMT_RIGHT, width[0]); |
| | | m_listCtrl.InsertColumn(1, _T("CEID"), LVCFMT_LEFT, width[1]); |
| | | m_listCtrl.InsertColumn(2, _T("CE Name"), LVCFMT_LEFT, width[2]); |
| | | m_listCtrl.InsertColumn(3, _T("Descriptions"), LVCFMT_LEFT, width[3]); |
| | | m_listCtrl.InsertColumn(4, _T("Attached RPTID"), LVCFMT_LEFT, width[4]); |
| | | loadCollectionEvents(); |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // å¼å¸¸: OCX 屿§é¡µåºè¿å FALSE |
| | | } |
| | | |
| | | |
| | | HBRUSH CPageCollectionEvent::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) |
| | | { |
| | | HBRUSH hbr = CHMPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); |
| | | |
| | | // TODO: 卿¤æ´æ¹ DC çä»»ä½ç¹æ§ |
| | | |
| | | // TODO: 妿é»è®¤ç䏿¯æéç»ç¬ï¼åè¿åå¦ä¸ä¸ªç»ç¬ |
| | | return hbr; |
| | | } |
| | | |
| | | |
| | | void CPageCollectionEvent::OnDestroy() |
| | | { |
| | | CHMPropertyPage::OnDestroy(); |
| | | |
| | | // ä¿åå宽 |
| | | CString strIniFile, strItem, strTemp; |
| | | strIniFile.Format(_T("%s\\configuration.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir); |
| | | CHeaderCtrl* pHeader = m_listCtrl.GetHeaderCtrl(); |
| | | for (int i = 0; i < pHeader->GetItemCount(); i++) { |
| | | RECT rect; |
| | | pHeader->GetItemRect(i, &rect); |
| | | strItem.Format(_T("Col_%d_Width"), i); |
| | | strTemp.Format(_T("%d"), rect.right - rect.left); |
| | | WritePrivateProfileString("PageCollectionListCtrl", strItem, strTemp, strIniFile); |
| | | } |
| | | } |
| | | |
| | | |
| | | void CPageCollectionEvent::OnSize(UINT nType, int cx, int cy) |
| | | { |
| | | CHMPropertyPage::OnSize(nType, cx, cy); |
| | | if (GetDlgItem(IDC_LIST1) == nullptr) return; |
| | | |
| | | CWnd* pItem; |
| | | CRect rcClient, rcItem; |
| | | GetClientRect(&rcClient); |
| | | m_listCtrl.MoveWindow(12, 12, rcClient.Width() - 24, rcClient.Height() - 24); |
| | | } |
| | | |
| | | void CPageCollectionEvent::loadCollectionEvents() |
| | | { |
| | | auto& collectionEvent = theApp.m_model.m_hsmsPassive.getCollectionEvents(); |
| | | for (auto item : collectionEvent) { |
| | | int index = m_listCtrl.InsertItem(m_listCtrl.GetItemCount(), _T("")); |
| | | m_listCtrl.SetItemData(index, (DWORD_PTR)item); |
| | | m_listCtrl.SetItemText(index, 1, std::to_string(item->getEventId()).c_str()); |
| | | m_listCtrl.SetItemText(index, 2, item->getName().c_str()); |
| | | m_listCtrl.SetItemText(index, 3, item->getDescription().c_str()); |
| | | m_listCtrl.SetItemText(index, 4, item->getReportIdsText().c_str()); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | #include "CHMPropertyPage.h" |
| | | #include "ListCtrlEx.h" |
| | | |
| | | |
| | | // CPageCollectionEvent å¯¹è¯æ¡ |
| | | |
| | | class CPageCollectionEvent : public CHMPropertyPage |
| | | { |
| | | DECLARE_DYNAMIC(CPageCollectionEvent) |
| | | |
| | | public: |
| | | CPageCollectionEvent(CWnd* pParent = nullptr); // æ åæé 彿° |
| | | virtual ~CPageCollectionEvent(); |
| | | void loadCollectionEvents(); |
| | | |
| | | private: |
| | | CListCtrlEx m_listCtrl; |
| | | |
| | | // å¯¹è¯æ¡æ°æ® |
| | | #ifdef AFX_DESIGN_TIME |
| | | enum { IDD = IDD_PAGE_COLLECTION_EVENT }; |
| | | #endif |
| | | |
| | | protected: |
| | | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV æ¯æ |
| | | |
| | | DECLARE_MESSAGE_MAP() |
| | | public: |
| | | virtual BOOL OnInitDialog(); |
| | | afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); |
| | | afx_msg void OnDestroy(); |
| | | afx_msg void OnSize(UINT nType, int cx, int cy); |
| | | }; |
| | |
| | | } |
| | | } |
| | | |
| | | /* |
| | | for (int i = 0; i < m_variabels.size(); i++) { |
| | | strResult += std::to_string(m_variabels[i]->getVarialbleId()); |
| | | strResult += "("; |
| | | strResult += m_variabels[i]->getName(); |
| | | strResult += ")"; |
| | | if (i != m_variabels.size() - 1) { |
| | | strResult += ","; |
| | | } |
| | | } |
| | | */ |
| | | return strResult; |
| | | } |
| | | |
| | |
| | | std::vector<SERVO::CReport*> reports; |
| | | int index; |
| | | CString strLine, strVariable; |
| | | CString strId, strName, strFormat, strRemark; |
| | | CString strId; |
| | | while (file.ReadString(strLine)) { |
| | | if (!std::regex_match((LPTSTR)(LPCTSTR)strLine, pattern)) { |
| | | continue; |
| | |
| | | return m_reports; |
| | | } |
| | | |
| | | SERVO::CReport* CHsmsPassive::getReport(int rptid) |
| | | { |
| | | for (auto item : m_reports) { |
| | | if (item->getReportId() == rptid) { |
| | | return item; |
| | | } |
| | | } |
| | | |
| | | return nullptr; |
| | | } |
| | | |
| | | void CHsmsPassive::clearAllReport() |
| | | { |
| | | for (auto item : m_reports) { |
| | | delete item; |
| | | } |
| | | m_reports.clear(); |
| | | } |
| | | |
| | | int CHsmsPassive::loadCollectionEvents(const char* pszFilepath) |
| | | { |
| | | CStdioFile file; |
| | | if (!file.Open(pszFilepath, CFile::modeRead)) { |
| | | return -1; |
| | | } |
| | | |
| | | std::regex pattern("^\\d+,[^,]*,[^,]*,\\(\\d+(,\\d+)*\\).*"); // å¹é
以æ°å+éå·å¼å¤´çå符串 |
| | | std::vector<SERVO::CCollectionEvent*> events; |
| | | int index, last; |
| | | CString strLine, strRPTIDs; |
| | | CString strId, strName, strDescription; |
| | | while (file.ReadString(strLine)) { |
| | | if (!std::regex_match((LPTSTR)(LPCTSTR)strLine, pattern)) { |
| | | continue; |
| | | } |
| | | |
| | | last = 0; |
| | | index = strLine.Find(",", last); |
| | | if (index < 0) continue; |
| | | strId = strLine.Left(index); |
| | | last = index + 1; |
| | | |
| | | index = strLine.Find(",", last); |
| | | if (index < 0) continue; |
| | | strName = strLine.Mid(last, index - last); |
| | | last = index + 1; |
| | | |
| | | index = strLine.Find(",", last); |
| | | if (index < 0) continue; |
| | | strDescription = strLine.Mid(last, index - last); |
| | | strRPTIDs = strLine.Right(strLine.GetLength() - index - 1); |
| | | strRPTIDs.Delete(0); |
| | | strRPTIDs.Delete(strRPTIDs.GetLength() - 1); |
| | | auto prtids = parseVidList(strRPTIDs); |
| | | |
| | | SERVO::CCollectionEvent* pEvent = new SERVO::CCollectionEvent( |
| | | atoi(strId), (LPTSTR)(LPCTSTR)strName, (LPTSTR)(LPCTSTR)strDescription, prtids); |
| | | for (auto rptid : prtids) { |
| | | SERVO::CReport* pReport = getReport(rptid); |
| | | if (pReport != nullptr) { |
| | | pEvent->addReport(pReport); |
| | | } |
| | | } |
| | | events.push_back(pEvent); |
| | | } |
| | | |
| | | if (!events.empty()) { |
| | | clearAllCollectionEvent(); |
| | | for (auto item : events) { |
| | | m_collectionEvent.push_back(item); |
| | | } |
| | | } |
| | | |
| | | |
| | | file.Close(); |
| | | return 0; |
| | | } |
| | | |
| | | std::vector<SERVO::CCollectionEvent*>& CHsmsPassive::getCollectionEvents() |
| | | { |
| | | return m_collectionEvent; |
| | | } |
| | | |
| | | void CHsmsPassive::clearAllCollectionEvent() |
| | | { |
| | | for (auto item : m_collectionEvent) { |
| | | delete item; |
| | | } |
| | | m_collectionEvent.clear(); |
| | | } |
| | | |
| | | std::vector<unsigned int> CHsmsPassive::parseVidList(CString& strNums) |
| | |
| | | |
| | | clearAllVariabel(); |
| | | clearAllReport(); |
| | | clearAllCollectionEvent(); |
| | | |
| | | return 0; |
| | | } |
| | |
| | | // åæ¶ define report |
| | | void deleteReport(unsigned int RPTID); |
| | | |
| | | // åæ¶/å 餿æ define report |
| | | void deleteAllReport(); |
| | | |
| | | // 仿件ä¸å è½½CVariableå表 |
| | | int loadVarialbles(const char* pszFilepath); |
| | | |
| | |
| | | // å徿å®Variable |
| | | SERVO::CVariable* getVariable(int variableId); |
| | | |
| | | // 仿件ä¸å è½½CReport表表 |
| | | // 仿件ä¸å è½½CReportå表 |
| | | int loadReports(const char* pszFilepath); |
| | | |
| | | // åæ¶/å 餿æ define report |
| | | void deleteAllReport(); |
| | | |
| | | // åå¾Reportå表 |
| | | std::vector<SERVO::CReport*>& getReports(); |
| | | |
| | | // 仿件ä¸å è½½CCollectionEventå表 |
| | | int loadCollectionEvents(const char* pszFilepath); |
| | | |
| | | // åå¾CCollectionEventå表 |
| | | std::vector<SERVO::CCollectionEvent*>& getCollectionEvents(); |
| | | |
| | | // åæ¶/å 餿æCollectionEvent |
| | | void clearAllCollectionEvent(); |
| | | |
| | | SERVO::CReport* getReport(int rptid); |
| | | |
| | | void setListener(SECSListener listener); |
| | | unsigned OnCimWork(); |
| | |
| | | |
| | | // CReport vector |
| | | std::vector<SERVO::CReport*> m_reports; |
| | | |
| | | // CollectionEvent vector |
| | | std::vector<SERVO::CCollectionEvent*> m_collectionEvent; |
| | | }; |
| | | |
| | |
| | | m_hsmsPassive.init(this, "APP", 7000); |
| | | strVarialbleFile.Format(_T("%s\\ReportList.txt"), (LPTSTR)(LPCTSTR)m_strWorkDir); |
| | | m_hsmsPassive.loadReports((LPTSTR)(LPCTSTR)strVarialbleFile); |
| | | strVarialbleFile.Format(_T("%s\\CollectionEventList.txt"), (LPTSTR)(LPCTSTR)m_strWorkDir); |
| | | m_hsmsPassive.loadCollectionEvents((LPTSTR)(LPCTSTR)strVarialbleFile); |
| | | m_hsmsPassive.init(this, "APP", 7000); |
| | | |
| | | SERVO::MasterListener masterListener; |
| | |
| | | <ClInclude Include="CGlassPool.h" /> |
| | | <ClInclude Include="ChangePasswordDlg.h" /> |
| | | <ClInclude Include="CMyStatusbar.h" /> |
| | | <ClInclude Include="CPageCollectionEvent.h" /> |
| | | <ClInclude Include="CPageLinkSignal.h" /> |
| | | <ClInclude Include="CPageReport.h" /> |
| | | <ClInclude Include="CPageVarialbles.h" /> |
| | |
| | | <ClCompile Include="CGlassPool.cpp" /> |
| | | <ClCompile Include="ChangePasswordDlg.cpp" /> |
| | | <ClCompile Include="CMyStatusbar.cpp" /> |
| | | <ClCompile Include="CPageCollectionEvent.cpp" /> |
| | | <ClCompile Include="CPageLinkSignal.cpp" /> |
| | | <ClCompile Include="CPageReport.cpp" /> |
| | | <ClCompile Include="CPageVarialbles.cpp" /> |
| | |
| | | <ClCompile Include="CVariable.cpp" /> |
| | | <ClCompile Include="CPageVarialbles.cpp" /> |
| | | <ClCompile Include="CPageReport.cpp" /> |
| | | <ClCompile Include="CPageCollectionEvent.cpp" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ClInclude Include="AlarmManager.h" /> |
| | |
| | | <ClInclude Include="CVariable.h" /> |
| | | <ClInclude Include="CPageVarialbles.h" /> |
| | | <ClInclude Include="CPageReport.h" /> |
| | | <ClInclude Include="CPageCollectionEvent.h" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ResourceCompile Include="Servo.rc" /> |
| | |
| | | #include "CHMPropertyDlg.h" |
| | | #include "CPageVarialbles.h" |
| | | #include "CPageReport.h" |
| | | #include "CPageCollectionEvent.h" |
| | | |
| | | |
| | | #ifdef _DEBUG |
| | |
| | | { |
| | | CHMPropertyDlg dlg(_T("Variable|Rreport|Collection Event"), 658, 788); |
| | | |
| | | CPageReport* pPage1 = new CPageReport(); |
| | | pPage1->Create(IDD_PAGE_REPORT); |
| | | dlg.addPage(pPage1, "Report"); |
| | | CPageCollectionEvent* pPage1 = new CPageCollectionEvent(); |
| | | pPage1->Create(IDD_PAGE_COLLECTION_EVENT); |
| | | dlg.addPage(pPage1, "Event"); |
| | | |
| | | CPageVarialbles* pPage2 = new CPageVarialbles(); |
| | | pPage2->Create(IDD_PAGE_VARIABLE); |
| | | dlg.addPage(pPage2, "Variable"); |
| | | CPageReport* pPage2 = new CPageReport(); |
| | | pPage2->Create(IDD_PAGE_REPORT); |
| | | dlg.addPage(pPage2, "Report"); |
| | | |
| | | CPageVarialbles* pPage3 = new CPageVarialbles(); |
| | | pPage3->Create(IDD_PAGE_VARIABLE); |
| | | dlg.addPage(pPage3, "Variable"); |
| | | |
| | | dlg.DoModal(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 300,AccessMode_To_Manual,,(300) |
| | | 301,AccessMode_To_Auto,,(301) |
| | | 600,ControlStateChanged,,(600) |
| | | 700,ProcessStateChanged,,(700) |
| | | 10000,RecipeChanged,,(10000) |
| | | 10030,CarrierArrived,,(10300) |
| | | 10031,CarrierRemoved,,(10300) |
| | | 10040,ReadyToLoad,,(10300) |
| | | 10041,ReadyToUnLoad,,(10300) |
| | | 10051,CarrierIDWaitingForHost,,(10051) |
| | | 10052,CarrierIDVerificationOK,,(10052) |
| | | 10053,CarrierIDVerificationNG,,(10052) |
| | | 10061,SlotMapWaitingForHost,,(10061) |
| | | 10062,SlotMapVerificationOK,,(10062) |
| | | 10063,SlotMapVerificationNG,,(10062) |
| | | 10071,GlassIDReadWaitingForHost,,(10071) |
| | | 10072,GlassIDReadVerificationOK,,(10072) |
| | | 10073,GlassIDReadVerificationNG,,(10072) |
| | | 10080,CarrierStart,,(10080) |
| | | 10081,CarrierCompleted,,(10080) |
| | | 10082,CarrierStopped,,(10080) |
| | | 20000,GlassSlotStart,,(20000) |
| | | 20001,GlassSlotCompleted,,(20000) |
| | | 30000,PrJobPooled,,(30000) |
| | | 30001,PrJobAbort,,(30000) |
| | | 30010,PrJobProcessing,,(30000) |
| | | 30011,PrJobCompleted,,(30000) |
| | | 30013,PrJobPaused,,(30000) |
| | | 30014,PrJobResume,,(30000) |
| | | 30020,PrJobDeleted,,(30000) |
| | | 31000,CJobQueued,,(31000) |
| | | 31001,CJobAbort,,(31000) |
| | | 31010,CJobExecuting,,(31000) |
| | | 31020,CJobCompleted,,(31000) |
| | | 31021,CJobDeleted,,(31000) |
| | | 31031,CJobPaused,,(31000) |
| | | 31032,CJobResume,,(31000) |
| | | 40000,E90_SPSM_NoState_To_NeedsProcessing,,(40000) |
| | | 40001,E90_SPSM_InProcess_To_ProcessCompleted,,(40000) |