From 2d69213b1b41b5b039e5dc6f6b7c55d53fd03037 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 13 五月 2025 09:34:04 +0800
Subject: [PATCH] Merge branch 'clh'

---
 SourceCode/Bond/Servo/CEquipment.h |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index 14283bd..24eb6ff 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -27,6 +27,10 @@
 #include <list>
 #include "CGlass.h"
 #include "CRecipesManager.h"
+#include "CJobDataA.h"
+#include "CJobDataB.h"
+#include "CJobDataC.h"
+#include "CJobDataS.h"
 
 
 namespace SERVO {
@@ -74,6 +78,8 @@
 		virtual const char* getClassName() = 0;
 		virtual void setListener(EquipmentListener listener);
 		void setCcLink(CCCLinkIEControl* pCcLink);
+		virtual BOOL isArm() { return FALSE; };
+		void setArm(CEquipment* pEquipment);
 		void setBaseAlarmId(int nBaseId);
 		int getBaseAlarmId();
 		void setID(int nID);
@@ -110,6 +116,10 @@
 		virtual BOOL glassWillArrive(CGlass* pGlass);
 		virtual int outputGlass(int port);
 		virtual int glassArrived(CGlass* pGlass);
+		virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
+		virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
+		virtual int onFetchedOutJob(int port, const char* pszGlassId);
+		virtual int onStoreJob(int port, const char* pszGlassId);
 		void getGlassList(std::list<CGlass*>& list);
 		CGlass* getFrontGlass();
 		BOOL removeClass(CGlass* pGlass);
@@ -133,6 +143,17 @@
 		// unitNo: 0:local; Others:unit No
 		int masterRecipeListRequest(short unitNo);
 
+		// 请求配方参数
+		// masterRecipeId: 主配方id
+		// localRecipeId: 本地配方id
+		// unitNo: 0:local; Others:unit No
+		int recipeParameterRequest(short masterRecipeId, short localRecipeId, short unitNo);
+
+	public:
+		int fetchedOutJob(const char* pszGlassId);
+		int storedJob(const char* pszGlassId);
+		BOOL isGlassListEmpty();
+
 
 	// 以下为从CC-Link读取到的Bit标志位检测函数
 	public:
@@ -151,6 +172,11 @@
 		inline BOOL equalBool(BOOL b1, BOOL b2);
 		void addGlassToList(CGlass* pGlass);
 		short decodeRecipeListReport(const char* pszData, size_t size);
+		short decodeRecipeParameterReport(const char* pszData, size_t size);
+		int decodeReceivedJobReport(CStep* pStep, int port, const char* pszData, size_t size);
+		int decodeSentOutJobReport(CStep* pStep, int port, const char* pszData, size_t size);
+		int decodeFetchedOutJobReport(CStep* pStep, int port, const char* pszData, size_t size);
+		int decodeStoredJobReport(CStep* pStep, int port, const char* pszData, size_t size);
 
 	protected:
 		EquipmentListener m_listener;
@@ -181,6 +207,9 @@
 		std::map<unsigned int, CStep*> m_mapStep;
 		int m_nBaseAlarmId;
 		CRecipesManager m_recipesManager;
+
+	private:
+		CEquipment* m_pArm;
 	};
 }
 

--
Gitblit v1.9.3