From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;
---
SourceCode/Bond/Servo/CAligner.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CAligner.cpp b/SourceCode/Bond/Servo/CAligner.cpp
index cc10715..815b1ee 100644
--- a/SourceCode/Bond/Servo/CAligner.cpp
+++ b/SourceCode/Bond/Servo/CAligner.cpp
@@ -33,6 +33,47 @@
{
// 加入Pin初始化代码
LOGI("<CAligner>initPins");
+ addPin(SERVO::PinType::INPUT, _T("In1"));
+ addPin(SERVO::PinType::INPUT, _T("In2"));
+ addPin(SERVO::PinType::OUTPUT, _T("Out1"));
+ addPin(SERVO::PinType::OUTPUT, _T("Out2"));
+ }
+
+ // 必须要实现的虚函数,在此初始化Slot信息
+ void CAligner::initSlots()
+ {
+ m_slot[0].enable();
+ m_slot[0].setPosition(m_nID);
+ m_slot[0].setNo(1);
+ 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)
@@ -44,4 +85,14 @@
{
CEquipment::serialize(ar);
}
+
+ void CAligner::getAttributeVector(CAttributeVector& attrubutes)
+ {
+ __super::getAttributeVector(attrubutes);
+ }
+
+ int CAligner::recvIntent(CPin* pPin, CIntent* pIntent)
+ {
+ return __super::recvIntent(pPin, pIntent);
+ }
}
--
Gitblit v1.9.3