From 2ee440d9e85eccd73d2c3d4cbfe42cb8c1c25ec0 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 28 六月 2025 14:35:24 +0800
Subject: [PATCH] 1.在stroedJob和Fetchout Job中增加Port的校验; 2.在物料调度中增加检测物料是否已经处理完成的校验;
---
SourceCode/Bond/Servo/CEquipment.h | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index 8807f13..e1a6901 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -43,7 +43,7 @@
#define SIGNAL_UPSTREAM_TROUBLE 1
#define SIGNAL_INTERLOCK 2
#define SIGNAL_SEND_ABLE 3
-#define SIGNAL_RECEIVE_ABLE 4
+#define SIGNAL_RECEIVE_ABLE 3
typedef std::function<void(int writeCode, int retCode)> ONWRITEDRET;
@@ -51,8 +51,8 @@
typedef std::function<void(void* pEiuipment, int code)> ONDATACHANGED;
typedef std::function<void(void* pEiuipment, int state, int alarmId, int unitId, int level)> ONALARM;
typedef std::function<void(void* pEiuipment, void* pReport)> ONVCREVENTREPORT;
- typedef std::function<BOOL(void* pEiuipment, CJobDataB* pJobDataB)> ONPREFETCHEDOUTJOB;
- typedef std::function<BOOL(void* pEiuipment, CJobDataB* pJobDataB, short& putSlot)> ONPRESTOREDJOB;
+ typedef std::function<BOOL(void* pEiuipment, int port, CJobDataB* pJobDataB)> ONPREFETCHEDOUTJOB;
+ typedef std::function<BOOL(void* pEiuipment, int port, CJobDataB* pJobDataB, short& putSlot)> ONPRESTOREDJOB;
typedef std::function<void(void* pEiuipment, PROCESS_STATE state)> ONPROCESSSTATE;
typedef struct _EquipmentListener
{
@@ -116,8 +116,8 @@
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);
+ virtual int fetchedOutJob(int port, CJobDataB* pJobDataB);
+ virtual int storedJob(int port, CJobDataB* pJobDataB);
virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
virtual BOOL onPreFetchedOutJob(int port, CJobDataB* pJobDataB);
@@ -126,9 +126,10 @@
virtual int onStoredJob(int port, CJobDataB* pJobDataB);
virtual int onProcessData(CProcessData* pProcessData);
virtual int onSendAble();
- virtual int onRecieveAble();
+ virtual int onReceiveAble();
virtual int onProcessStateChanged(PROCESS_STATE state);
virtual int getIndexerOperationModeBaseValue();
+ virtual bool isSlotProcessed(int slot) { return true; };
bool isAlarmStep(SERVO::CStep* pStep);
bool isVcrEventStep(SERVO::CStep* pStep);
bool isCassetteTransferStateStep(SERVO::CStep* pStep);
@@ -167,6 +168,7 @@
// 获取一个指定物料类型(G1,G2,G1&G2)的空槽位
CSlot* getAvailableSlotForGlass(MaterialsType type);
+ CSlot* getAvailableSlotForGlassExcludeSignal(MaterialsType type);
// 在指定的槽列表中,获取一个指定物料类型(G1,G2,G1&G2)的空槽位
CSlot* getAvailableSlotForGlass2(MaterialsType type, const std::vector<int>& candidates);
@@ -231,6 +233,8 @@
int decodePanelDataReport(CStep* pStep, const char* pszData, size_t size);
int decodeFacDataReport(CStep* pStep, const char* pszData, size_t size);
int decodeJobDataRequest(CStep* pStep, const char* pszData, size_t size);
+ int decodeJobProcessStartReport(CStep* pStep, const char* pszData, size_t size);
+ int decodeJobProcessEndReport(CStep* pStep, const char* pszData, size_t size);
BOOL compareJobData(CJobDataB* pJobDataB, CJobDataS* pJobDataS);
void setProcessState(PROCESS_STATE state);
--
Gitblit v1.9.3