From 6b6297c6fc0aa5c059d35732c7ee22ebca93967f Mon Sep 17 00:00:00 2001 From: chenluhua1980 <Chenluhua@qq.com> Date: 星期三, 14 一月 2026 15:43:40 +0800 Subject: [PATCH] 1.修复以下问题: ProceedWithCarrier 直接发 CCC_PROCESS_START:CModel::onCarrierAction 在 CompareMapsBeforeProceeding 关闭时,收到 ProceedWithCarrier 就调用 master.proceedWithCarrier(仅发送 Cassette Process Start,不校验 PJ/CJ 是否存在、SlotMap 是否验通过)。若 Host 流程异常(未下 PJ/CJ)或本地尚未准备好,会把设备推进加工态但无作业可跑。 --- SourceCode/Bond/BondEq/AlarmMonitor.h | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) diff --git a/SourceCode/Bond/BondEq/AlarmMonitor.h b/SourceCode/Bond/BondEq/AlarmMonitor.h index ae84f65..c7cf2f1 100644 --- a/SourceCode/Bond/BondEq/AlarmMonitor.h +++ b/SourceCode/Bond/BondEq/AlarmMonitor.h @@ -17,24 +17,26 @@ virtual void onRecvBroadcast(void* pSender, CIntent* pIntent); virtual void init(); virtual void term(); - void setBeginAddr(int nAddr); int readAlarmListFromFile(const char* pszFilepath); virtual void OnTimer(UINT nTimerid); const char* getAlarmText(int nID); - void Alarm(int id, int level); virtual void Serialize(CArchive& ar); - void getAlarmList(std::list<CAlarm*>& list); + std::map<int, CAlarm*>& getAlarmingMap(); + BOOL isAlarming(); + CAlarm* getActiveAlarm(); + void getAlarmRecords(std::list< CAlarm*>& list); private: - void AddAlarm(CAlarm* pAlarm); + BOOL compareData(const char* pScrData, const char* pTarData, int len); + int addAlarmTemplate(int id, int level, const char* pszDescription); + BOOL isAlarmOn(int id); + BOOL findAlarm(std::vector<int>& ids, int id); + void addAlarmToHistoryRecord(CAlarm* pAlarm); + BOOL addAlarming(CAlarm* pAlarm); private: - int m_nBeginAddr; - -private: - std::map<int, std::string> m_mapAlarmText; - int m_nLastId; - int m_nLastLevel; - std::list<CAlarm*> m_alarms; + std::map<int, CAlarm*> m_mapAlarmTemplate; // 这是警告的模板,从文件加载 + std::map<int, CAlarm*> m_mapAlarming; // 正在发生的警告 + char* m_pRawData; }; -- Gitblit v1.9.3