From 1e0e0a4401a783651398c2545e152013d6003939 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 29 七月 2025 15:19:27 +0800
Subject: [PATCH] 1.Port编码错位问题修复; 2.调度时的判断条件优化。 3.支持上料下料混合;
---
SourceCode/Bond/Servo/CLoadPort.cpp | 26 ++++++++------------------
1 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index 37f3139..29b9050 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -9,8 +9,8 @@
CLoadPort::CLoadPort() : CEquipment()
{
m_nIndex = 0;
- m_portType = PortType::Loading;
- m_portMode = PortMode::ReadyToLoad;
+ m_portType = PortType::Both;
+ m_portMode = PortMode::OutOfService;
m_cassetteType = CassetteType::G1;
m_transferMode = TransferMode::AGVMode;
m_bEnable = FALSE;
@@ -115,6 +115,7 @@
[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
if (code == ROK && pszData != nullptr && size > 0) {
m_portMode = (PortMode)CToolUnits::toInt16(pszData);
+ LOGI("<LoadPort-%d>m_portMode:%d", m_nIndex, m_portMode);
}
return 0;
});
@@ -355,10 +356,10 @@
static int ii = 0;
ii++;
if (ii == 20) {
- char szBuffer[64];
+ char szBuffer[64] = {0};
CStep* pStep = getStepWithName(STEP_EQ_PORT1_INUSE);
CPortStatusReport portStatusReport;
- portStatusReport.setPortStatus(PORT_INUSE);
+ portStatusReport.setPortStatus(PORT_UNLOAD_READY);
portStatusReport.setJobExistenceSlot(0xf);
int nRet = portStatusReport.serialize(szBuffer, 64);
decodePortStatusReport(pStep, szBuffer, 64);
@@ -373,23 +374,11 @@
if (ar.IsStoring()) {
ar << m_nIndex;
- //ar << (int)m_portType;
- //ar << (int)m_portMode;
- //ar << (int)m_cassetteType;
- //ar << (int)m_transferMode;
- //ar << m_bEnable;
- //ar << m_bAutoChangeEnable;
m_portStatusReport.serialize(ar);
}
else {
int temp;
ar >> m_nIndex;
- //ar >> temp; m_portType = (PortType)temp;
- //ar >> temp; m_portMode = (PortMode)temp;
- //ar >> temp; m_cassetteType = (CassetteType)temp;
- //ar >> temp; m_transferMode = (TransferMode)temp;
- //ar >> m_bEnable;
- //ar >> m_bAutoChangeEnable;
m_portStatusReport.serialize(ar);
}
}
@@ -924,8 +913,9 @@
else {
// 抛出到应用层做选择要加工的片子
generateGlassList(getScanCassetteMap());
- if (m_listener.onPortInUse != nullptr) {
- m_listener.onPortInUse(this, getScanCassetteMap());
+ if (m_listener.onPortStatusChanged != nullptr) {
+ m_listener.onPortStatusChanged(this, portStatusReport.getPortStatus(),
+ getScanCassetteMap());
}
}
}
--
Gitblit v1.9.3