From bdf0dc4cb183d3fec40e1d51b3bb94b7e53d0a55 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期日, 04 一月 2026 10:45:07 +0800
Subject: [PATCH] 1.修复报文字段差异风险: S1F3:项目用 getSubItemU4(0) 取 SVID;日志里有 U2 的情况,可能导致解析失败后回退成 SV=0。 S6F11:项目发送 DATAID(U4) + CEID(U4);日志样例里第一个字段是 U2,可能存在类型/字段定义不一致。
---
SourceCode/Bond/Servo/HsmsPassive.h | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index aeb5bde..7d9d596 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -135,6 +135,9 @@
// 鍙栨秷 define report
bool removeReport(int rptid);
+ int deleteReport(int rptid);
+ int addReport(int rptid, const std::vector<unsigned int>& vids);
+ int updateReport(int rptid, const std::vector<unsigned int>& vids);
void clearAllReport();
// 浠庢枃浠朵腑鍔犺浇CVariable鍒楄〃
@@ -161,22 +164,26 @@
// 鍙栧緱Report鍒楄〃
std::vector<SERVO::CReport*>& getReports();
+ unsigned int getMaxReportId() const;
// 浠庢枃浠朵腑鍔犺浇CCollectionEvent鍒楄〃
int loadCollectionEvents(const char* pszFilepath);
// 鍙栧緱CCollectionEvent鍒楄〃
std::vector<SERVO::CCollectionEvent*>& getCollectionEvents();
+ unsigned int getMaxCollectionEventId() const;
// 鍙栨秷/鍒犻櫎鎵�鏈塁ollectionEvent
void clearAllCollectionEvent();
+ int deleteCollectionEvent(unsigned short CEID);
+ int addCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
+ int updateCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
// 鍙栧緱CCollectionEvent
SERVO::CCollectionEvent* getEvent(unsigned short CEID);
// 鍙栧緱Report
SERVO::CReport* getReport(int rptid);
- int deleteReport(int rptid);
void setListener(SECSListener listener);
unsigned OnCimWork();
@@ -196,8 +203,12 @@
int requestEventReportSend(unsigned int CEID);
int requestEventReportSend(const char* pszEventName);
int requestEventReportSend_CarrierID_Readed();
+ int requestEventReportSend_CheckSlotMap();
+ int requestEventReportSend_SlotMapVerificationOK();
+ int requestEventReportSend_SlotMapVerificationNG();
int requestEventReportSend_Port_Unload_Ready();
int requestEventReportSend_Port_Load_Ready();
+ int requestEventReportSend_Port_Ready_To_Release();
int requestEventReportSend_Port_Blocked();
int requestEventReportSend_PJ_Queued();
int requestEventReportSend_PJ_Start();
@@ -241,6 +252,7 @@
std::vector<unsigned int> parseVidList(CString& strNums);
int writeVariablesToFile(const std::string& filepath);
int writeReportsToFile(const std::string& filepath);
+ int writeCollectionEventsToFile(const std::string& filepath);
private:
CModel* m_pModel;
@@ -264,6 +276,9 @@
std::string m_strReportFilepath;
bool m_bReportUtf8{ false };
bool m_bReportUtf8Bom{ false };
+ std::string m_strCollectionEventFilepath;
+ bool m_bCollectionUtf8{ false };
+ bool m_bCollectionUtf8Bom{ false };
BOOL m_bCimWorking;
HANDLE m_hCimWorkEvent;
HANDLE m_hCimWorkThreadHandle;
@@ -284,4 +299,3 @@
// Spooling Config
std::map<uint16_t, std::set<uint16_t>> m_spoolingConfig;
};
-
--
Gitblit v1.9.3