From e7a450d2fdc99bd501e1af7dd7c16c477cfea75e Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 15 三月 2025 11:56:44 +0800
Subject: [PATCH] 1.CimMessageClear(清除Cim消息)测试通过; 2.增加VCREanbleStep(启用/禁用)VCR;
---
/dev/null | 0
SourceCode/Bond/Servo/Servo.vcxproj | 2
SourceCode/Bond/Servo/Servo.vcxproj.filters | 2
SourceCode/Bond/Servo/CEqVCREnableStep.cpp | 48 ++++++++++++++++
SourceCode/Bond/Servo/CEqVCREnableStep.h | 22 +++++++
SourceCode/Bond/Servo/CMaster.cpp | 41 ++++++++-----
Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1.xlsx | 0
SourceCode/Bond/Servo/CEquipment.h | 1
SourceCode/Bond/Servo/ServoDlg.cpp | 18 ++---
SourceCode/Bond/Servo/Common.h | 1
10 files changed, 109 insertions(+), 26 deletions(-)
diff --git "a/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1\0501\051.xlsx" "b/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1\0501\051.xlsx"
deleted file mode 100644
index 312cbab..0000000
--- "a/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1\0501\051.xlsx"
+++ /dev/null
Binary files differ
diff --git a/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1.xlsx b/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1.xlsx
new file mode 100644
index 0000000..544f8a8
--- /dev/null
+++ b/Document/ESWIN_EAS_Bonder_Inline_Mapping_Address_v1.1.1.xlsx
Binary files differ
diff --git a/SourceCode/Bond/Servo/CEqVCREnableStep.cpp b/SourceCode/Bond/Servo/CEqVCREnableStep.cpp
new file mode 100644
index 0000000..5f07263
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqVCREnableStep.cpp
@@ -0,0 +1,48 @@
+#include "stdafx.h"
+#include "CEqVCREnableStep.h"
+#include "Log.h"
+
+
+namespace SERVO {
+ CEqVCREnableStep::CEqVCREnableStep() : CWriteStep()
+ {
+ m_nEqVCRModeDev = 0;
+ }
+
+ CEqVCREnableStep::~CEqVCREnableStep()
+ {
+
+ }
+
+ void CEqVCREnableStep::setEqVCRModeDev(int nDev)
+ {
+ m_nEqVCRModeDev = nDev;
+ }
+
+ int CEqVCREnableStep::vcrEanble(short id)
+ {
+ char szBuffer[16];
+ int mode = 1;
+ memcpy(szBuffer, &id, sizeof(short));
+ memcpy(&szBuffer[2], &mode, sizeof(short));
+ return writeData(m_nEqVCRModeDev, (const char*)szBuffer, 4);
+ }
+
+ int CEqVCREnableStep::vcrDisable(short id)
+ {
+ char szBuffer[16];
+ int mode = 2;
+ memcpy(szBuffer, &id, sizeof(short));
+ memcpy(&szBuffer[2], &mode, sizeof(short));
+ return writeData(m_nEqVCRModeDev, (const char*)szBuffer, 4);
+ }
+
+ void CEqVCREnableStep::getAttributeVector(CAttributeVector& attrubutes)
+ {
+ CWriteStep::getAttributeVector(attrubutes);
+
+ std::string strTemp;
+ attrubutes.addAttribute(new CAttribute("VCR Mode Dev",
+ ("W" + CToolUnits::toHexString(m_nEqVCRModeDev, strTemp)).c_str(), ""));
+ }
+}
diff --git a/SourceCode/Bond/Servo/CEqVCREnableStep.h b/SourceCode/Bond/Servo/CEqVCREnableStep.h
new file mode 100644
index 0000000..ebd605d
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqVCREnableStep.h
@@ -0,0 +1,22 @@
+#pragma once
+#include "CWriteStep.h"
+
+
+namespace SERVO {
+ class CEqVCREnableStep : public CWriteStep
+ {
+ public:
+ CEqVCREnableStep();
+ ~CEqVCREnableStep();
+
+ public:
+ void setEqVCRModeDev(int nDev);
+ int vcrEanble(short id);
+ int vcrDisable(short id);
+ void getAttributeVector(CAttributeVector& attrubutes);
+
+ private:
+ int m_nEqVCRModeDev;
+ };
+}
+
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index ac64bd3..ad84bee 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -10,6 +10,7 @@
#include "CEqCimMessageCmdStep.h"
#include "CEqCimMessageClearStep.h"
#include "CEqDateTimeSetCmdStep.h"
+#include "CEqVCREnableStep.h"
#include <map>
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 6b16c44..10379b0 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -245,22 +245,12 @@
}
}
{
- CEqModeChangeStep* pStep = new CEqModeChangeStep();
- pStep->setName(STEP_EQ_MODE_CHANGE);
- pStep->setListener(listener);
- pStep->setWriteSignalDev(0x51);
- pStep->setEqModeDev(0x1E);
- if (pEquipment->addStep(0x351, pStep) != 0) {
- delete pStep;
- }
- }
- {
CEqCimMessageCmdStep* pStep = new CEqCimMessageCmdStep();
pStep->setName(STEP_CIM_MESSAGE_CMD);
pStep->setListener(listener);
- pStep->setWriteSignalDev(0x53);
+ pStep->setWriteSignalDev(0x51);
pStep->setCimMessageDev(0x0);
- if (pEquipment->addStep(0x352, pStep) != 0) {
+ if (pEquipment->addStep(0x351, pStep) != 0) {
delete pStep;
}
}
@@ -268,9 +258,9 @@
CEqCimMessageClearStep* pStep = new CEqCimMessageClearStep();
pStep->setName(STEP_CIM_MESSAGE_CLEAR);
pStep->setListener(listener);
- pStep->setWriteSignalDev(0x54);
+ pStep->setWriteSignalDev(0x52);
pStep->setClearCimMessageDev(0x13);
- if (pEquipment->addStep(0x353, pStep) != 0) {
+ if (pEquipment->addStep(0x352, pStep) != 0) {
delete pStep;
}
}
@@ -278,12 +268,33 @@
CEqDateTimeSetCmdStep* pStep = new CEqDateTimeSetCmdStep();
pStep->setName(STEP_DATETIME_SET_CMD);
pStep->setListener(listener);
- pStep->setWriteSignalDev(0x55);
+ pStep->setWriteSignalDev(0x53);
pStep->setDateTimeDev(0x16);
+ if (pEquipment->addStep(0x353, pStep) != 0) {
+ delete pStep;
+ }
+ }
+ {
+ CEqVCREnableStep* pStep = new CEqVCREnableStep();
+ pStep->setName(STEP_EQ_VCR_ENABLE);
+ pStep->setListener(listener);
+ pStep->setWriteSignalDev(0x54);
+ pStep->setEqVCRModeDev(0x1F);
if (pEquipment->addStep(0x354, pStep) != 0) {
delete pStep;
}
}
+ {
+ CEqModeChangeStep* pStep = new CEqModeChangeStep();
+ pStep->setName(STEP_EQ_MODE_CHANGE);
+ pStep->setListener(listener);
+ pStep->setWriteSignalDev(0x55);
+ pStep->setEqModeDev(0x1E);
+ if (pEquipment->addStep(0x355, pStep) != 0) {
+ delete pStep;
+ }
+ }
+
pEquipment->init();
LOGE("已添加“EFEM(ROBOT)”.");
return 0;
diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index c4e9244..1d1bee5 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -68,6 +68,7 @@
#define STEP_CIM_MESSAGE_CMD _T("EQCimMessageCmd")
#define STEP_CIM_MESSAGE_CLEAR _T("EQCimMessageClear")
#define STEP_DATETIME_SET_CMD _T("EQDateTimeSetCmd")
+#define STEP_EQ_VCR_ENABLE _T("EQVCREnable")
#define BASE_ALARM_EFEM 10000
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index 68eb757..96cc98d 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -213,6 +213,7 @@
<ClInclude Include="CEqModeStep.h" />
<ClInclude Include="CEqProcessStep.h" />
<ClInclude Include="CEqStatusStep.h" />
+ <ClInclude Include="CEqVCREnableStep.h" />
<ClInclude Include="CPanelAttributes.h" />
<ClInclude Include="CPanelEquipment.h" />
<ClInclude Include="CPanelMaster.h" />
@@ -264,6 +265,7 @@
<ClCompile Include="CEqModeStep.cpp" />
<ClCompile Include="CEqProcessStep.cpp" />
<ClCompile Include="CEqStatusStep.cpp" />
+ <ClCompile Include="CEqVCREnableStep.cpp" />
<ClCompile Include="CPanelAttributes.cpp" />
<ClCompile Include="CPanelEquipment.cpp" />
<ClCompile Include="CPanelMaster.cpp" />
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj.filters b/SourceCode/Bond/Servo/Servo.vcxproj.filters
index deafbb5..eea77ce 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj.filters
+++ b/SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -57,6 +57,7 @@
<ClCompile Include="CEqCimMessageCmdStep.cpp" />
<ClCompile Include="CEqCimMessageClearStep.cpp" />
<ClCompile Include="CEqDateTimeSetCmdStep.cpp" />
+ <ClCompile Include="CEqVCREnableStep.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="AlarmManager.h" />
@@ -112,6 +113,7 @@
<ClInclude Include="CEqCimMessageCmdStep.h" />
<ClInclude Include="CEqCimMessageClearStep.h" />
<ClInclude Include="CEqDateTimeSetCmdStep.h" />
+ <ClInclude Include="CEqVCREnableStep.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Servo.rc" />
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index fbd0eff..6e52d61 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -560,16 +560,8 @@
{
SERVO::CEquipment* pEquipment = m_pPanelMaster->GetActiveEquipment();
if (pEquipment != nullptr) {
- SERVO::CEqCimModeChangeStep* pStep = (SERVO::CEqCimModeChangeStep*)pEquipment->getStepWithName(STEP_CIM_MODE_CHANGE);
- if (pStep != nullptr) {
- static int i = 0;
- i++;
- if(i % 2 == 1)
- pStep->cimOn();
- else
- pStep->cimOff();
- AfxMessageBox(pStep->getName().c_str());
- }
+ SERVO::CEqCimMessageCmdStep* pStep = (SERVO::CEqCimMessageCmdStep*)pEquipment->getStepWithName(STEP_CIM_MESSAGE_CMD);
+ pStep->setCimMessage("HELLO 5007", 2, 3);
}
}
@@ -580,7 +572,11 @@
void CServoDlg::OnMenuTestMessageClear()
{
- AfxMessageBox("OnMenuTestMessageClear");
+ SERVO::CEquipment* pEquipment = m_pPanelMaster->GetActiveEquipment();
+ if (pEquipment != nullptr) {
+ SERVO::CEqCimMessageClearStep* pStep = (SERVO::CEqCimMessageClearStep*)pEquipment->getStepWithName(STEP_CIM_MESSAGE_CLEAR);
+ pStep->clearCimMessage(2, 3);
+ }
}
void CServoDlg::OnUpdateMenuTestMessageClear(CCmdUI* pCmdUI)
--
Gitblit v1.9.3