From a2209cc432cb9c80779d83e51ef090f782e8404a Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 14 八月 2025 17:30:52 +0800
Subject: [PATCH] 1.Create PJ功能实现;
---
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 50 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
index 2dc424f..b094a6a 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -3,6 +3,8 @@
#include "Log.h"
+static unsigned int DATAID = 1;
+
CHsmsActive::CHsmsActive()
{
m_listener = {};
@@ -289,6 +291,18 @@
return 0;
}
+int CHsmsActive::hsmsSelectedEquipmentStatusRequest(unsigned int SVID)
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 1 | REPLY, 3, ++m_nSystemByte);
+
+ pMessage->getBody()->addU4Item(SVID, "SVID");
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
int CHsmsActive::hsmsQueryPPIDList()
{
IMessage* pMessage = nullptr;
@@ -331,6 +345,42 @@
return hsmsCarrierActionRequest(DATAID, "CarrierRelease", pszCarrierId, PTN);
}
+int CHsmsActive::hsmsPRJobMultiCreate(std::vector<SERVO::CProcessJob*>& pjs)
+{
+ IMessage* pMessage = nullptr;
+ int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 16 | REPLY, 15, ++m_nSystemByte);
+ char szMF[32] = {14};
+ pMessage->getBody()->addU4Item(++DATAID, "DATAID");
+ auto itemPjs = pMessage->getBody()->addItem();
+ for (auto pj : pjs) {
+ auto itemPj = itemPjs->addItem();
+ itemPj->addItem(pj->id().c_str(), "PRJOBID");
+ itemPj->addBinaryItem(szMF, 1, "MF");
+ auto itemCarriers = itemPj->addItem();
+ for (auto c : pj->carriers()) {
+ auto itemCarrier = itemCarriers->addItem();
+ itemCarrier->addItem(c.carrierId.c_str(), "CARRIERID");
+ auto itemSlots = itemCarrier->addItem();
+ for (auto s : c.slots) {
+ itemSlots->addU1Item(s, "SLOTID");
+ }
+ }
+
+ auto recipeItems = itemPj->addItem();
+ recipeItems->addU1Item(1, "PRRECIPEMETHOD");
+ recipeItems->addItem(pj->recipeSpec().c_str(), "RCPSPEC");
+ recipeItems->addItem();
+
+ itemPj->addBoolItem(false, "PRPROCESSSTART");
+ itemPj->addItem();
+ }
+
+ m_pActive->sendMessage(pMessage);
+ HSMS_Destroy1Message(pMessage);
+
+ return 0;
+}
+
int CHsmsActive::replyAck0(IMessage* pMessage)
{
return 0;
--
Gitblit v1.9.3