From c8173fa96f226ff88412d07955fb340de4681ffc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 06 三月 2025 11:21:34 +0800
Subject: [PATCH] 1.实现 CIM model change指令下发到机器。与之前的从CC link读数据逻辑稍有不同,下发指令为写数据,因此,从原CStep派生两个类,CReadStep(用于读数据),CWriteStep(用于写数据),然后根据使用场景选择合适的基数做应用层逻辑。已完成待测试验证

---
 SourceCode/Bond/Servo/Servo.cpp |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/Servo.cpp b/SourceCode/Bond/Servo/Servo.cpp
index 550391a..d88737c 100644
--- a/SourceCode/Bond/Servo/Servo.cpp
+++ b/SourceCode/Bond/Servo/Servo.cpp
@@ -6,6 +6,10 @@
 #include "Servo.h"
 #include "ServoDlg.h"
 #include "ServoGraph.h"
+#include "AlarmManager.h"
+#include "SECSRuntimeManager.h"
+#include "VerticalLine.h"
+
 
 // 声明全局变量,用于管理 GDI+ 初始化
 ULONG_PTR g_diplusToken;
@@ -90,6 +94,7 @@
 
 	// 注册控件
 	CServoGraph::RegisterWndClass();
+	CVerticalLine::RegisterWndClass();
 
 
 	// 初始化Rx库
@@ -99,6 +104,37 @@
 
 	// 初始化 GDI+
 	InitGDIPlus();
+
+
+	// 初始化报警管理器
+	try {
+		if (!AlarmManager::getInstance().initAlarmTable()) {
+			AfxMessageBox("初始化报警管理器失败!");
+			return FALSE;
+		}
+	}
+	catch (const std::exception& ex) {
+		CString errorMsg;
+		errorMsg.Format(_T("初始化报警管理器失败:%s"), CString(ex.what()));
+		AfxMessageBox(errorMsg, MB_ICONERROR);
+		return FALSE;
+	}
+	AlarmManager::getInstance().insertMockData();
+
+
+	// 初始化SECS运行设置管理库
+	try {
+		if (!SECSRuntimeManager::getInstance().initRuntimeSetting()) {
+			AfxMessageBox("初始化SECS运行设置失败!");
+			return FALSE;
+		}
+	}
+	catch (const std::exception& ex) {
+		CString errorMsg;
+		errorMsg.Format(_T("初始化SECS运行设置失败:%s"), CString(ex.what()));
+		AfxMessageBox(errorMsg, MB_ICONERROR);
+		return FALSE;
+	}
 
 
 	CServoDlg dlg;
@@ -140,6 +176,12 @@
 	// 清理 GDI+
 	TermGDIPlus();
 
+	// 销毁报警表
+	AlarmManager::getInstance().termAlarmTable();
+
+	// 销毁SECS运行设置管理库
+	SECSRuntimeManager::getInstance().termRuntimeSetting();
+
 	return CWinApp::ExitInstance();
 }
 

--
Gitblit v1.9.3