From 155cb7fe0dcb564729c6aecdb65815f3f0ed24e2 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 13 一月 2026 11:28:26 +0800
Subject: [PATCH] 1.ECID, DVID的查询和实现;

---
 SourceCode/Bond/EAPSimulator/CHsmsActive.h |   95 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.h b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
index 664193a..9e8eb07 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.h
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -1,5 +1,25 @@
-#pragma once
+锘�#pragma once
 #include <string>
+#include <vector>
+#include <map>
+#include <set>
+#include "CCollectionEvent.h"
+#include "ProcessJob.h"
+
+
+#define SVID_ControlState           600
+#define SVID_CurrentProcessState    700
+#define SVID_CJobSpace            5001
+#define SVID_PJobSpace				5002
+#define SVID_PJobQueued				5003
+#define SVID_EQPPExecName           801
+#define SVID_Bonder1CurrentRecipe   8100
+#define SVID_Bonder2CurrentRecipe   8101
+#define SVID_VacuumBakeCurrentRecipe 8102
+#define SVID_BakeCoolingCurrentRecipe 8103
+#define SVID_MeasurementCurrentRecipe 8104
+#define SVID_EFEMCurrentRecipe      8105
+
 
 typedef std::function<void(void* pFrom, ACTIVESTATE state)> STATECHANGED;
 typedef struct _ACTIVEListener
@@ -25,11 +45,19 @@
 	// Deselect Request
 	int hsmsDeselectRequest();
 
-	// 建立通讯(S1F13)
+	// 寤虹珛閫氳(S1F13)
 	int hsmsEstablishCommunications();
 
 	// Are You There
 	int hsmsAreYouThere();
+
+	// ControlState: Request Online/Offline (S1F17 / S1F15)
+	int hsmsRequestOnline();
+	int hsmsRequestOffline();
+
+	// ControlState: GoLocal/GoRemote (S2F41)
+	int hsmsGoLocal();
+	int hsmsGoRemote();
 
 	// Date time sync
 	int hsmsDatetimeSync();
@@ -37,6 +65,69 @@
 	// terminal display
 	int hsmsTerminalDisplay(BYTE tid, const char* pszText);
 
+	// Enable/Disable Event Report
+	int hsmsEDEventReport(bool bEnable, std::vector<int>& ids);
+
+	// Enable/Disable Alarm Report
+	int hsmsEDAlarmReport(bool bEnable, unsigned int id);
+
+	// Define reports
+	int hsmsDefineReports(std::map<unsigned int, std::vector<unsigned int>>& mapReport);
+	
+	// Line Event Report
+	int hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent);
+
+	// Configure Spooling
+	int hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig);
+
+	// 鍙戦�佹垨娓呯┖缂撳瓨鐨勬秷鎭�
+	int hsmsTransmitSpooledData();
+	int hsmsPurgeSpooledData();
+
+	// 鏌ヨ鍙橀噺
+	int hsmsSelectedEquipmentStatusRequest(unsigned int SVID);
+	int hsmsQueryAllStatusVariables();      // S1F11
+	int hsmsQueryAllDataVariables();        // S1F21
+	int hsmsQueryAllCollectionEvents();     // S1F23
+	int hsmsEquipmentConstantRequest(const std::vector<unsigned short>& ecids); // S2F13
+	int hsmsEquipmentConstantSend(const std::vector<std::pair<unsigned short, std::string>>& ecidValues); // S2F15
+
+	// 鏌ヨPPID List
+	int hsmsQueryPPIDList();
+	int hsmsDeletePPID(const std::vector<std::string>& ppids); // S7F17
+	int hsmsProcessProgramRequest(const char* pszPPID); // S7F5
+
+	// S3F17
+	// 鍗″專鍔ㄤ綔璇锋眰
+	int hsmsCarrierActionRequest(unsigned int DATAID, 
+		const char* pszCarrierAction,
+		const char* pszCarrierId,
+		unsigned char PTN);
+	int hsmsProceedWithCarrier(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN);
+	int hsmsProceedWithSlotMap(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN,
+		const char* pszLotId,
+		const std::vector<std::string>& panelIds,
+		const std::vector<unsigned char>& slotMap);
+	int hsmsCarrierRelease(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN);
+
+	// S16F15
+	int hsmsPRJobMultiCreate(std::vector<SERVO::CProcessJob*>& pjs);
+
+	// S14F9
+	int hsmsCreateControlJob(const char* pszControlJobId, std::vector<std::string>& processJobIds);
+
+	// 閫氳繃鐨剅eply鍑芥暟
+	void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
+
+	// reply ack0
+	int replyAck0(IMessage* pMessage);
+
 private:
 	ACTIVEListener m_listener;
 	IActive* m_pActive;

--
Gitblit v1.9.3