From 5a8bbd2426aeacdbbb2fdb1a7f7a1adce0cac7f9 Mon Sep 17 00:00:00 2001 From: mrDarker <mr.darker@163.com> Date: 星期五, 01 八月 2025 16:23:29 +0800 Subject: [PATCH] 1. 新增以下功能函数并集成: - InitStorage():初始化存储区域 - StartStorage():开始数据存储 - StopStorage():停止存储并自动提取、分析数据 - AnalyzeStoredData():分析指定端口数据,返回偏移量 --- SourceCode/Bond/Servo/CLoadPort.h | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/SourceCode/Bond/Servo/CLoadPort.h b/SourceCode/Bond/Servo/CLoadPort.h index 3156830..12776df 100644 --- a/SourceCode/Bond/Servo/CLoadPort.h +++ b/SourceCode/Bond/Servo/CLoadPort.h @@ -17,11 +17,11 @@ virtual void term(); virtual void initPins(); virtual void initSteps(); + virtual void initSlots(); virtual void onTimer(UINT nTimerid); virtual void serialize(CArchive& ar); virtual void getAttributeVector(CAttributeVector& attrubutes); virtual int recvIntent(CPin* pPin, CIntent* pIntent); - virtual BOOL glassWillArrive(CGlass* pGlass); virtual void onReceiveLBData(const char* pszData, size_t size); public: @@ -31,8 +31,17 @@ int setCassetteType(CassetteType type, ONWRITED onWritedBlock = nullptr); int setTransferMode(TransferMode mode, ONWRITED onWritedBlock = nullptr); int eableAutoChange(BOOL bEnable, ONWRITED onWritedBlock = nullptr); + void localEanblePort(BOOL bEnable); + void localSetPortType(PortType type); + void localSetPortMode(PortMode mode); + void localSetCessetteType(CassetteType type); + void localSetTransferMode(TransferMode mode); + void localAutoChangeEnable(BOOL bEnable); + short getScanCassetteMap(); + short getDownloadCassetteMap(); public: + short getNextCassetteSequenceNo(); void setIndex(unsigned int index); unsigned int getIndex(); BOOL isEnable(); @@ -48,7 +57,9 @@ int getQTimeFlag(); int getCassetteMappingState(); int getCassetteStatus(); - int testGenerateGlassList(MaterialsType type, int count, const char* pszPrefix, int startSuffix); + int testGenerateGlassList(MaterialsType type); + int generateGlassList(short map); + int testGenerateGlassListFromConfig(const SERVO::PortConfig& config); public: static std::string& getPortTypeDescription(PortType portType, std::string& strDescription); @@ -63,14 +74,15 @@ static std::string& getCassetteStatusDescription(int state, std::string& strDescription); public: - virtual int outputGlass(int port); int sendCassetteCtrlCmd(short cmd, short* jobExistence, int jobExistenceSize, short slotProcess, short jopCount, - CJobDataA* pJobDataA); + CJobDataA* pJobDataA, + ONWRITED onWritedBlock); CStep* getCassetteCtrlCmdStep(); + void setCompareMapsBeforeProceeding(BOOL bCompare); private: int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size); @@ -84,6 +96,10 @@ BOOL m_bEnable; BOOL m_bAutoChangeEnable; CPortStatusReport m_portStatusReport; + int m_nNextCassetteSequenceNo; + + // 在开始工艺前是否先需要先比较map + BOOL m_isCompareMapsBeforeProceeding; }; } -- Gitblit v1.9.3