From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;

---
 SourceCode/Bond/Servo/CEFEM.h |   38 ++++++++++++++++++++++----------------
 1 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEFEM.h b/SourceCode/Bond/Servo/CEFEM.h
index d8a4e1b..12603d3 100644
--- a/SourceCode/Bond/Servo/CEFEM.h
+++ b/SourceCode/Bond/Servo/CEFEM.h
@@ -4,6 +4,7 @@
 #include "CAligner.h"
 #include "CFliper.h"
 #include "CArmTray.h"
+#include "Context.h"
 
 
 namespace SERVO {
@@ -20,11 +21,11 @@
         virtual void term();
         virtual void initPins();
         virtual void initSteps();
+        virtual void initSlots();
         virtual void onTimer(UINT nTimerid);
         virtual void serialize(CArchive& ar);
         virtual void getAttributeVector(CAttributeVector& attrubutes);
         virtual int recvIntent(CPin* pPin, CIntent* pIntent);
-        virtual BOOL glassWillArrive(CGlass* pGlass);
         virtual void onReceiveLBData(const char* pszData, size_t size);
         virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
         virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
@@ -33,35 +34,40 @@
         virtual int getIndexerOperationModeBaseValue();
 
     public:
+        void setContext(CContext* pContext);
         void setPort(unsigned int index, CLoadPort* pPort);
         void setAligner(CAligner* pAligner);
         void setFliper(CFliper* pFliper);
         void setArmTray(unsigned int index, CArmTray* pArmTray);
         int robotCmd(ROBOT_CMD_PARAM& robotCmdParam, ONWRITED onWritedBlock = nullptr);
         int robotCmds(ROBOT_CMD_PARAM* robotCmdParam, unsigned int count, ONWRITED onWritedBlock = nullptr);
+        RMDATA& getRobotMonitoringData();
 
         // 快捷封装
-        int SendHome(int seq);
-        int SendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
-        int SendMoveToGet(int seq, int armNo, int pos, int slot);
-        int SendMoveToPut(int seq, int armNo, int pos, int slot);
-        int SendGet(int seq, int armNo, int pos, int slot);
-        int SendPut(int seq, int armNo, int pos, int slot);
-        int SendExchange(int seq, int armNo, int pos, int getSlot, int putSlot);
-        int SendCommandClear(int seq);
-        int SendBatchGet(int seq, int getPos, int getSlot);
-        int SendBatchPut(int seq, int putPos, int putSlot);
-        int SendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot);
-        int SendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot);
-        int SendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
-        int SendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot);
-        int SendPutAndHome(int seq, int armNo, int putPos, int putSlot);
+        int robotSendHome(int seq, ONWRITED onWritedBlock = nullptr);
+        int robotSendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendMoveToGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr);
+        int robotSendMoveToPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr);
+        int robotSendGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr);
+        int robotSendPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr);
+        int robotSendExchange(int seq, int armNo, int pos, int getSlot, int putSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendCommandClear(int seq, ONWRITED onWritedBlock = nullptr);
+        int robotSendBatchGet(int seq, int getPos, int getSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendBatchPut(int seq, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr);
+        int robotSendPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr);
+        void printDebugRobotState();
 
     private:
         CLoadPort* m_pPort[4];
         CAligner* m_pAligner;
         CFliper* m_pFliper;
         CArmTray* m_pArmTray[2];
+        RMDATA m_robotData;
+        CContext* m_pActiveContext;
     };
 }
 

--
Gitblit v1.9.3