1.CassetteControlCommand(cassette控制指令下发,测试页面)
| | |
| | | LOGI("<CEFEM>initPins"); |
| | | } |
| | | |
| | | int CEFEM::onStepEvent(CStep* pStep, int code) |
| | | { |
| | | if (code == STEP_EVENT_READDATA) { |
| | | if (isCassetteTransferStateStep(pStep)) { |
| | | SERVO::CEqCassetteTransferStateStep* pEqCassetteStep = (SERVO::CEqCassetteTransferStateStep*)pStep; |
| | | int id = pEqCassetteStep->getID(); |
| | | if (id == STEP_ID_PORT1_CASSETTIE_EMPTY) { |
| | | |
| | | } |
| | | /* |
| | | #define STEP_ID_PORT1_CASSETTIE_LOAD_READY 0x420 |
| | | #define STEP_ID_PORT1_CASSETTIE_LOADED 0x428 |
| | | #define STEP_ID_PORT1_CASSETTIE_INUSE 0x430 |
| | | #define STEP_ID_PORT1_CASSETTIE_UNLOAD_READY 0x438 |
| | | #define STEP_ID_PORT1_CASSETTIE_BLOCKED 0x440 |
| | | */ |
| | | } |
| | | } |
| | | |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | void CEFEM::onTimer(UINT nTimerid) |
| | | { |
| | | CEquipment::onTimer(nTimerid); |
| | |
| | | virtual void init(); |
| | | virtual void term(); |
| | | virtual void initPins(); |
| | | virtual int onStepEvent(CStep* pStep, int code); |
| | | virtual void onTimer(UINT nTimerid); |
| | | virtual void serialize(CArchive& ar); |
| | | virtual void getAttributeVector(CAttributeVector& attrubutes); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #include "stdafx.h" |
| | | #include "CEqCassetteCtrlCmdStep.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CEqCassetteCtrlCmdStep::CEqCassetteCtrlCmdStep() : CWriteStep() |
| | | { |
| | | m_nCtrlCmdDev = 0; |
| | | } |
| | | |
| | | CEqCassetteCtrlCmdStep::~CEqCassetteCtrlCmdStep() |
| | | { |
| | | |
| | | } |
| | | |
| | | void CEqCassetteCtrlCmdStep::setCtrlCmdDev(int nDev) |
| | | { |
| | | m_nCtrlCmdDev = nDev; |
| | | } |
| | | |
| | | int CEqCassetteCtrlCmdStep::sendCtrlCmd(short cmd, |
| | | short* jobExistence, |
| | | int jobExistenceSize, |
| | | short slotProcess, |
| | | short jopCount, |
| | | CJobDataB* pJobDataB) |
| | | { |
| | | ASSERT(jobExistenceSize == 12); |
| | | ASSERT(pJobDataB); |
| | | |
| | | char szBuffer[1024] = { 0 }; |
| | | memcpy(&szBuffer[0], &cmd, sizeof(short)); |
| | | memcpy(&szBuffer[2], jobExistence, sizeof(short) * jobExistenceSize); |
| | | memcpy(&szBuffer[26], &slotProcess, sizeof(short)); |
| | | memcpy(&szBuffer[36], &jopCount, sizeof(short)); |
| | | int nLen = pJobDataB->serialize(&szBuffer[38], 1024 - 38); |
| | | return writeData(m_nCtrlCmdDev, (const char*)szBuffer, 38 + nLen); |
| | | } |
| | | |
| | | void CEqCassetteCtrlCmdStep::getAttributeVector(CAttributeVector& attrubutes) |
| | | { |
| | | CWriteStep::getAttributeVector(attrubutes); |
| | | |
| | | std::string strTemp; |
| | | attrubutes.addAttribute(new CAttribute("Control Command Dev", |
| | | ("W" + CToolUnits::toHexString(m_nCtrlCmdDev, strTemp)).c_str(), "")); |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | #include "CWriteStep.h" |
| | | #include "CJobDataB.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | class CEqCassetteCtrlCmdStep : public CWriteStep |
| | | { |
| | | public: |
| | | CEqCassetteCtrlCmdStep(); |
| | | ~CEqCassetteCtrlCmdStep(); |
| | | |
| | | public: |
| | | void setCtrlCmdDev(int nDev); |
| | | int sendCtrlCmd(short cmd, |
| | | short* jobExistence, |
| | | int jobExistenceSize, |
| | | short slotProcess, |
| | | short jopCount, |
| | | CJobDataB* pJobDataB); |
| | | void getAttributeVector(CAttributeVector& attrubutes); |
| | | |
| | | private: |
| | | int m_nCtrlCmdDev; |
| | | }; |
| | | } |
| | | |
| | |
| | | auto iter = m_mapStep.find(addr); |
| | | if (iter != m_mapStep.end()) return -1; |
| | | pStep->setEquipment(this); |
| | | pStep->setID(addr); |
| | | pStep->setCcLink(m_pCclink); |
| | | m_mapStep[addr] = pStep; |
| | | return 0; |
| | |
| | | return CToolUnits::startsWith(pStep->getName(), STEP_ALARM_START); |
| | | } |
| | | |
| | | bool CEquipment::isCassetteTransferStateStep(SERVO::CStep* pStep) |
| | | { |
| | | return CToolUnits::startsWith(pStep->getName(), "EQPort") |
| | | && pStep->getName().find("Cassette") != std::string::npos; |
| | | } |
| | | } |
| | |
| | | #include "CEqPortChangeStep.h" |
| | | #include "CEqReadIntStep.h" |
| | | #include "CEqCassetteTransferStateStep.h" |
| | | #include "CEqCassetteCtrlCmdStep.h" |
| | | #include <vector> |
| | | #include <map> |
| | | #include <list> |
| | |
| | | CGlass* getFrontGlass(); |
| | | BOOL removeClass(CGlass* pGlass); |
| | | bool isAlarmStep(SERVO::CStep* pStep); |
| | | bool isCassetteTransferStateStep(SERVO::CStep* pStep); |
| | | |
| | | |
| | | // 以ä¸ä¸ºä»CC-Link读åå°çBitæ å¿ä½æ£æµå½æ° |
| | | public: |
| | |
| | | |
| | | |
| | | // 以ä¸ä¸ºä»CC-Link读åå°çBitæ å¿ä½ |
| | | private: |
| | | protected: |
| | | ALIVE m_alive; |
| | | BOOL m_bCimState; // ON/OFF |
| | | BOOL m_bUpstreamInline; |
| | |
| | | BOOL m_bAutoRecipeChange; |
| | | BOOL m_bVCREnable[VCR_MAX]; |
| | | |
| | | private: |
| | | protected: |
| | | CCCLinkIEControl* m_pCclink; |
| | | std::map<unsigned int, CStep*> m_mapStep; |
| | | int m_nBaseAlarmId; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #include "stdafx.h" |
| | | #include "CJobDataB.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CJobDataB::CJobDataB() |
| | | { |
| | | |
| | | } |
| | | |
| | | CJobDataB::~CJobDataB() |
| | | { |
| | | |
| | | } |
| | | |
| | | int CJobDataB::serialize(char* pszBuffer, int nBufferSize) |
| | | { |
| | | int index = 0; |
| | | memcpy(&pszBuffer[index], &m_nPortNo, sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | int strLen = min(20, m_strCarrierId.size()); |
| | | memcpy(&pszBuffer[index], m_strCarrierId.c_str(), strLen); |
| | | index += strLen; |
| | | |
| | | strLen = min(20, m_pruductId.size()); |
| | | memcpy(&pszBuffer[index], m_pruductId.c_str(), strLen); |
| | | index += strLen; |
| | | |
| | | memcpy(&pszBuffer[index], &m_nCarrierState, sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | memcpy(&pszBuffer[index], &m_nSlotMapping, sizeof(int)); |
| | | index += sizeof(int); |
| | | |
| | | memcpy(&pszBuffer[index], &m_nSlotSelectedFlag, sizeof(int)); |
| | | index += sizeof(int); |
| | | |
| | | for (int i = 0; i < min(25, m_glassIds.size()); i++) { |
| | | std::string& strGlassId = m_glassIds.at(i); |
| | | strLen = min(20, strGlassId.size()); |
| | | memcpy(&pszBuffer[index], strGlassId.c_str(), strLen); |
| | | index += strLen; |
| | | } |
| | | |
| | | return 320 * 2; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | #include <vector> |
| | | #include <string> |
| | | |
| | | |
| | | namespace SERVO { |
| | | class CJobDataB |
| | | { |
| | | public: |
| | | CJobDataB(); |
| | | ~CJobDataB(); |
| | | |
| | | public: |
| | | int serialize(char* pszBuffer, int nBufferSize); |
| | | |
| | | private: |
| | | short m_nPortNo; |
| | | std::string m_strCarrierId; |
| | | std::string m_pruductId; |
| | | short m_nCarrierState; |
| | | int m_nSlotMapping; |
| | | int m_nSlotSelectedFlag; |
| | | std::vector<std::string> m_glassIds; |
| | | }; |
| | | } |
| | | |
| | |
| | | |
| | | return (m_glassList.size() < 8); |
| | | } |
| | | |
| | | int CLoadPort::sendCassetteCtrlCmd(short cmd, |
| | | short* jobExistence, |
| | | int jobExistenceSize, |
| | | short slotProcess, |
| | | short jopCount, |
| | | CJobDataB* pJobDataB) |
| | | { |
| | | int id = getID(); |
| | | if ( !(id == EQ_ID_LOADPORT1 || id == EQ_ID_LOADPORT2) ) { |
| | | return -1; |
| | | } |
| | | |
| | | |
| | | SERVO::CEqCassetteCtrlCmdStep* pStep = (SERVO::CEqCassetteCtrlCmdStep*)getCassetteCtrlCmdStep(); |
| | | ASSERT(pStep); |
| | | return pStep->sendCtrlCmd(cmd, jobExistence, jobExistenceSize, slotProcess, jopCount, pJobDataB); |
| | | } |
| | | |
| | | CStep* CLoadPort::getCassetteCtrlCmdStep() |
| | | { |
| | | CStep* pStep = nullptr; |
| | | Lock(); |
| | | for (auto item : m_mapStep) { |
| | | if (item.second->getName().find(STEP_EQ_P1_CASSETTE_CTRL_CMD) == 0 |
| | | || item.second->getName().find(STEP_EQ_P2_CASSETTE_CTRL_CMD) == 0 |
| | | || item.second->getName().find(STEP_EQ_P3_CASSETTE_CTRL_CMD) == 0 |
| | | || item.second->getName().find(STEP_EQ_P4_CASSETTE_CTRL_CMD) == 0) { |
| | | pStep = item.second; |
| | | } |
| | | } |
| | | Unlock(); |
| | | |
| | | return pStep; |
| | | } |
| | | } |
| | |
| | | |
| | | public: |
| | | virtual int outputGlass(int port); |
| | | int sendCassetteCtrlCmd(short cmd, |
| | | short* jobExistence, |
| | | int jobExistenceSize, |
| | | short slotProcess, |
| | | short jopCount, |
| | | CJobDataB* pJobDataB); |
| | | CStep* getCassetteCtrlCmdStep(); |
| | | }; |
| | | } |
| | | |
| | |
| | | int CMaster::addLoadPort(int index) |
| | | { |
| | | ASSERT(index == 0 || index == 1 || index == 2 || index == 3); |
| | | static char* pszCassetteCtrlCmd[] = { |
| | | STEP_EQ_P1_CASSETTE_CTRL_CMD, |
| | | STEP_EQ_P2_CASSETTE_CTRL_CMD, |
| | | STEP_EQ_P3_CASSETTE_CTRL_CMD, |
| | | STEP_EQ_P4_CASSETTE_CTRL_CMD |
| | | }; |
| | | int nWriteSignalDev[] = {0x120, 0x121, 0x122, 0x123}; |
| | | int nCtrlCmdDev[] = {0x45, 0x1a5, 0x305, 0x465}; |
| | | int nStepDev[] = { 0x480, 0x481, 0x482, 0x483 }; |
| | | |
| | | |
| | | char szName[64]; |
| | | sprintf_s(szName, 64, "LoadPort %d", index + 1); |
| | | CLoadPort* pEquipment = new CLoadPort(); |
| | |
| | | pEquipment->setDescription(szName); |
| | | addToEquipmentList(pEquipment); |
| | | |
| | | |
| | | // step |
| | | { |
| | | CEqCassetteCtrlCmdStep* pStep = new CEqCassetteCtrlCmdStep(); |
| | | pStep->setName(pszCassetteCtrlCmd[index]); |
| | | pStep->setWriteSignalDev(nWriteSignalDev[index]); |
| | | pStep->setCtrlCmdDev(nCtrlCmdDev[index]); |
| | | if (pEquipment->addStep(nStepDev[index], pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | |
| | | |
| | | pEquipment->init(); |
| | | LOGE("已添å â%sâ.", pEquipment->getName().c_str()); |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | // CPageCassetteCtrlCmd.cpp: å®ç°æä»¶ |
| | | // |
| | | |
| | | #include "stdafx.h" |
| | | #include "Servo.h" |
| | | #include "CPageCassetteCtrlCmd.h" |
| | | #include "afxdialogex.h" |
| | | |
| | | |
| | | // CPageCassetteCtrlCmd å¯¹è¯æ¡ |
| | | |
| | | IMPLEMENT_DYNAMIC(CPageCassetteCtrlCmd, CHMPropertyPage) |
| | | |
| | | CPageCassetteCtrlCmd::CPageCassetteCtrlCmd(CWnd* pParent /*=nullptr*/) |
| | | : CHMPropertyPage(IDD_PAGE_CASSETTE_CTRL_CMD, pParent) |
| | | { |
| | | m_pEquipment = nullptr; |
| | | } |
| | | |
| | | CPageCassetteCtrlCmd::~CPageCassetteCtrlCmd() |
| | | { |
| | | } |
| | | |
| | | void CPageCassetteCtrlCmd::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | | CHMPropertyPage::DoDataExchange(pDX); |
| | | } |
| | | |
| | | |
| | | BEGIN_MESSAGE_MAP(CPageCassetteCtrlCmd, CHMPropertyPage) |
| | | ON_WM_CTLCOLOR() |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | ON_BN_CLICKED(IDC_BUTTON_SEND_CMD, &CPageCassetteCtrlCmd::OnBnClickedButtonSendCmd) |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | | // CPageCassetteCtrlCmd æ¶æ¯å¤çç¨åº |
| | | void CPageCassetteCtrlCmd::OnApply() |
| | | { |
| | | __super::OnApply(); |
| | | } |
| | | |
| | | void CPageCassetteCtrlCmd::setEquipment(SERVO::CEquipment* pEquipment) |
| | | { |
| | | m_pEquipment = pEquipment; |
| | | } |
| | | |
| | | BOOL CPageCassetteCtrlCmd::OnInitDialog() |
| | | { |
| | | CHMPropertyPage::OnInitDialog(); |
| | | |
| | | const char* pszText[] = {"Cassette Map Download", "Clamp", "Unclamp", |
| | | "Reclamp", "Cassette Process Start", "Cassette Process Start By Count", |
| | | "Cassette Process Pause", "Cassette Process Resume", "Cassette Process Abort", |
| | | "Cassette Process Cancel", "Cassette Process End"}; |
| | | |
| | | CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_CTRL_CMD); |
| | | for (int i = 0; i < 11; i++) { |
| | | pComboBox->InsertString(i, pszText[i]); |
| | | } |
| | | pComboBox->SetCurSel(0); |
| | | |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // å¼å¸¸: OCX 屿§é¡µåºè¿å FALSE |
| | | } |
| | | |
| | | HBRUSH CPageCassetteCtrlCmd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) |
| | | { |
| | | HBRUSH hbr = CHMPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); |
| | | |
| | | // TODO: 卿¤æ´æ¹ DC çä»»ä½ç¹æ§ |
| | | |
| | | // TODO: 妿é»è®¤ç䏿¯æéç»ç¬ï¼åè¿åå¦ä¸ä¸ªç»ç¬ |
| | | return hbr; |
| | | } |
| | | |
| | | void CPageCassetteCtrlCmd::OnDestroy() |
| | | { |
| | | CHMPropertyPage::OnDestroy(); |
| | | } |
| | | |
| | | void CPageCassetteCtrlCmd::OnSize(UINT nType, int cx, int cy) |
| | | { |
| | | CHMPropertyPage::OnSize(nType, cx, cy); |
| | | } |
| | | |
| | | void CPageCassetteCtrlCmd::OnBnClickedButtonSendCmd() |
| | | { |
| | | ASSERT(m_pEquipment != nullptr); |
| | | ASSERT(m_pEquipment->getID() == EQ_ID_LOADPORT1 |
| | | || m_pEquipment->getID() == EQ_ID_LOADPORT2); |
| | | SERVO::CLoadPort* pLoadPort = (SERVO::CLoadPort*)m_pEquipment; |
| | | |
| | | short cmd = 0; |
| | | short jobExistence[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; |
| | | int jobExistenceSize = 12; |
| | | short slotProcess = 0; |
| | | short jobCount = 0; |
| | | SERVO::CJobDataB* pJobDataB = new SERVO::CJobDataB(); |
| | | |
| | | |
| | | CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_CTRL_CMD); |
| | | cmd = pComboBox->GetCurSel() + 1; |
| | | for (int i = 0; i < 12; i++) { |
| | | jobExistence[i] = (short)GetDlgItemInt(IDC_EDIT_EXISTENCE1 + i); |
| | | } |
| | | |
| | | slotProcess = (short)GetDlgItemInt(IDC_EDIT_SLOT_TO_PROCESS); |
| | | jobCount = (short)GetDlgItemInt(IDC_EDIT_JOB_COUNT); |
| | | |
| | | |
| | | pLoadPort->sendCassetteCtrlCmd(cmd, &jobExistence[0], jobExistenceSize, slotProcess, |
| | | jobCount, pJobDataB); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | #include "CHMPropertyPage.h" |
| | | |
| | | |
| | | // CPageCassetteCtrlCmd å¯¹è¯æ¡ |
| | | |
| | | class CPageCassetteCtrlCmd : public CHMPropertyPage |
| | | { |
| | | DECLARE_DYNAMIC(CPageCassetteCtrlCmd) |
| | | |
| | | public: |
| | | CPageCassetteCtrlCmd(CWnd* pParent = nullptr); // æ åæé 彿° |
| | | virtual ~CPageCassetteCtrlCmd(); |
| | | virtual void OnApply(); |
| | | void setEquipment(SERVO::CEquipment* pEquipment); |
| | | |
| | | private: |
| | | SERVO::CEquipment* m_pEquipment; |
| | | |
| | | |
| | | // å¯¹è¯æ¡æ°æ® |
| | | #ifdef AFX_DESIGN_TIME |
| | | enum { IDD = IDD_PAGE_CASSETTE_CTRL_CMD }; |
| | | #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); |
| | | afx_msg void OnBnClickedButtonSendCmd(); |
| | | }; |
| | |
| | | #include "CHMPropertyDlg.h" |
| | | #include "CEquipmentPage1.h" |
| | | #include "CEquipmentPage2.h" |
| | | #include "CPageCassetteCtrlCmd.h" |
| | | |
| | | |
| | | // CPageGraph2 å¯¹è¯æ¡ |
| | |
| | | pPage2->Create(IDD_PAGE_EQUIPMENT2); |
| | | dlg.addPage(pPage2, "Glass"); |
| | | |
| | | if (pEquipment->getID() == EQ_ID_LOADPORT1 |
| | | || pEquipment->getID() == EQ_ID_LOADPORT2) { |
| | | CPageCassetteCtrlCmd* pPage = new CPageCassetteCtrlCmd(); |
| | | pPage->setEquipment(pEquipment); |
| | | pPage->Create(IDD_PAGE_CASSETTE_CTRL_CMD); |
| | | dlg.addPage(pPage, "Cassette control command"); |
| | | } |
| | | |
| | | dlg.DoModal(); |
| | | return true; |
| | | }; |
| | |
| | | |
| | | CStep::CStep() |
| | | { |
| | | m_nID = 0; |
| | | m_pCclink = nullptr; |
| | | InitializeCriticalSection(&m_criticalSection); |
| | | } |
| | |
| | | return m_pEquipment; |
| | | } |
| | | |
| | | void CStep::setID(int id) |
| | | { |
| | | m_nID = id; |
| | | } |
| | | |
| | | int CStep::getID() |
| | | { |
| | | return m_nID; |
| | | } |
| | | |
| | | void CStep::setName(const char* pszName) |
| | | { |
| | | m_strName = pszName; |
| | |
| | | void setCcLink(CCCLinkIEControl* pCcLink); |
| | | void setEquipment(CEquipment* pEquipment); |
| | | CEquipment* getEquipment(); |
| | | void setID(int id); |
| | | int getID(); |
| | | void setName(const char* pszName); |
| | | std::string& getName(); |
| | | virtual void getAttributeVector(CAttributeVector& attrubutes); |
| | |
| | | void convertString(const char* pszBuffer, int size, std::string& strOut); |
| | | |
| | | protected: |
| | | int m_nID; |
| | | StationIdentifier m_station; |
| | | std::string m_strName; |
| | | CEquipment* m_pEquipment; |
| | |
| | | #define STEP_EQ_P4_CASSETTE_INUSE _T("EQPort4CassetteInUse") |
| | | #define STEP_EQ_P4_CASSETTE_UNLOAD_EADY _T("EQPort4CassetteUnloadReady") |
| | | #define STEP_EQ_P4_CASSETTE_BLOCKED _T("EQPort4CassetteBlocked") |
| | | #define STEP_EQ_P1_CASSETTE_CTRL_CMD _T("EQPort1CassetteCtrlCmd") |
| | | #define STEP_EQ_P2_CASSETTE_CTRL_CMD _T("EQPort2CassetteCtrlCmd") |
| | | #define STEP_EQ_P3_CASSETTE_CTRL_CMD _T("EQPort3CassetteCtrlCmd") |
| | | #define STEP_EQ_P4_CASSETTE_CTRL_CMD _T("EQPort4CassetteCtrlCmd") |
| | | |
| | | |
| | | /* Step ID */ |
| | |
| | | <ClInclude Include="CAttributeVector.h" /> |
| | | <ClInclude Include="CBakeCooling.h" /> |
| | | <ClInclude Include="CBonder.h" /> |
| | | <ClInclude Include="CEqCassetteCtrlCmdStep.h" /> |
| | | <ClInclude Include="CEqCassetteTransferStateStep.h" /> |
| | | <ClInclude Include="CCLinkPerformance\CCLinkIEControl.h" /> |
| | | <ClInclude Include="CCLinkPerformance\PerformanceMelsec.h" /> |
| | |
| | | <ClInclude Include="CGlass.h" /> |
| | | <ClInclude Include="CHMPropertyDlg.h" /> |
| | | <ClInclude Include="CHMPropertyPage.h" /> |
| | | <ClInclude Include="CJobDataB.h" /> |
| | | <ClInclude Include="CLoadPort.h" /> |
| | | <ClInclude Include="CMeasurement.h" /> |
| | | <ClInclude Include="ColorTransfer.h" /> |
| | | <ClInclude Include="CPageCassetteCtrlCmd.h" /> |
| | | <ClInclude Include="CPageGraph1.h" /> |
| | | <ClInclude Include="CPageGraph2.h" /> |
| | | <ClInclude Include="CPanelAttributes.h" /> |
| | |
| | | <ClCompile Include="CAttributeVector.cpp" /> |
| | | <ClCompile Include="CBakeCooling.cpp" /> |
| | | <ClCompile Include="CBonder.cpp" /> |
| | | <ClCompile Include="CEqCassetteCtrlCmdStep.cpp" /> |
| | | <ClCompile Include="CEqCassetteTransferStateStep.cpp" /> |
| | | <ClCompile Include="CCLinkPerformance\CCLinkIEControl.cpp" /> |
| | | <ClCompile Include="CCLinkPerformance\PerformanceMelsec.cpp" /> |
| | |
| | | <ClCompile Include="CGlass.cpp" /> |
| | | <ClCompile Include="CHMPropertyDlg.cpp" /> |
| | | <ClCompile Include="CHMPropertyPage.cpp" /> |
| | | <ClCompile Include="CJobDataB.cpp" /> |
| | | <ClCompile Include="CLoadPort.cpp" /> |
| | | <ClCompile Include="CMeasurement.cpp" /> |
| | | <ClCompile Include="ColorTransfer.cpp" /> |
| | | <ClCompile Include="CPageCassetteCtrlCmd.cpp" /> |
| | | <ClCompile Include="CPageGraph1.cpp" /> |
| | | <ClCompile Include="CPageGraph2.cpp" /> |
| | | <ClCompile Include="CPanelAttributes.cpp" /> |
| | |
| | | <ClCompile Include="CEqPortChangeStep.cpp" /> |
| | | <ClCompile Include="CEqReadIntStep.cpp" /> |
| | | <ClCompile Include="CEqCassetteTransferStateStep.cpp" /> |
| | | <ClCompile Include="CEqCassetteCtrlCmdStep.cpp" /> |
| | | <ClCompile Include="CJobDataB.cpp" /> |
| | | <ClCompile Include="CPageCassetteCtrlCmd.cpp" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ClInclude Include="AlarmManager.h" /> |
| | |
| | | <ClInclude Include="CEqPortChangeStep.h" /> |
| | | <ClInclude Include="CEqReadIntStep.h" /> |
| | | <ClInclude Include="CEqCassetteTransferStateStep.h" /> |
| | | <ClInclude Include="CEqCassetteCtrlCmdStep.h" /> |
| | | <ClInclude Include="CJobDataB.h" /> |
| | | <ClInclude Include="CPageCassetteCtrlCmd.h" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ResourceCompile Include="Servo.rc" /> |