From d68541dce155a682f65b7c3fbfbfbeef17ea5b8f Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 12 五月 2025 12:00:41 +0800
Subject: [PATCH] 1.StoredJob, Fetched out Job实现; 2.CStep增加定制的Attribute, 以便通过的Step不使用getAttributeVector也能添加不一样的Attribute;
---
SourceCode/Bond/Servo/CEquipment.h | 27 ++++++++++++++++++++++++++-
1 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index 1e6d326..22a6a52 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,8 @@
virtual BOOL glassWillArrive(CGlass* pGlass);
virtual int outputGlass(int port);
virtual int glassArrived(CGlass* pGlass);
+ virtual int onFetchedOut(int port, const char* pszGlassId);
+ virtual int onStore(int port, const char* pszGlassId);
void getGlassList(std::list<CGlass*>& list);
CGlass* getFrontGlass();
BOOL removeClass(CGlass* pGlass);
@@ -133,6 +141,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 fetchedOut(const char* pszGlassId);
+ int storedJob(const char* pszGlassId);
+ BOOL isGlassListEmpty();
+
// 以下为从CC-Link读取到的Bit标志位检测函数
public:
@@ -150,7 +169,10 @@
BOOL isBitOn(const char* pszData, size_t size, int index);
inline BOOL equalBool(BOOL b1, BOOL b2);
void addGlassToList(CGlass* pGlass);
- int decodeRecipeListReport(const char* pszData, size_t size);
+ short decodeRecipeListReport(const char* pszData, size_t size);
+ short decodeRecipeParameterReport(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 +203,9 @@
std::map<unsigned int, CStep*> m_mapStep;
int m_nBaseAlarmId;
CRecipesManager m_recipesManager;
+
+ private:
+ CEquipment* m_pArm;
};
}
--
Gitblit v1.9.3