From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;
---
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp | 88 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
index 8098ce0..2dc424f 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -67,7 +67,7 @@
LOGI("onRecvDataMessage(%s).", pMessage->toString());
if (nStream == 5 && pHeader->function == 1) {
- // S1F1
+ // S5F1
replyAck(5, 2, pMessage->getHeader()->systemBytes, 0, _T("ACK0"));
}
};
@@ -245,6 +245,92 @@
return 0;
}
+int CHsmsActive::hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig)
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 43, ++m_nSystemByte);
+ if (spoolingConfig.size() > 0) {
+ for (auto s : spoolingConfig) {
+ ISECS2Item* pItemStreamList = pMessage->getBody()->addItem();
+ pItemStreamList->addU1Item(s.first, "STRID");
+ ISECS2Item* pItemFcnList = pItemStreamList->addItem();
+ for (auto f : s.second) {
+ pItemFcnList->addU1Item(f, "FCNID");
+ }
+ }
+ }
+
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
+int CHsmsActive::hsmsTransmitSpooledData()
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 6 | REPLY, 23, ++m_nSystemByte);
+ pMessage->getBody()->setU1(0, "RSDC");
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
+int CHsmsActive::hsmsPurgeSpooledData()
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 6 | REPLY, 23, ++m_nSystemByte);
+
+ pMessage->getBody()->setU1(1, "RSDC");
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
+int CHsmsActive::hsmsQueryPPIDList()
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 7 | REPLY, 19, ++m_nSystemByte);
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
+int CHsmsActive::hsmsCarrierActionRequest(unsigned int DATAID,
+ const char* pszCarrierAction,
+ const char* pszCarrierId,
+ unsigned char PTN)
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 3 | REPLY, 17, ++m_nSystemByte);
+ pMessage->getBody()->addU4Item(DATAID, "DATAID");
+ pMessage->getBody()->addItem(pszCarrierAction, "CARRIERACTION");
+ pMessage->getBody()->addItem(pszCarrierId, "CARRIERID");
+ pMessage->getBody()->addU1Item(PTN, "PTN");
+ pMessage->getBody()->addItem();
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
+int CHsmsActive::hsmsProceedWithCarrier(unsigned int DATAID,
+ const char* pszCarrierId,
+ unsigned char PTN)
+{
+ return hsmsCarrierActionRequest(DATAID, "ProceedWithCarrier", pszCarrierId, PTN);
+}
+
+int CHsmsActive::hsmsCarrierRelease(unsigned int DATAID,
+ const char* pszCarrierId,
+ unsigned char PTN)
+{
+ return hsmsCarrierActionRequest(DATAID, "CarrierRelease", pszCarrierId, PTN);
+}
+
int CHsmsActive::replyAck0(IMessage* pMessage)
{
return 0;
--
Gitblit v1.9.3