From b38a5723b06c7a9e5ec350b1942881338453ef75 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 26 八月 2025 15:04:28 +0800
Subject: [PATCH] 1.PJStart事件上报功能实现,EAP模拟器接收数据并验证;

---
 SourceCode/Bond/Servo/HsmsPassive.h                    |    1 +
 SourceCode/Bond/x64/Debug/CollectionEventList.txt      |    1 +
 SourceCode/Bond/Servo/HsmsPassive.cpp                  |    5 +++++
 SourceCode/Bond/Servo/CMaster.cpp                      |    5 +++++
 SourceCode/Bond/Servo/CMaster.h                        |    3 +++
 SourceCode/Bond/Servo/Model.cpp                        |    4 ++++
 SourceCode/Bond/x64/Debug/ReportList.txt               |    1 +
 SourceCode/Bond/x64/Debug/VariableList.txt             |    3 ++-
 Document/Panel Bonder八零联合 SecsTest CheckList_v3.0.xlsx |    0 
 9 files changed, 22 insertions(+), 1 deletions(-)

diff --git "a/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx" "b/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
index 64eba06..71de426 100644
--- "a/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
+++ "b/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
Binary files differ
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index c304508..dfc2cc9 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -773,6 +773,11 @@
 					auto pj = acquireNextProcessJob();
 					if (pj != nullptr) {
 						m_inProcesJobs.push_back(pj);
+
+						// 这里上报PJ Start事件
+						if (m_listener.onPjStart != nullptr) {
+							m_listener.onPjStart(this, pj);
+						}
 					}
 				}
 				if (m_inProcesJobs.empty()) {
diff --git a/SourceCode/Bond/Servo/CMaster.h b/SourceCode/Bond/Servo/CMaster.h
index 8187fc3..3c3d79a 100644
--- a/SourceCode/Bond/Servo/CMaster.h
+++ b/SourceCode/Bond/Servo/CMaster.h
@@ -53,6 +53,7 @@
     typedef std::function<void(void* pMaster, CRobotTask* pTask, int code)> ONROBOTTASKEVENT;
     typedef std::function<void(void* pMaster, CEquipment* pEquipment, short status, __int64 data)> ONLOADPORTSTATUSCHANGED;
     typedef std::function<void(void* pMaster, int round)> ONCTROUNDEND;
+    typedef std::function<void(void* pMaster, void* pj)> ONPJSTART;
     typedef struct _MasterListener
     {
         ONMASTERSTATECHANGED    onMasterStateChanged;
@@ -64,6 +65,8 @@
         ONROBOTTASKEVENT        onRobotTaskEvent;
         ONLOADPORTSTATUSCHANGED	onLoadPortStatusChanged;
         ONCTROUNDEND            onCTRoundEnd;
+        ONPJSTART               onPjStart;
+
     } MasterListener;
 
     class CMaster : public IResourceView
diff --git a/SourceCode/Bond/Servo/HsmsPassive.cpp b/SourceCode/Bond/Servo/HsmsPassive.cpp
index 689920b..6c1ff1f 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.cpp
+++ b/SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -1879,6 +1879,11 @@
 	return requestEventReportSend("PJ_Queued");
 }
 
+int CHsmsPassive::requestEventReportSend_PJ_Start()
+{
+	return requestEventReportSend("PJ_Start");
+}
+
 
 
 
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index 0f5a636..3196888 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -192,6 +192,7 @@
 	int requestEventReportSend(const char* pszEventName);
 	int requestEventReportSend_CarrierID_Readed();
 	int requestEventReportSend_PJ_Queued();
+	int requestEventReportSend_PJ_Start();
 
 private:
 	void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index dcc5e70..1d2705e 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -387,6 +387,10 @@
 	masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
 		m_configuration.setContinuousTransferCount(round);
 	};
+	masterListener.onPjStart = [&](void* pMaster, void* pj) {
+		m_hsmsPassive.setVariableValue("PJStartID", ((SERVO::CProcessJob*)pj)->id().c_str());
+		m_hsmsPassive.requestEventReportSend_PJ_Start();
+	};
 	m_master.setListener(masterListener);
 	m_master.setContinuousTransferCount(m_configuration.getContinuousTransferCount());
 
diff --git a/SourceCode/Bond/x64/Debug/CollectionEventList.txt b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
index 44350fa..258f82f 100644
--- a/SourceCode/Bond/x64/Debug/CollectionEventList.txt
+++ b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
@@ -39,3 +39,4 @@
 40001,E90_SPSM_InProcess_To_ProcessCompleted,,(40000)
 50000,CarrierID_Readed,,(50000)
 50001,PJ_Queued,,(50001)
+50002,PJ_Start,,(50002)
diff --git a/SourceCode/Bond/x64/Debug/ReportList.txt b/SourceCode/Bond/x64/Debug/ReportList.txt
index ce240e3..5e9be61 100644
--- a/SourceCode/Bond/x64/Debug/ReportList.txt
+++ b/SourceCode/Bond/x64/Debug/ReportList.txt
@@ -17,4 +17,5 @@
 40000,(1,10203,20000)
 50000,(5000)
 50001,(5003)
+50002,(5004)
 
diff --git a/SourceCode/Bond/x64/Debug/VariableList.txt b/SourceCode/Bond/x64/Debug/VariableList.txt
index 02fd14e..84f4e7a 100644
--- a/SourceCode/Bond/x64/Debug/VariableList.txt
+++ b/SourceCode/Bond/x64/Debug/VariableList.txt
@@ -37,4 +37,5 @@
 5000,CarrierID,A20,卡匣ID
 5001,CJobSpace,U1,CJ Space
 5002,PJobSpace,U1,PJ Space
-5003,PJQueued,L,PJ Queued
\ No newline at end of file
+5003,PJQueued,L,PJ Queued
+5004,PJStartID,A20,PJStartID
\ No newline at end of file

--
Gitblit v1.9.3