From bc7f1c4e028e69be51079b59dae4ae5c4d43f5bb Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期六, 31 一月 2026 21:54:56 +0800
Subject: [PATCH] 1.状态指示图,目前灰色表示掉线,绿色表示在线。增加Slot的小点表示有没有料,及加工状态 。 2.增加图示

---
 SourceCode/Bond/Servo/CLoadPort.h |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.h b/SourceCode/Bond/Servo/CLoadPort.h
index 3156830..1fb70d7 100644
--- a/SourceCode/Bond/Servo/CLoadPort.h
+++ b/SourceCode/Bond/Servo/CLoadPort.h
@@ -1,4 +1,4 @@
-#pragma once
+锘�#pragma once
 #include "CEquipment.h"
 #include "ServoCommo.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,20 @@
 		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();
+		void setDownloadCassetteMap(short map);
 
 	public:
+		short getNextCassetteSequenceNo();
+		int getPortCassetteSnSeed();
+		void setPortCassetteSnSeed(int seed);
 		void setIndex(unsigned int index);
 		unsigned int getIndex();
 		BOOL isEnable();
@@ -44,11 +56,15 @@
 		int getPortStatus();
 		int getCassetteSequenceNo();
 		std::string& getCassetteId();
+		// Simulation helper: allow setting CarrierID when no EFEM is connected.
+		void simulateSetCassetteId(const char* pszCarrierId);
 		int getLoadingCassetteType();
 		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 +79,16 @@
 		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);
+		BOOL isCompareMapsBeforeProceeding() const;
 
 	private:
 		int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size);
@@ -84,6 +102,10 @@
 		BOOL m_bEnable;
 		BOOL m_bAutoChangeEnable;
 		CPortStatusReport m_portStatusReport;
+		int m_nNextCassetteSequenceNo;
+
+		// 鍦ㄥ紑濮嬪伐鑹哄墠鏄惁鍏堥渶瑕佸厛姣旇緝map
+		BOOL m_isCompareMapsBeforeProceeding;
+		short m_downloadCassetteMap;
 	};
 }
-

--
Gitblit v1.9.3