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/CEFEM.cpp |   34 +++++++++++++++++++++++++---------
 1 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index 645251f..8175eed 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/SourceCode/Bond/Servo/CEFEM.cpp
@@ -728,7 +728,6 @@
 							CJobDataS* pJobDataS = ((CGlass*)m_pActiveContext)->getJobDataS();
 							if (pJobDataS != nullptr) {
 								pJobDataS->serialize(szBuffer, 1024);
-								pJobDataS->serialize(szBuffer, 1024);
 								ack = (short)JobDataRequestAck::OK;
 							}
 						}
@@ -806,14 +805,23 @@
 		}
 
 		// 更新信号到LoadPort, Robot, Aligner, Fliper
-		m_pPort[0]->setLinkSignalBlock(0, &m_bLinkSignal[0][0]);
-		m_pPort[1]->setLinkSignalBlock(0, &m_bLinkSignal[1][0]);
-		m_pPort[2]->setLinkSignalBlock(0, &m_bLinkSignal[2][0]);
-		m_pPort[3]->setLinkSignalBlock(0, &m_bLinkSignal[3][0]);
-		m_pArmTray[0]->setLinkSignalBlock(0, &m_bLinkSignal[4][0]);
-		m_pArmTray[1]->setLinkSignalBlock(0, &m_bLinkSignal[5][0]);
-		m_pAligner->setLinkSignalBlock(0, &m_bLinkSignal[6][0]);
-		m_pFliper->setLinkSignalBlock(0, &m_bLinkSignal[7][0]);
+		m_pPort[0]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[0][0]);
+		m_pPort[1]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[1][0]);
+		m_pPort[2]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[2][0]);
+		m_pPort[3]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[3][0]);
+		m_pArmTray[0]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[4][0]);
+		m_pArmTray[1]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[5][0]);
+		m_pAligner->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[6][0]);
+		m_pFliper->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[7][0]);
+
+		m_pPort[0]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[0][0]);
+		m_pPort[1]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[1][0]);
+		m_pPort[2]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[2][0]);
+		m_pPort[3]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[3][0]);
+		m_pArmTray[0]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[4][0]);
+		m_pArmTray[1]->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[5][0]);
+		m_pAligner->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[6][0]);
+		m_pFliper->setLinkSignalDownstreamBlock(0, &m_bLinkSignalToDownstream[7][0]);
 	}
 
 	int CEFEM::onReceivedJob(int port, CJobDataS* pJobDataS)
@@ -872,4 +880,12 @@
 	{
 		return 10000;
 	}
+
+	void CEFEM::printDebugRobotState()
+	{
+		LOGI("<CEFEM>Robot status:%d, ARM1:%s, ARM2:%s",
+			m_robotData.status,
+			m_robotData.armState[1] ? _T("ON") : _T("OFF"),
+			m_robotData.armState[2] ? _T("ON") : _T("OFF"));
+	}
 }

--
Gitblit v1.9.3