From db9d120efcfe76bb73df089dca8986eca9ee0e6f Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 10 十二月 2025 10:11:37 +0800
Subject: [PATCH] 1.扫码上报,但未在配置中设置变量;
---
SourceCode/Bond/Servo/HsmsPassive.h | 77 +++++++++++++++++++++++++++-----------
1 files changed, 54 insertions(+), 23 deletions(-)
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index a08350e..de60213 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -1,4 +1,4 @@
-#pragma once
+锘�#pragma once
#include <string>
#include <list>
#include "HsmsAction.h"
@@ -7,6 +7,8 @@
#include <map>
#include <set>
#include "CCollectionEvent.h"
+#include "ProcessJob.h"
+#include "CControlJob.h"
#define EQCONSTANT_VALUE_MAX 64
@@ -37,7 +39,7 @@
#define CAACK_6 6 /* command performed with errors */
/*
- * 常量数据结构
+ * 甯搁噺鏁版嵁缁撴瀯
*/
typedef struct _EQConstant
{
@@ -46,7 +48,7 @@
} EQConstant;
/*
- * Command 数据结构
+ * Command 鏁版嵁缁撴瀯
*/
typedef struct _CommandParameter
{
@@ -55,7 +57,7 @@
} CommandParameter;
/*
- * Report 数据结构
+ * Report 鏁版嵁缁撴瀯
*/
typedef struct _REPORT
{
@@ -64,7 +66,7 @@
} REPORT;
/*
- * Value 数据结构
+ * Value 鏁版嵁缁撴瀯
*/
typedef struct _VALUE
{
@@ -86,6 +88,8 @@
const char* pszCarrierId,
unsigned char PTN,
std::string& strErrorTxt)> CARRIERACTION;
+typedef std::function<int(void* pFrom, std::vector<SERVO::CProcessJob*>& pjs)> PRJOBMULTICREATE;
+typedef std::function<int(void* pFrom, SERVO::CControlJob& controlJob)> CONTROLJOBCREATE;
typedef struct _SECSListener
{
SECSEQOFFLINE onEQOffLine;
@@ -98,6 +102,8 @@
EDALARMREPORT onEnableDisableAlarmReport;
QUERYPPIDLIST onQueryPPIDList;
CARRIERACTION onCarrierAction;
+ PRJOBMULTICREATE onPRJobMultiCreate;
+ CONTROLJOBCREATE onControlJobCreate;
} SECSListener;
@@ -109,53 +115,62 @@
~CHsmsPassive();
public:
- /* 设置机器型号 最大长度 20 bytes */
+ /* 璁剧疆鏈哄櫒鍨嬪彿 鏈�澶ч暱搴� 20 bytes */
void setEquipmentModelType(const char* pszMode);
- /* 设置软件版本号 最大长度 20 bytes */
+ /* 璁剧疆杞欢鐗堟湰鍙� 鏈�澶ч暱搴� 20 bytes */
void setSoftRev(const char* pszRev);
- // 连接Report
+ /* 娣诲姞鍙橀噺鍊煎埌ISECS2Item */
+ void addVariableValueToItem(ISECS2Item* pParent, SERVO::CVariable* pVariable);
+
+ // 杩炴帴Report
void linkEventReport(unsigned int CEID, unsigned int RPTID);
- // 取消连接report
+ // 鍙栨秷杩炴帴report
void unlinkEventReport(unsigned int CEID);
// define Report
SERVO::CReport* defineReport(unsigned int RPTID, std::vector<unsigned int>& vids);
- // 取消 define report
+ // 鍙栨秷 define report
bool removeReport(int rptid);
void clearAllReport();
- // 从文件中加载CVariable列表
+ // 浠庢枃浠朵腑鍔犺浇CVariable鍒楄〃
int loadVarialbles(const char* pszFilepath);
- // 取得CVariable列表
+ // 鍙栧緱CVariable鍒楄〃
std::vector<SERVO::CVariable*>& getVariables();
- // 取得指定Variable
+ // 鍙栧緱鎸囧畾Variable
SERVO::CVariable* getVariable(int variableId);
+ SERVO::CVariable* getVariable(const char* pszName);
- // 从文件中加载CReport列表
+ // 璁剧疆鍙橀噺鍊�
+ void setVariableValue(const char* pszName, __int64 value);
+ void setVariableValue(const char* pszName, const char* value);
+ void setVariableValue(const char* pszName, std::vector<SERVO::CVariable>& vars);
+
+ // 浠庢枃浠朵腑鍔犺浇CReport鍒楄〃
int loadReports(const char* pszFilepath);
- // 取得Report列表
+ // 鍙栧緱Report鍒楄〃
std::vector<SERVO::CReport*>& getReports();
- // 从文件中加载CCollectionEvent列表
+ // 浠庢枃浠朵腑鍔犺浇CCollectionEvent鍒楄〃
int loadCollectionEvents(const char* pszFilepath);
- // 取得CCollectionEvent列表
+ // 鍙栧緱CCollectionEvent鍒楄〃
std::vector<SERVO::CCollectionEvent*>& getCollectionEvents();
- // 取消/删除所有CollectionEvent
+ // 鍙栨秷/鍒犻櫎鎵�鏈塁ollectionEvent
void clearAllCollectionEvent();
- // 取得CCollectionEvent
+ // 鍙栧緱CCollectionEvent
SERVO::CCollectionEvent* getEvent(unsigned short CEID);
- // 取得Report
+ // 鍙栧緱Report
SERVO::CReport* getReport(int rptid);
void setListener(SECSListener listener);
@@ -170,17 +185,31 @@
int unserialize(const char* pszBuffer, int nBufferSize);
public:
- /* request开头的函数为主动发送数据的函数 */
+ /* request寮�澶寸殑鍑芥暟涓轰富鍔ㄥ彂閫佹暟鎹殑鍑芥暟 */
int requestAreYouThere();
int requestAlarmReport(int ALCD, int ALID, const char* ALTX);
- int requestEventReportSend(unsigned int DATAID, unsigned int CEID, const std::vector<std::string>& values);
+ int requestEventReportSend(unsigned int CEID);
+ int requestEventReportSend(const char* pszEventName);
+ int requestEventReportSend_CarrierID_Readed();
+ int requestEventReportSend_Port_Unload_Ready();
+ int requestEventReportSend_Port_Load_Ready();
+ int requestEventReportSend_Port_Blocked();
+ int requestEventReportSend_PJ_Queued();
+ int requestEventReportSend_PJ_Start();
+ int requestEventReportSend_PJ_End();
+ int requestEventReportSend_CJ_Start();
+ int requestEventReportSend_CJ_End();
+ int requestEventReportSend_Panel_Start();
+ int requestEventReportSend_Panel_End();
+ int requestEventReportSend_OCR_PanelID_Read_OK();
private:
void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
- /* reply开头的函数为回复函数 */
+ /* reply寮�澶寸殑鍑芥暟涓哄洖澶嶅嚱鏁� */
int replyAreYouThere(IMessage* pRecv);
int replyEstablishCommunications(IMessage* pRecv);
+ int replySelectedEquipmentStatusData(IMessage* pRecv);
int replyOnLine(IMessage* pRecv);
int replyOffLine(IMessage* pRecv);
int replyEquipmentConstantRequest(IMessage* pRecv);
@@ -196,6 +225,8 @@
int replyPurgeSpooledData(IMessage* pRecv);
int replyQueryPPIDList(IMessage* pRecv);
int replyTerminalDisplay(IMessage* pRecv);
+ int replyCreateObj(IMessage* pRecv);
+ int replyPRJobMultiCreate(IMessage* pRecv);
private:
inline void Lock() { EnterCriticalSection(&m_criticalSection); }
--
Gitblit v1.9.3