From d7973a57409adb886b1a7d1c71555b6fb54bae6c Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 19 六月 2025 10:01:41 +0800
Subject: [PATCH] 1.启动自动搬送时,先发送start到各机台

---
 SourceCode/Bond/Servo/ServoDlg.cpp |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 5fd7af6..bc56882 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -190,6 +190,18 @@
 					GetRuntimeFormatText(strText, "");
 					m_pMyStatusbar->setRunTimeText((LPTSTR)(LPCTSTR)strText);
 				}
+				else if (state == SERVO::MASTERSTATE::STARTING) {
+					m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_STARTING);
+					m_pMyStatusbar->setForegroundColor(RGB(0, 0, 0));
+					m_pMyStatusbar->setRunTimeText("正在启动...");
+				}
+				else if (state == SERVO::MASTERSTATE::MSERROR) {
+					m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(TRUE);
+					m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(FALSE);
+					m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_ALARM);
+					m_pMyStatusbar->setForegroundColor(RGB(0, 0, 0));
+					m_pMyStatusbar->setRunTimeText("启动失败.");
+				}
 				else if (state == SERVO::MASTERSTATE::RUNNING) {
 					m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(FALSE);
 					m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(TRUE);
@@ -856,14 +868,22 @@
 {
 	int id = (int)lParam;
 	if (id == IDC_BUTTON_RUN) {
-		theApp.m_model.getMaster().start();
-		m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(FALSE);
+		if (theApp.m_model.getMaster().getState() == SERVO::MASTERSTATE::MSERROR) {
+			AfxMessageBox("当前有机台发生错误,不能启动,请确认解决问题后再尝试重新启动!");
+		}
+		else {
+			if (theApp.m_model.getMaster().start() == 0) {
+				m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(FALSE);
+			}
+		}
 	}
 	else if (id == IDC_BUTTON_STOP) {
-		theApp.m_model.getMaster().stop();
-		m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(FALSE);
+		if (theApp.m_model.getMaster().stop() == 0) {
+			m_pTopToolbar->GetBtn(IDC_BUTTON_STOP)->EnableWindow(FALSE);
+		}
 	}
 	else if (id == IDC_BUTTON_ROBOT) {
+		theApp.m_model.getMaster().clearError();
 		SERVO::CEFEM* pEFEM = (SERVO::CEFEM*)theApp.m_model.getMaster().getEquipment(EQ_ID_EFEM);
 		CRobotCmdTestDlg dlg;
 		dlg.SetEFEM(pEFEM);

--
Gitblit v1.9.3