From 3f000671e15acd2de87c8588d7f09c0dc103bd7b Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 08 九月 2025 13:56:23 +0800
Subject: [PATCH] 1.SVData获取和解释,待测试;
---
SourceCode/Bond/Servo/CEFEM.cpp | 53 +++++++++++++++++++++++++++++++----------------------
1 files changed, 31 insertions(+), 22 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index fdaf6c1..fae20a5 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/SourceCode/Bond/Servo/CEFEM.cpp
@@ -137,7 +137,7 @@
}
return 0;
- });
+ });
}
return 0;
@@ -545,6 +545,27 @@
}
}
+ {
+ // master recipe list report
+ CEqReadStep* pStep = new CEqReadStep(0x6955, 255 * 2,
+ [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
+ CEqReadStep* pTmpStep = (CEqReadStep*)pFrom;
+ short ret = MRLRC_OK;
+ if (code == ROK && pszData != nullptr && size > 0) {
+ // 此处解释配方数据
+ ret = decodeRecipeListReport(pszData, size);
+ }
+ pTmpStep->setReturnCode(ret);
+ return -1;
+ });
+ pStep->setName(STEP_EQ_MASTER_RECIPE_LIST);
+ pStep->setWriteSignalDev(0x4b);
+ pStep->setReturnDev(0x91d);
+ if (addStep(STEP_ID_MASTER_RECIPE_LIST_REPORT, pStep) != 0) {
+ delete pStep;
+ }
+ }
+
// 使用CEqReadStep替换CEqJobEventStep
{
// Received Job Report Upstream #1~9
@@ -676,26 +697,11 @@
}
}
+ // FAC Data Report
+ addFacDataReportStep(0x6589, 0x04d, 1);
+ /*
{
- // Panel Data Report
- CEqReadStep* pStep = new CEqReadStep(0x617f, 386 * 2,
- [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
- if (code == ROK && pszData != nullptr && size > 0) {
- decodePanelDataReport((CStep*)pFrom, pszData, size);
- }
- return -1;
- });
- pStep->setName(STEP_EQ_PANEL_DATA_REPORT);
- pStep->setProp("Port", (void*)1);
- pStep->setWriteSignalDev(0x15e);
- if (addStep(STEP_ID_PANEL_DATA_REPORT, pStep) != 0) {
- delete pStep;
- }
- }
-
- {
- // FAC Data Report
- CEqReadStep* pStep = new CEqReadStep(0x6301, 108 * 2,
+ CEqReadStep* pStep = new CEqReadStep(0x6589, 133 * 2,
[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
if (code == ROK && pszData != nullptr && size > 0) {
decodeFacDataReport((CStep*)pFrom, pszData, size);
@@ -709,6 +715,7 @@
delete pStep;
}
}
+ */
{
// JOB Data Request
@@ -804,6 +811,8 @@
m_pPort[i]->onReceiveLBData(pszData, size);
}
}
+ m_pAligner->onReceiveLBData(pszData, size);
+
// 更新信号到LoadPort, Robot, Aligner, Fliper
m_pPort[0]->setLinkSignalUpstreamBlock(0, &m_bLinkSignalToUpstream[0][0]);
@@ -886,7 +895,7 @@
{
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"));
+ m_robotData.armState[0] ? _T("ON") : _T("OFF"),
+ m_robotData.armState[1] ? _T("ON") : _T("OFF"));
}
}
--
Gitblit v1.9.3