From d1aa8faa0632de2dafb7d081a3a93a3c2d4f8962 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 24 六月 2025 17:36:22 +0800
Subject: [PATCH] 1.与EFEM对接调试Port Command(Type Change、Mode Change、Transfer Mode Change、Enable Mode Change、Type Auto Change、Cassette Type Change)并修改完善代码。 2.增加Recive Able信号的获取,并以此作为能否放料的逻辑判断依据。 3.配方获取完善,待测。
---
SourceCode/Bond/Servo/CEquipment.h | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index 76c0f91..8807f13 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -43,6 +43,8 @@
#define SIGNAL_UPSTREAM_TROUBLE 1
#define SIGNAL_INTERLOCK 2
#define SIGNAL_SEND_ABLE 3
+#define SIGNAL_RECEIVE_ABLE 4
+
typedef std::function<void(int writeCode, int retCode)> ONWRITEDRET;
typedef std::function<void(void* pEiuipment, BOOL bAlive)> ONALIVE;
@@ -112,6 +114,7 @@
CPin* getPin(char* pszName);
std::vector<CPin*>& CEquipment::getInputPins();
std::vector<CPin*>& CEquipment::getOutputPins();
+ CRecipeList* getRecipeList(int unitNo);
virtual int recvIntent(CPin* pPin, CIntent* pIntent);
virtual int fetchedOutJob(CJobDataB* pJobDataB);
virtual int storedJob(CJobDataB* pJobDataB, short putSlot);
@@ -123,6 +126,7 @@
virtual int onStoredJob(int port, CJobDataB* pJobDataB);
virtual int onProcessData(CProcessData* pProcessData);
virtual int onSendAble();
+ virtual int onRecieveAble();
virtual int onProcessStateChanged(PROCESS_STATE state);
virtual int getIndexerOperationModeBaseValue();
bool isAlarmStep(SERVO::CStep* pStep);
@@ -142,12 +146,12 @@
int setDateTime(short year, short month, short day, short hour, short minute, short second);
int setDispatchingMode(DISPATCHING_MODE mode, ONWRITED onWritedBlock = nullptr);
int indexerOperationModeChange(IDNEXER_OPERATION_MODE mode, ONWRITEDRET onWritedRetBlock);
-
+ void printDebugString001();
// 请求主配方列表
// unitNo: 0:local; Others:unit No
- int masterRecipeListRequest(short unitNo);
+ int masterRecipeListRequest(short unitNo, ONSYNCINGSTATECHANGED block);
// 请求配方参数
// masterRecipeId: 主配方id
@@ -202,11 +206,14 @@
BOOL isLocalAlarm();
BOOL isAutoRecipeChange();
BOOL isVCREnable(unsigned int index);
- BOOL isLinkSignalOn(unsigned int path, unsigned int signal);
+ BOOL isLinkSignalUpstreamOn(unsigned int path, unsigned int signal);
+ BOOL isLinkSignalDownstreamOn(unsigned int path, unsigned int signal);
// 只在模拟测试时使用的函数,用于模拟信号
- void setLinkSignal(unsigned int path, unsigned int signal, BOOL bOn);
- void setLinkSignalBlock(unsigned int path, BOOL* pSignal);
+ void setLinkSignalUpstream(unsigned int path, unsigned int signal, BOOL bOn);
+ void setLinkSignalUpstreamBlock(unsigned int path, BOOL* pSignal);
+ void setLinkSignalDownstream(unsigned int path, unsigned int signal, BOOL bOn);
+ void setLinkSignalDownstreamBlock(unsigned int path, BOOL* pSignal);
protected:
inline void Lock() { EnterCriticalSection(&m_criticalSection); }
@@ -249,7 +256,8 @@
BOOL m_bLocalAlarm;
BOOL m_bAutoRecipeChange;
BOOL m_bVCREnable[VCR_MAX];
- BOOL m_bLinkSignal[PATH_MAX][SIGNAL_MAX];
+ BOOL m_bLinkSignalToUpstream[PATH_MAX][SIGNAL_MAX];
+ BOOL m_bLinkSignalToDownstream[PATH_MAX][SIGNAL_MAX];
protected:
CCCLinkIEControl* m_pCclink;
--
Gitblit v1.9.3