chenluhua1980
2026-01-10 6d140a6e6f2c24c9c7de46bb7c375ae4cbf931e7
SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -1,5 +1,18 @@
#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
typedef std::function<void(void* pFrom, ACTIVESTATE state)> STATECHANGED;
typedef struct _ACTIVEListener
@@ -25,10 +38,84 @@
   // 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();
   // 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 hsmsQueryAllCollectionEvents();     // S1F23
   // 查询PPID List
   int hsmsQueryPPIDList();
   int hsmsDeletePPID(const std::vector<std::string>& ppids); // S7F17
   // 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);
   // 通过的reply函数
   void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
   // reply ack0
   int replyAck0(IMessage* pMessage);
private:
   ACTIVEListener m_listener;