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/Model.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 6ce35c5..d7fa9d9 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -382,10 +382,58 @@
}
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("UnloadReadyPortId", pLoadPort->getID());
+ }
+ m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
+ }
notifyPtr(RX_CODE_LOADPORT_STATUS_CHANGED, pEquipment);
};
masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
m_configuration.setContinuousTransferCount(round);
+ };
+ masterListener.onCjStart = [&](void* pMaster, void* pj) {
+ m_hsmsPassive.setVariableValue("CJStartID", ((SERVO::CControlJob*)pj)->id().c_str());
+ m_hsmsPassive.requestEventReportSend_CJ_Start();
+ };
+ masterListener.onCjEnd = [&](void* pMaster, void* pj) {
+ m_hsmsPassive.setVariableValue("CJEndID", ((SERVO::CControlJob*)pj)->id().c_str());
+ m_hsmsPassive.requestEventReportSend_CJ_End();
+
+ // 结批,保存ControlJob
+ //
+ };
+ masterListener.onPjStart = [&](void* pMaster, void* pj) {
+ m_hsmsPassive.setVariableValue("PJStartID", ((SERVO::CProcessJob*)pj)->id().c_str());
+ m_hsmsPassive.requestEventReportSend_PJ_Start();
+ };
+ masterListener.onPjEnd = [&](void* pMaster, void* pj) {
+ 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());
+ m_hsmsPassive.requestEventReportSend_Panel_Start();
+ };
+ masterListener.onPanelEnd = [&](void* pMaster, void* pj) {
+ m_hsmsPassive.setVariableValue("PanelEndID", ((SERVO::CGlass*)pj)->getID().c_str());
+ m_hsmsPassive.requestEventReportSend_Panel_End();
};
m_master.setListener(masterListener);
m_master.setContinuousTransferCount(m_configuration.getContinuousTransferCount());
@@ -396,6 +444,15 @@
strMasterDataFile.Format(_T("%s\\Master.dat"), (LPTSTR)(LPCTSTR)m_strWorkDir);
m_master.setCacheFilepath((LPTSTR)(LPCTSTR)strMasterDataFile);
m_master.setCompareMapsBeforeProceeding(m_configuration.isCompareMapsBeforeProceeding());
+ m_master.setJobMode(m_configuration.isJobMode());
+
+ // 加截Job
+ strMasterDataFile.Format(_T("%s\\MasterState.dat"), (LPTSTR)(LPCTSTR)m_strWorkDir);
+ std::string strPath = std::string((LPTSTR)(LPCTSTR)strMasterDataFile);
+ if (!m_master.loadState(strPath)) {
+ LOGE("<Master>加载MasterState.dat文件失败.");
+ }
+
// 加载警告信息
AlarmManager& alarmManager = AlarmManager::getInstance();
--
Gitblit v1.9.3