#include "stdafx.h" #include "CVacuumBake.h" namespace SERVO { CVacuumBake::CVacuumBake() : CEquipment() { } CVacuumBake::~CVacuumBake() { } const char* CVacuumBake::getClassName() { static char* pszName = "CVacuumBake"; return pszName; } void CVacuumBake::init() { CEquipment::init(); } void CVacuumBake::term() { CEquipment::term(); } // ±ØÐëҪʵÏÖµÄÐ麯Êý£¬Ôڴ˳õʼ»¯PinÁбí void CVacuumBake::initPins() { // ¼ÓÈëPin³õʼ»¯´úÂë LOGI("initPins"); addPin(SERVO::PinType::INPUT, _T("In1")); addPin(SERVO::PinType::INPUT, _T("In2")); addPin(SERVO::PinType::OUTPUT, _T("Out")); } void CVacuumBake::onTimer(UINT nTimerid) { CEquipment::onTimer(nTimerid); } void CVacuumBake::serialize(CArchive& ar) { CEquipment::serialize(ar); } void CVacuumBake::getAttributeVector(CAttributeVector& attrubutes) { __super::getAttributeVector(attrubutes); } int CVacuumBake::recvIntent(CPin* pPin, CIntent* pIntent) { return __super::recvIntent(pPin, pIntent); } BOOL CVacuumBake::glassWillArrive(CGlass* pGlass) { BOOL bRet = __super::glassWillArrive(pGlass); if (!bRet) { return FALSE; } return m_glassList.empty(); } BOOL CVacuumBake::onPreStoredJob(int port, CJobDataB* pJobDataB) { CJobDataS* pJobDataS = getJobDataS(pJobDataB->getCassetteSequenceNo(), pJobDataB->getJobSequenceNo()); if (pJobDataS == nullptr) { LOGE("onPreFetchedOutJob,ÕÒ²»µ½¶ÔÓ¦µÄJobDataS(CassetteSequenceNo:%d, JobSequenceNo:%d), ×¢ÒâÅŲé·çÏÕ!", m_strName.c_str(), pJobDataB->getCassetteSequenceNo(), pJobDataB->getJobSequenceNo()); return FALSE; } // µ±Ç°²»ÄÜÓÐÈκβ£Á§£¬ÇÒµ±Ç°×¼±¸½øµÄƬÊÇG1 Lock(); if (!m_glassList.empty()) { Unlock(); LOGE("onPreFetchedOutJob,µ±Ç°»úÆ÷»òµ¥Ôª´æÔÚ²£Á§Æ¬£¬²»ÄܽøÁÏ£¬Çë×¢Òâ·çÏÕ£¡", m_strName.c_str()); return FALSE; } if (pJobDataS->getMaterialsType() != (int)MaterialsType::G1) { LOGE("onPreFetchedOutJob,µ±Ç°»úÆ÷»òµ¥ÔªÖ»ÄܽøG2²£Á§Æ¬£¬Çë×¢Òâ·çÏÕ£¡", m_strName.c_str()); return FALSE; } return TRUE; } }