| | |
| | | #include "Log.h" |
| | | |
| | | |
| | | static unsigned int DATAID = 1; |
| | | |
| | | CHsmsActive::CHsmsActive() |
| | | { |
| | | m_listener = {}; |
| | |
| | | if (nStream == 5 && pHeader->function == 1) { |
| | | // S5F1 |
| | | replyAck(5, 2, pMessage->getHeader()->systemBytes, 0, _T("ACK0")); |
| | | } |
| | | else if (nStream == 6 && pHeader->function == 11) { |
| | | // S5F1 |
| | | replyAck(6, 12, pMessage->getHeader()->systemBytes, 0, _T("ACK0")); |
| | | } |
| | | }; |
| | | |
| | |
| | | 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; |
| | |
| | | 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::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; |