From 0393d1ff2ebc378b3c4cff9b45f72ebc8a4ea516 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 03 六月 2025 15:13:42 +0800
Subject: [PATCH] Merge branch 'master' into liuyang

---
 SourceCode/Bond/Servo/CEFEM.cpp |   90 +++++++++++++++++++++-----------------------
 1 files changed, 43 insertions(+), 47 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index 05e7074..6cbb23b 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/SourceCode/Bond/Servo/CEFEM.cpp
@@ -126,15 +126,15 @@
 		return 0;
 	}
 
-	int CEFEM::SendHome(int seq)
+	int CEFEM::robotSendHome(int seq, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
 		cmd.rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot)
+	int CEFEM::robotSendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -144,10 +144,10 @@
 		cmd.getSlotNo = static_cast<short>(fromSlot);
 		cmd.putPosition = static_cast<short>(toPos);
 		cmd.putSlotNo = static_cast<short>(toSlot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendMoveToGet(int seq, int armNo, int pos, int slot)
+	int CEFEM::robotSendMoveToGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -156,10 +156,10 @@
 		cmd.getPosition = static_cast<short>(pos);
 		cmd.getSlotNo = static_cast<short>(slot);
 		cmd.subCmd = 1;
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendMoveToPut(int seq, int armNo, int pos, int slot)
+	int CEFEM::robotSendMoveToPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -168,10 +168,10 @@
 		cmd.putPosition = static_cast<short>(pos);
 		cmd.putSlotNo = static_cast<short>(slot);
 		cmd.subCmd = 2;
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendGet(int seq, int armNo, int pos, int slot)
+	int CEFEM::robotSendGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -179,10 +179,10 @@
 		cmd.armNo = static_cast<short>(armNo);
 		cmd.getPosition = static_cast<short>(pos);
 		cmd.getSlotNo = static_cast<short>(slot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendPut(int seq, int armNo, int pos, int slot)
+	int CEFEM::robotSendPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -190,10 +190,10 @@
 		cmd.armNo = static_cast<short>(armNo);
 		cmd.putPosition = static_cast<short>(pos);
 		cmd.putSlotNo = static_cast<short>(slot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendExchange(int seq, int armNo, int pos, int getSlot, int putSlot)
+	int CEFEM::robotSendExchange(int seq, int armNo, int pos, int getSlot, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -203,18 +203,18 @@
 		cmd.putPosition = static_cast<short>(pos);
 		cmd.getSlotNo = static_cast<short>(getSlot);
 		cmd.putSlotNo = static_cast<short>(putSlot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendCommandClear(int seq)
+	int CEFEM::robotSendCommandClear(int seq, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
 		cmd.rcmd = static_cast<short>(SERVO::RCMD::Command_Clear);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendBatchGet(int seq, int getPos, int getSlot)
+	int CEFEM::robotSendBatchGet(int seq, int getPos, int getSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -222,10 +222,10 @@
 		cmd.armNo = ARM_ALL;
 		cmd.getPosition = static_cast<short>(getPos);
 		cmd.getSlotNo = static_cast<short>(getSlot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendBatchPut(int seq, int putPos, int putSlot)
+	int CEFEM::robotSendBatchPut(int seq, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmd = {};
 		cmd.sequenceNo = static_cast<short>(seq);
@@ -233,10 +233,10 @@
 		cmd.armNo = ARM_ALL;
 		cmd.putPosition = static_cast<short>(putPos);
 		cmd.putSlotNo = static_cast<short>(putSlot);
-		return robotCmd(cmd);
+		return robotCmd(cmd, onWritedBlock);
 	}
 
-	int CEFEM::SendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot)
+	int CEFEM::robotSendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmds[2] = {};
 
@@ -252,10 +252,10 @@
 		cmds[1].sequenceNo = static_cast<short>(seq + 1);
 		cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
 
-		return robotCmds(cmds, 2);
+		return robotCmds(cmds, 2, onWritedBlock);
 	}
 
-	int CEFEM::SendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot)
+	int CEFEM::robotSendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmds[2] = {};
 
@@ -271,10 +271,10 @@
 		cmds[1].sequenceNo = static_cast<short>(seq + 1);
 		cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
 
-		return robotCmds(cmds, 2);
+		return robotCmds(cmds, 2, onWritedBlock);
 	}
 
-	int CEFEM::SendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot)
+	int CEFEM::robotSendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmds[2] = {};
 
@@ -291,10 +291,10 @@
 		cmds[1].sequenceNo = static_cast<short>(seq + 1);
 		cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
 
-		return robotCmds(cmds, 2);
+		return robotCmds(cmds, 2, onWritedBlock);
 	}
 
-	int CEFEM::SendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot)
+	int CEFEM::robotSendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmds[2] = {};
 
@@ -310,10 +310,10 @@
 		cmds[1].putPosition = static_cast<short>(putPos);
 		cmds[1].putSlotNo = static_cast<short>(putSlot);
 
-		return robotCmds(cmds, 2);
+		return robotCmds(cmds, 2, onWritedBlock);
 	}
 
