From b8c35c05be4be6881804d6d0eb4ba2b74ae33308 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 13 三月 2025 15:41:50 +0800
Subject: [PATCH] 1.增加CEqCimMessageCmdStep(发送Cim消息)和CEqCimMessageClearStep(清除消息)
---
SourceCode/Bond/Servo/Servo.vcxproj | 4 +
SourceCode/Bond/Servo/Servo.vcxproj.filters | 4 +
SourceCode/Bond/Servo/CEqCimMessageClearStep.h | 21 +++++++
SourceCode/Bond/Servo/CEqCimMessageCmdStep.cpp | 37 ++++++++++++
SourceCode/Bond/Servo/CEqCimMessageClearStep.cpp | 36 ++++++++++++
SourceCode/Bond/Servo/CMaster.cpp | 20 ++++++
SourceCode/Bond/Servo/CEquipment.h | 2
SourceCode/Bond/Servo/CEqCimMessageCmdStep.h | 21 +++++++
SourceCode/Bond/Servo/Common.h | 2
9 files changed, 147 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEqCimMessageClearStep.cpp b/SourceCode/Bond/Servo/CEqCimMessageClearStep.cpp
new file mode 100644
index 0000000..cb0d6c2
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqCimMessageClearStep.cpp
@@ -0,0 +1,36 @@
+#include "stdafx.h"
+#include "CEqCimMessageClearStep.h"
+
+
+namespace SERVO {
+ CEqCimMessageClearStep::CEqCimMessageClearStep() : CWriteStep()
+ {
+ m_nClearCimMessageDev = 0;
+ }
+
+ CEqCimMessageClearStep::~CEqCimMessageClearStep()
+ {
+
+ }
+
+ void CEqCimMessageClearStep::setClearCimMessageDev(int nDev)
+ {
+ m_nClearCimMessageDev = nDev;
+ }
+
+ int CEqCimMessageClearStep::clearCimMessage(short id, short nTouchPanelNo)
+ {
+ char szBuffer[4] = {0};
+ memcpy(&szBuffer[0], &id, sizeof(short));
+ memcpy(&szBuffer[2], &nTouchPanelNo, sizeof(short));
+ return writeData(m_nClearCimMessageDev, (const char*)szBuffer, 4);
+ }
+
+ void CEqCimMessageClearStep::getAttributeVector(CAttributeVector& attrubutes)
+ {
+ CWriteStep::getAttributeVector(attrubutes);
+
+ attrubutes.addAttribute(new CAttribute("Clear Cim Message Dev",
+ std::to_string(m_nClearCimMessageDev).c_str(), ""));
+ }
+}
diff --git a/SourceCode/Bond/Servo/CEqCimMessageClearStep.h b/SourceCode/Bond/Servo/CEqCimMessageClearStep.h
new file mode 100644
index 0000000..b4306f9
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqCimMessageClearStep.h
@@ -0,0 +1,21 @@
+#pragma once
+#include "CWriteStep.h"
+
+
+namespace SERVO {
+ class CEqCimMessageClearStep : public CWriteStep
+ {
+ public:
+ CEqCimMessageClearStep();
+ ~CEqCimMessageClearStep();
+
+ public:
+ void setClearCimMessageDev(int nDev);
+ int clearCimMessage(short id, short nTouchPanelNo);
+ void getAttributeVector(CAttributeVector& attrubutes);
+
+ private:
+ int m_nClearCimMessageDev;
+ };
+}
+
diff --git a/SourceCode/Bond/Servo/CEqCimMessageCmdStep.cpp b/SourceCode/Bond/Servo/CEqCimMessageCmdStep.cpp
new file mode 100644
index 0000000..6aa9d2e
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqCimMessageCmdStep.cpp
@@ -0,0 +1,37 @@
+#include "stdafx.h"
+#include "CEqCimMessageCmdStep.h"
+
+
+namespace SERVO {
+ CEqCimMessageCmdStep::CEqCimMessageCmdStep() : CWriteStep()
+ {
+ m_nCimMessageDev = 0;
+ }
+
+ CEqCimMessageCmdStep::~CEqCimMessageCmdStep()
+ {
+
+ }
+
+ void CEqCimMessageCmdStep::setCimMessageDev(int nDev)
+ {
+ m_nCimMessageDev = nDev;
+ }
+
+ int CEqCimMessageCmdStep::setCimMessage(const char* pszMessage, short id, short nTouchPanelNo)
+ {
+ char szBuffer[36] = {0};
+ strcpy_s(szBuffer, 32, pszMessage);
+ memcpy(&szBuffer[32], &id, sizeof(short));
+ memcpy(&szBuffer[34], &nTouchPanelNo, sizeof(short));
+ return writeData(m_nCimMessageDev, (const char*)szBuffer, 36);
+ }
+
+ void CEqCimMessageCmdStep::getAttributeVector(CAttributeVector& attrubutes)
+ {
+ CWriteStep::getAttributeVector(attrubutes);
+
+ attrubutes.addAttribute(new CAttribute("Cim Message Dev",
+ std::to_string(m_nCimMessageDev).c_str(), ""));
+ }
+}
diff --git a/SourceCode/Bond/Servo/CEqCimMessageCmdStep.h b/SourceCode/Bond/Servo/CEqCimMessageCmdStep.h
new file mode 100644
index 0000000..61378ed
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqCimMessageCmdStep.h
@@ -0,0 +1,21 @@
+#pragma once
+#include "CWriteStep.h"
+
+
+namespace SERVO {
+ class CEqCimMessageCmdStep : public CWriteStep
+ {
+ public:
+ CEqCimMessageCmdStep();
+ ~CEqCimMessageCmdStep();
+
+ public:
+ void setCimMessageDev(int nDev);
+ int setCimMessage(const char* pszMessage, short id, short nTouchPanelNo);
+ void getAttributeVector(CAttributeVector& attrubutes);
+
+ private:
+ int m_nCimMessageDev;
+ };
+}
+
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index 0e5442f..c8bccd9 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -7,6 +7,8 @@
#include "CEqProcessStep.h"
#include "CEqCimModeChangeStep.h"
#include "CEqModeChangeStep.h"
+#include "CEqCimMessageCmdStep.h"
+#include "CEqCimMessageClearStep.h"
#include <map>
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index a14b7cc..c954c14 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -254,6 +254,26 @@
delete pStep;
}
}
+ {
+ CEqCimMessageCmdStep* pStep = new CEqCimMessageCmdStep();
+ pStep->setName(STEP_CIM_MESSAGE_CMD);
+ pStep->setListener(listener);
+ pStep->setWriteSignalDev(0x53);
+ pStep->setCimMessageDev(0x0);
+ if (pEquipment->addStep(0x352, pStep) != 0) {
+ delete pStep;
+ }
+ }
+ {
+ CEqCimMessageClearStep* pStep = new CEqCimMessageClearStep();
+ pStep->setName(STEP_CIM_MESSAGE_CLEAR);
+ pStep->setListener(listener);
+ pStep->setWriteSignalDev(0x54);
+ pStep->setClearCimMessageDev(0x13);
+ if (pEquipment->addStep(0x353, pStep) != 0) {
+ delete pStep;
+ }
+ }
pEquipment->init();
LOGE("已添加“EFEM(ROBOT)”.");
diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index 05824ae..fc0c568 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -65,6 +65,8 @@
#define STEP_PROCESS _T("EQProcess")
#define STEP_CIM_MODE_CHANGE _T("EQCimModeChange")
#define STEP_EQ_MODE_CHANGE _T("EQModeChange")
+#define STEP_CIM_MESSAGE_CMD _T("EQCimMessageCmd")
+#define STEP_CIM_MESSAGE_CLEAR _T("EQCimMessageClear")
#define BASE_ALARM_EFEM 10000
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index 05ab35b..4c7c4de 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -205,6 +205,8 @@
<ClInclude Include="CCLinkPerformance\CCLinkIEControl.h" />
<ClInclude Include="CCLinkPerformance\PerformanceMelsec.h" />
<ClInclude Include="CEqAlarmStep.h" />
+ <ClInclude Include="CEqCimMessageClearStep.h" />
+ <ClInclude Include="CEqCimMessageCmdStep.h" />
<ClInclude Include="CEqCimModeChangeStep.h" />
<ClInclude Include="CEqModeChangeStep.h" />
<ClInclude Include="CEqModeStep.h" />
@@ -253,6 +255,8 @@
<ClCompile Include="CCLinkPerformance\CCLinkIEControl.cpp" />
<ClCompile Include="CCLinkPerformance\PerformanceMelsec.cpp" />
<ClCompile Include="CEqAlarmStep.cpp" />
+ <ClCompile Include="CEqCimMessageClearStep.cpp" />
+ <ClCompile Include="CEqCimMessageCmdStep.cpp" />
<ClCompile Include="CEqCimModeChangeStep.cpp" />
<ClCompile Include="CEqModeChangeStep.cpp" />
<ClCompile Include="CEqModeStep.cpp" />
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj.filters b/SourceCode/Bond/Servo/Servo.vcxproj.filters
index 48f6081..a4aa804 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj.filters
+++ b/SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -54,6 +54,8 @@
<ClCompile Include="CPanelEquipment.cpp" />
<ClCompile Include="ListCtrlEx.cpp" />
<ClCompile Include="CEqModeChangeStep.cpp" />
+ <ClCompile Include="CEqCimMessageCmdStep.cpp" />
+ <ClCompile Include="CEqCimMessageClearStep.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="AlarmManager.h" />
@@ -106,6 +108,8 @@
<ClInclude Include="CPanelEquipment.h" />
<ClInclude Include="ListCtrlEx.h" />
<ClInclude Include="CEqModeChangeStep.h" />
+ <ClInclude Include="CEqCimMessageCmdStep.h" />
+ <ClInclude Include="CEqCimMessageClearStep.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Servo.rc" />
--
Gitblit v1.9.3