From 4eaefee05c987e352dd6d761e601aa450f7f92b4 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 21 三月 2025 14:41:46 +0800
Subject: [PATCH] 1.添加其它机器并连接,显示连接图;
---
SourceCode/Bond/Servo/CLoadPort.cpp | 61 ++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index bda1be4..5b54636 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -34,6 +34,9 @@
{
// 加入Pin初始化代码
LOGI("<CLoadPort>initPins");
+ addPin(SERVO::PinType::INPUT, _T("In"));
+ addPin(SERVO::PinType::OUTPUT, _T("Out1"));
+ addPin(SERVO::PinType::OUTPUT, _T("Out2"));
}
void CLoadPort::onTimer(UINT nTimerid)
@@ -45,4 +48,62 @@
{
CEquipment::serialize(ar);
}
+
+ void CLoadPort::getAttributeVector(CAttributeVector& attrubutes)
+ {
+ __super::getAttributeVector(attrubutes);
+
+ for (auto item : m_inputPins) {
+ attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
+ std::to_string((int)item->getType()).c_str(), ""));
+ }
+
+ for (auto item : m_outputPins) {
+ attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
+ std::to_string((int)item->getType()).c_str(), ""));
+ }
+
+ for (auto item : m_panelList) {
+ attrubutes.addAttribute(new CAttribute("Panel",
+ item->getID().c_str(), ""));
+ }
+ }
+
+ void CLoadPort::outputPanel()
+ {
+ CPin* pOutPin = getPin("Out");
+
+
+ // 如果列表中没有Panel,模拟生成10张
+ if (m_panelList.empty()) {
+ static int ii = 0;
+ char szBuffer[64];
+ LOGI("<CLoadPort>模拟生成10张PANEL");
+ for (int i = 0; i < 10; i++) {
+ sprintf_s(szBuffer, "P20250320A1A%d", ++ii);
+ CPanel* pPanel = new CPanel();
+ pPanel->setID(szBuffer);
+ addPanelToList(pPanel);
+ }
+ }
+
+
+ // 模拟取出第一张Panel,传送到下一环节
+ Lock();
+ CPanel* pContext = m_panelList.front();
+ pContext->addRef();
+
+ CIntent intent(FLOW_MOVE_MATERIAL, "", pContext);
+ int nRet = pOutPin->sendIntent(&intent);
+ if (nRet == FLOW_REJECT) {
+ AfxMessageBox("对方拒绝接受");
+ }
+ else if (nRet == FLOW_ACCEPT) {
+ m_panelList.pop_front();
+ pContext->release(); // 添加到列队时addRef, 取出时release
+ }
+
+ pContext->release();
+ Unlock();
+ }
}
--
Gitblit v1.9.3