From 4f6aae9fe017a37bd8bc6199ba4e3804036d8693 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 13 三月 2025 14:11:13 +0800
Subject: [PATCH] 1.增加EqModeChangeStep

---
 SourceCode/Bond/Servo/CEqModeChangeStep.cpp |   45 ++++++++++++++++++++++
 SourceCode/Bond/Servo/CEqModeChangeStep.h   |   23 +++++++++++
 SourceCode/Bond/Servo/Servo.vcxproj         |    2 +
 SourceCode/Bond/Servo/Servo.vcxproj.filters |    2 +
 SourceCode/Bond/Servo/Servo.rc              |    0 
 SourceCode/Bond/Servo/CMaster.cpp           |   10 +++++
 SourceCode/Bond/Servo/CEquipment.h          |    1 
 SourceCode/Bond/Servo/ServoDlg.cpp          |    4 +-
 SourceCode/Bond/Servo/Common.h              |    1 
 9 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEqModeChangeStep.cpp b/SourceCode/Bond/Servo/CEqModeChangeStep.cpp
new file mode 100644
index 0000000..4662008
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqModeChangeStep.cpp
@@ -0,0 +1,45 @@
+#include "stdafx.h"
+#include "CEqModeChangeStep.h"
+
+
+namespace SERVO {
+	CEqModeChangeStep::CEqModeChangeStep() : CWriteStep()
+	{
+		m_nEqModeDev = 0;
+	}
+
+	CEqModeChangeStep::~CEqModeChangeStep()
+	{
+
+	}
+
+	void CEqModeChangeStep::setEqModeDev(int nDev)
+	{
+		m_nEqModeDev = nDev;
+	}
+
+	int CEqModeChangeStep::equipmentOn()
+	{
+		short mode = 1;
+		return writeData(m_nEqModeDev, (const char*)&mode, sizeof(short));
+	}
+
+	int CEqModeChangeStep::equipmentOff()
+	{
+		short mode = 2;
+		return writeData(m_nEqModeDev, (const char*)&mode, sizeof(short));
+	}
+
+	int CEqModeChangeStep::setEqMode(short mode)
+	{
+		return writeData(m_nEqModeDev, (const char*)&mode, sizeof(short));
+	}
+
+	void CEqModeChangeStep::getAttributeVector(CAttributeVector& attrubutes)
+	{
+		CWriteStep::getAttributeVector(attrubutes);
+
+		attrubutes.addAttribute(new CAttribute("Equipment Mode Dev",
+			std::to_string(m_nEqModeDev).c_str(), ""));
+	}
+}
diff --git a/SourceCode/Bond/Servo/CEqModeChangeStep.h b/SourceCode/Bond/Servo/CEqModeChangeStep.h
new file mode 100644
index 0000000..420014d
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqModeChangeStep.h
@@ -0,0 +1,23 @@
+#pragma once
+#include "CWriteStep.h"
+
+
+namespace SERVO {
+	class CEqModeChangeStep : public CWriteStep
+	{
+	public:
+		CEqModeChangeStep();
+		~CEqModeChangeStep();
+
+	public:
+		void setEqModeDev(int nDev);
+		int equipmentOn();
+		int equipmentOff();
+		int setEqMode(short mode);
+		void getAttributeVector(CAttributeVector& attrubutes);
+
+	private:
+		int m_nEqModeDev;
+	};
+}
+
diff --git a/SourceCode/Bond/Servo/CEquipment.h b/SourceCode/Bond/Servo/CEquipment.h
index c13e71e..0e5442f 100644
--- a/SourceCode/Bond/Servo/CEquipment.h
+++ b/SourceCode/Bond/Servo/CEquipment.h
@@ -6,6 +6,7 @@
 #include "CEqAlarmStep.h"
 #include "CEqProcessStep.h"
 #include "CEqCimModeChangeStep.h"
+#include "CEqModeChangeStep.h"
 #include <map>
 
 
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 63157a6..a14b7cc 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -244,6 +244,16 @@
 				delete pStep;
 			}
 		}
+		{
+			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;
+			}
+		}
 
 		pEquipment->init();
 		LOGE("已添加“EFEM(ROBOT)”.");
diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index 4a14003..05824ae 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -64,6 +64,7 @@
 #define STEP_ALARM_BLOCK5		_T("EQAlarm5")
 #define STEP_PROCESS			_T("EQProcess")
 #define STEP_CIM_MODE_CHANGE	_T("EQCimModeChange")
+#define STEP_EQ_MODE_CHANGE		_T("EQModeChange")
 
 
 #define BASE_ALARM_EFEM		10000
diff --git a/SourceCode/Bond/Servo/Servo.rc b/SourceCode/Bond/Servo/Servo.rc
index 91f527d..f5404a1 100644
--- a/SourceCode/Bond/Servo/Servo.rc
+++ b/SourceCode/Bond/Servo/Servo.rc
Binary files differ
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index f603941..05ab35b 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -206,6 +206,7 @@
     <ClInclude Include="CCLinkPerformance\PerformanceMelsec.h" />
     <ClInclude Include="CEqAlarmStep.h" />
     <ClInclude Include="CEqCimModeChangeStep.h" />
+    <ClInclude Include="CEqModeChangeStep.h" />
     <ClInclude Include="CEqModeStep.h" />
     <ClInclude Include="CEqProcessStep.h" />
     <ClInclude Include="CEqStatusStep.h" />
@@ -253,6 +254,7 @@
     <ClCompile Include="CCLinkPerformance\PerformanceMelsec.cpp" />
     <ClCompile Include="CEqAlarmStep.cpp" />
     <ClCompile Include="CEqCimModeChangeStep.cpp" />
+    <ClCompile Include="CEqModeChangeStep.cpp" />
     <ClCompile Include="CEqModeStep.cpp" />
     <ClCompile Include="CEqProcessStep.cpp" />
     <ClCompile Include="CEqStatusStep.cpp" />
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj.filters b/SourceCode/Bond/Servo/Servo.vcxproj.filters
index 477da7b..48f6081 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj.filters
+++ b/SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -53,6 +53,7 @@
     <ClCompile Include="CEqCimModeChangeStep.cpp" />
     <ClCompile Include="CPanelEquipment.cpp" />
     <ClCompile Include="ListCtrlEx.cpp" />
+    <ClCompile Include="CEqModeChangeStep.cpp" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="AlarmManager.h" />
@@ -104,6 +105,7 @@
     <ClInclude Include="CEqCimModeChangeStep.h" />
     <ClInclude Include="CPanelEquipment.h" />
     <ClInclude Include="ListCtrlEx.h" />
+    <ClInclude Include="CEqModeChangeStep.h" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Servo.rc" />
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index aff25e1..fae7e5a 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -330,8 +330,8 @@
 	m_pGraph->SetBoxText(INDICATE_BAKE_COOLING, "12", "Bake cooling");
 
 
-	// Bake cooling
-	m_pGraph->AddIndicateBox(INDICATE_MEASUREMENT, 736, 516, 48, RGB(22, 22, 22),
+	// 精度检
+	m_pGraph->AddIndicateBox(INDICATE_MEASUREMENT, 737, 516, 48, RGB(22, 22, 22),
 		RGB(255, 127, 39), EQ_BOX_OFFLINE);
 	m_pGraph->SetBoxText(INDICATE_MEASUREMENT, "13", "Measurement");
 

--
Gitblit v1.9.3