From 7a20b6f44d2ea3f23ef8d228ec4c1424925e5dfb Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 22 八月 2025 17:55:28 +0800
Subject: [PATCH] 1.增加Job模式,如果不是Job模式,沿用原来的调度方式,否则为批处理模式;

---
 SourceCode/Bond/Servo/CMaster.h |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMaster.h b/SourceCode/Bond/Servo/CMaster.h
index 6cb2965..41d4fb0 100644
--- a/SourceCode/Bond/Servo/CMaster.h
+++ b/SourceCode/Bond/Servo/CMaster.h
@@ -14,6 +14,7 @@
 #include "CCLinkIEControl.h"
 #include "CRobotTask.h"
 #include "ProcessJob.h"
+#include "CControlJob.h"
 
 
 #define CTStep_Unknow                   0
@@ -97,6 +98,7 @@
         void setPortCassetteType(unsigned int index, SERVO::CassetteType type);
         void setPortEnable(unsigned int index, BOOL bEnable);
         void setCompareMapsBeforeProceeding(BOOL bCompare);
+        void setJobMode(BOOL bJobMode);
         void datetimeSync(SYSTEMTIME& time);
         void enableEventReport(bool bEnable);
         void enableAlarmReport(bool bEnable);
@@ -105,9 +107,14 @@
         int carrierRelease(unsigned int port);
         int getContinuousTransferCount();
         void setContinuousTransferCount(int round);
-        int setProcessJobs(std::vector<SERVO::CProcessJob*>& pjs);
-        std::vector<SERVO::CProcessJob*>& getProcessJobs();
+        int setProcessJobs(std::vector<CProcessJob*>& pjs);
+        std::vector<CProcessJob*>& getProcessJobs();
+        CProcessJob* getProcessJob(const std::string& id);
+        int setControlJob(CControlJob& controlJob);
+        CControlJob* getControlJob();
         CLoadPort* getPortWithCarrierId(const std::string& carrierId) const;
+        bool saveState() const;
+        bool loadState(const std::string& path);
 
     private:
         inline void lock() { EnterCriticalSection(&m_criticalSection); }
@@ -131,7 +138,7 @@
         void setState(MASTERSTATE state);
         CRobotTask* createTransferTask(CEquipment* pSrcEq, CEquipment* pTarEq,
             MaterialsType primaryType = MaterialsType::G1, MaterialsType secondaryType = MaterialsType::G2,
-            int armNo = 1);
+            int armNo = 1, BOOL bJobMode = FALSE);
         CRobotTask* createTransferTask_bonder_to_bakecooling(CEquipment* pSrcEq, CEquipment* pTarEq);
         CRobotTask* createTransferTask_bake_to_cooling(CEquipment* pSrcEq);
         CRobotTask* createTransferTask_bakecooling_to_measurement(CEquipment* pSrcEq, CEquipment* pTarEq);
@@ -183,6 +190,8 @@
 
         // 在开始工艺前是否先需要先比较map
         BOOL m_isCompareMapsBeforeProceeding;
+        BOOL m_bJobMode;
+
 
         // 千传圈数计数
         int m_nContinuousTransferCount;
@@ -191,7 +200,9 @@
     private:
         bool m_bEnableEventReport;
         bool m_bEnableAlarmReport;
+        SERVO::CControlJob* m_pControlJob;
         std::vector<SERVO::CProcessJob*> m_processJobs;
+        std::string m_strStatePath;
     };
 }
 

--
Gitblit v1.9.3