-	int CEFEM::SendPutAndHome(int seq, int armNo, int putPos, int putSlot)
+	int CEFEM::robotSendPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
 	{
 		SERVO::ROBOT_CMD_PARAM cmds[2] = {};
 
@@ -328,7 +328,7 @@
 		cmds[1].sequenceNo = static_cast<short>(seq + 1);
 		cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
 
-		return robotCmds(cmds, 2);
+		return robotCmds(cmds, 2, onWritedBlock);
 	}
 
 	void CEFEM::init()
@@ -409,7 +409,7 @@
 			// eq cim mode change
 			CEqCimModeChangeStep* pStep = new CEqCimModeChangeStep();
 			pStep->setName(STEP_CIM_MODE_CHANGE);
-			pStep->setWriteSignalDev(0x70);
+			pStep->setWriteSignalDev(0x60);
 			pStep->setCimModeDev(0x15);
 			if (addStep(STEP_ID_CIMMODE_CHANGED_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -420,7 +420,7 @@
 			// eq cim message
 			CEqCimMessageCmdStep* pStep = new CEqCimMessageCmdStep();
 			pStep->setName(STEP_CIM_MESSAGE_CMD);
-			pStep->setWriteSignalDev(0x71);
+			pStep->setWriteSignalDev(0x61);
 			pStep->setCimMessageDev(0x0);
 			if (addStep(STEP_ID_CIM_MSG_SET_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -432,7 +432,7 @@
 			// CIM Message Confirm
 			CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, 0x5f80);
 			pStep->setName(STEP_EQ_CIM_MESSAGE_CONFIRM);
-			pStep->setWriteSignalDev(0x59);
+			pStep->setWriteSignalDev(0x49);
 			if (addStep(STEP_ID_CIM_MSG_CONFIRM_REPORT, pStep) != 0) {
 				delete pStep;
 			}
@@ -460,7 +460,7 @@
 			// eq cim message clear
 			CEqCimMessageClearStep* pStep = new CEqCimMessageClearStep();
 			pStep->setName(STEP_CIM_MESSAGE_CLEAR);
-			pStep->setWriteSignalDev(0x72);
+			pStep->setWriteSignalDev(0x62);
 			pStep->setClearCimMessageDev(0x13);
 			if (addStep(STEP_ID_CIM_MSG_CLEAR_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -471,7 +471,7 @@
 			// datetime set cmd
 			CEqDateTimeSetCmdStep* pStep = new CEqDateTimeSetCmdStep();
 			pStep->setName(STEP_DATETIME_SET_CMD);
-			pStep->setWriteSignalDev(0x73);
+			pStep->setWriteSignalDev(0x63);
 			pStep->setDateTimeDev(0x16);
 			if (addStep(STEP_ID_DATETIME_SET_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -482,7 +482,7 @@
 			// vcr enable
 			CEqVCREnableStep* pStep = new CEqVCREnableStep();
 			pStep->setName(STEP_EQ_VCR_ENABLE);
-			pStep->setWriteSignalDev(0x74);
+			pStep->setWriteSignalDev(0x64);
 			pStep->setEqVCRModeDev(0x1F);
 			if (addStep(STEP_ID_VCR_ENABLE_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -493,7 +493,7 @@
 			// eq mode change
 			CEqModeChangeStep* pStep = new CEqModeChangeStep();
 			pStep->setName(STEP_EQ_MODE_CHANGE);
-			pStep->setWriteSignalDev(0x75);
+			pStep->setWriteSignalDev(0x65);
 			pStep->setEqModeDev(0x1E);
 			if (addStep(STEP_ID_EQMODE_CHANGE_CMD_REPLY, pStep) != 0) {
 				delete pStep;
@@ -628,6 +628,12 @@
 		}
 	}
 
+	// 必须要实现的虚函数,在此初始化Slot信息
+	void CEFEM::initSlots()
+	{
+
+	}
+
 	void CEFEM::onTimer(UINT nTimerid)
 	{
 		CEquipment::onTimer(nTimerid);
@@ -646,16 +652,6 @@
 	int CEFEM::recvIntent(CPin* pPin, CIntent* pIntent)
 	{
 		return __super::recvIntent(pPin, pIntent);
-	}
-
-	BOOL CEFEM::glassWillArrive(CGlass* pGlass)
-	{
-		BOOL bRet = __super::glassWillArrive(pGlass);
-		if (!bRet) {
-			return FALSE;
-		}
-
-		return m_glassList.empty();
 	}
 
 	void CEFEM::onReceiveLBData(const char* pszData, size_t size)

--
Gitblit v1.9.3