From 6dc80508b1c0f431007f8a8c947c152ec00c3d15 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期一, 08 九月 2025 09:24:05 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/CAligner.cpp | 58 ++++++++++++++++++++++++++++------------------------------
1 files changed, 28 insertions(+), 30 deletions(-)
diff --git a/SourceCode/Bond/Servo/CAligner.cpp b/SourceCode/Bond/Servo/CAligner.cpp
index f656bf6..815b1ee 100644
--- a/SourceCode/Bond/Servo/CAligner.cpp
+++ b/SourceCode/Bond/Servo/CAligner.cpp
@@ -48,6 +48,34 @@
m_slot[0].setName("Slot 1");
}
+ void CAligner::initSteps()
+ {
+ CEquipment::initSteps();
+
+ {
+ // 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;
+ }
+ }
+ }
+
+ void CAligner::onReceiveLBData(const char* pszData, size_t size)
+ {
+ __super::onReceiveLBData(pszData, size);
+ CHECK_READ_STEP_SIGNAL(STEP_ID_PANEL_DATA_REPORT, pszData, size);
+ }
+
void CAligner::onTimer(UINT nTimerid)
{
CEquipment::onTimer(nTimerid);
@@ -66,35 +94,5 @@
int CAligner::recvIntent(CPin* pPin, CIntent* pIntent)
{
return __super::recvIntent(pPin, pIntent);
- }
-
- BOOL CAligner::glassWillArrive(CGlass* pGlass)
- {
- BOOL bRet = __super::glassWillArrive(pGlass);
- if (!bRet) {
- return FALSE;
- }
-
- return m_glassList.empty();
- }
-
- BOOL CAligner::onPreStoredJob(int port, CJobDataB* pJobDataB)
- {
- CJobDataS* pJobDataS = getJobDataS(pJobDataB->getCassetteSequenceNo(), pJobDataB->getJobSequenceNo());
- if (pJobDataS == nullptr) {
- LOGE("<CAligner-%s>onPreFetchedOutJob,找不到对应的JobDataS(CassetteSequenceNo:%d, JobSequenceNo:%d), 注意排查风险!", m_strName.c_str(),
- pJobDataB->getCassetteSequenceNo(), pJobDataB->getJobSequenceNo());
- return FALSE;
- }
-
- // 只能一片一片的对位
- Lock();
- if (!m_glassList.empty()) {
- Unlock();
- LOGE("<CEquipment-%s>onPreFetchedOutJob,当前机器或单元存在玻璃片,不能进料,请注意风险!", m_strName.c_str());
- return FALSE;
- }
-
- return TRUE;
}
}
--
Gitblit v1.9.3