From f0928d2abc4f3b5875d27b1beeb393cf5edf8c4a Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 24 三月 2025 15:30:38 +0800
Subject: [PATCH] 1.Master数据的缓存,主动关闭程序,或程序闪退,可重启还原。
---
SourceCode/Bond/Servo/Model.cpp | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 5dce62e..a757adc 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -36,7 +36,7 @@
m_configuration.getUnitId(strUnitId);
// 机器型号和软件版本号应从配置中读取,当前先固定值
- CString strModeType = _T("Bond2860");
+ CString strModeType = _T("Master");
CString strSoftRev = _T("1.0.2");
@@ -124,10 +124,6 @@
}
int state = pEqAlarmStep->getAlarmState();
if (state == 1) {
- LOGE("<CAlarmDlg> 发生警告");
- std::string startTime = CToolUnits::timeToString2(CToolUnits::getTimestamp());
- std::string endTime = "2000-01-01 00:00";
-
AlarmData alarmData;
alarmData.nId = pEqAlarmStep->getAlarmId();
alarmData.nSeverityLevel = pEqAlarmStep->getAlarmLevel();
@@ -135,8 +131,8 @@
alarmData.nUnitId = pEqAlarmStep->getUnitId();
alarmData.strDeviceName = alarmManager.getDeviceNameById(alarmData.nDeviceId);
alarmData.strUnitName = alarmManager.getUnitNameById(alarmData.nDeviceId, alarmData.nUnitId);
- alarmData.strStartTime = startTime;
- alarmData.strEndTime = endTime;
+ alarmData.strStartTime = CToolUnits::timeToString2(CToolUnits::getTimestamp());
+ alarmData.strEndTime = "";
const AlarmInfo* alarmInfo = alarmManager.getAlarmInfoByID(alarmData.nId);
alarmData.strDescription = alarmInfo != nullptr ? alarmInfo->strAlarmText : "";
@@ -144,18 +140,20 @@
int nAlarmEventId = 0;
bool result = alarmManager.addAlarm(alarmData, nAlarmEventId);
if (result) {
- LOGI("<CAlarmDlg> Alarm added successfully!");
+ LOGI("<CModel> Alarm added successfully!");
}
else {
- LOGE("<CAlarmDlg> Failed to add alarm.");
+ LOGE("<CModel> Failed to add alarm.");
}
+
+ notifyPtr(RX_CODE_ALARM_SET, pStep);
}
else {
- LOGE("<CAlarmDlg> i消除警告");
alarmManager.clearAlarmByAttributes(pEqAlarmStep->getAlarmId(),
pEqAlarmStep->getEquipment()->getID(),
pEqAlarmStep->getUnitId(),
CToolUnits::getCurrentTimeString());
+ notifyPtr(RX_CODE_ALARM_CLEAR, pStep);
}
m_hsmsPassive.requestAlarmReport(pEqAlarmStep->getAlarmState(),
@@ -168,6 +166,12 @@
m_master.setListener(masterListener);
+ // master 设置缓存文件
+ CString strMasterDataFile;
+ strMasterDataFile.Format(_T("%s\\Master.dat"), (LPTSTR)(LPCTSTR)m_strWorkDir);
+ m_master.setCacheFilepath((LPTSTR)(LPCTSTR)strMasterDataFile);
+
+
// 加载警告信息
AlarmManager& alarmManager = AlarmManager::getInstance();
char szBuffer[MAX_PATH];
--
Gitblit v1.9.3