From 0fb528df2c1f05ef7d52827432bd934ce6f9d8cd Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 12 九月 2025 09:46:59 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/Model.cpp | 36 +++++++++++++++++++++++++++++++-----
1 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 357ca57..b9c5505 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -8,6 +8,7 @@
#include "CGlassPool.h"
#include "TransferManager.h"
#include "RecipeManager.h"
+#include "GlassLogDb.h"
CModel::CModel()
@@ -382,10 +383,24 @@
}
m_hsmsPassive.requestEventReportSend_CarrierID_Readed();
}
+ else if (status == PORT_BLOCKED) {
+ SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+ if (pLoadPort != nullptr) {
+ m_hsmsPassive.setVariableValue("BlockedPortId", pLoadPort->getID());
+ }
+ m_hsmsPassive.requestEventReportSend_Port_Blocked();
+ }
+ else if (status == PORT_LOAD_READY) {
+ SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+ if (pLoadPort != nullptr) {
+ m_hsmsPassive.setVariableValue("LoadReadyPortId", pLoadPort->getID());
+ }
+ m_hsmsPassive.requestEventReportSend_Port_Load_Ready();
+ }
else if (status == PORT_UNLOAD_READY) {
SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
if (pLoadPort != nullptr) {
- m_hsmsPassive.setVariableValue("PortId", pLoadPort->getID());
+ m_hsmsPassive.setVariableValue("UnloadReadyPortId", pLoadPort->getID());
}
m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
}
@@ -413,13 +428,19 @@
m_hsmsPassive.setVariableValue("PJEndID", ((SERVO::CProcessJob*)pj)->id().c_str());
m_hsmsPassive.requestEventReportSend_PJ_End();
};
- masterListener.onPanelStart = [&](void* pMaster, void* pj) {
- m_hsmsPassive.setVariableValue("PanelStartID", ((SERVO::CGlass*)pj)->getID().c_str());
+ masterListener.onPanelStart = [&](void* pMaster, void* pPanel) {
+ m_hsmsPassive.setVariableValue("PanelStartID", ((SERVO::CGlass*)pPanel)->getID().c_str());
m_hsmsPassive.requestEventReportSend_Panel_Start();
};
- masterListener.onPanelEnd = [&](void* pMaster, void* pj) {
- m_hsmsPassive.setVariableValue("PanelEndID", ((SERVO::CGlass*)pj)->getID().c_str());
+ masterListener.onPanelEnd = [&](void* pMaster, void* pPanel) {
+ m_hsmsPassive.setVariableValue("PanelEndID", ((SERVO::CGlass*)pPanel)->getID().c_str());
m_hsmsPassive.requestEventReportSend_Panel_End();
+ auto& db = GlassLogDb::Instance();
+ db.insertFromCGlass((*(SERVO::CGlass*)pPanel));
+ SERVO::CGlass* pBuddy = ((SERVO::CGlass*)pPanel)->getBuddy();
+ if (pBuddy != nullptr) {
+ db.insertFromCGlass(*pBuddy);
+ }
};
m_master.setListener(masterListener);
m_master.setContinuousTransferCount(m_configuration.getContinuousTransferCount());
@@ -447,6 +468,11 @@
alarmManager.readAlarmFile(szBuffer);
+ // Glass数据库
+ strLogDir.Format(_T("%s\\db\\process.db"), (LPTSTR)(LPCTSTR)m_strWorkDir);
+ std::string path((LPTSTR)(LPCTSTR)strLogDir);
+ GlassLogDb::Init(path);
+
return 0;
}
--
Gitblit v1.9.3