From 7c35ff8d9a626f69a8a8b7de3d73dc9d73de9dd7 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期六, 13 九月 2025 10:51:32 +0800
Subject: [PATCH] 1. 解决读取报警文件错误的问题,提高兼容性(可能文件是在MacOS编辑的,导致换行符不一样)
---
SourceCode/Bond/Servo/ServoDlg.cpp | 39 ++++++++++++++++++++++++++++++++++-----
1 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 273c7c8..0924c6c 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -94,6 +94,7 @@
m_pPanelAttributes = nullptr;
m_pPageGraph1 = nullptr;
m_pPageGraph2 = nullptr;
+ m_pPageGlassList = nullptr;
m_pPageAlarm = nullptr;
m_pPageLog = nullptr;
m_pPageTransferLog = nullptr;
@@ -216,6 +217,20 @@
m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_ALARM);
m_pMyStatusbar->setForegroundColor(RGB(0, 0, 0));
m_pMyStatusbar->setRunTimeText("启动失败.");
+ m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(TRUE);
+ }
+ else if (state == SERVO::MASTERSTATE::ATHERERROR) {
+ m_pTopToolbar->GetBtn(IDC_BUTTON_RUN)->EnableWindow(TRUE);
+ m_pTopToolbar->GetBtn(IDC_BUTTON_RUN_BATCH)->EnableWindow(TRUE);
+ m_pTopToolbar->GetBtn(IDC_BUTTON_RUN_CT)->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(theApp.m_model.getMaster().getLastErrorText().c_str());
+ if (theApp.m_model.getMaster().getLastError() == ER_CODE_AOI_NG) {
+ AfxMessageBox(_T("AOI检测失败,请操作员介入解决问题!"));
+ }
+ m_pTopToolbar->GetBtn(IDC_BUTTON_ALARM)->EnableWindow(TRUE);
}
else if (state == SERVO::MASTERSTATE::RUNNING || state == SERVO::MASTERSTATE::RUNNING_CONTINUOUS_TRANSFER
|| state == SERVO::MASTERSTATE::RUNNING_BATCH) {
@@ -243,7 +258,7 @@
pEq2 = theApp.m_model.getMaster().getEquipment(pTask->getTarPosition());
if (pEq1 != nullptr && pEq2 != nullptr) {
CString strText;
- if (theApp.m_model.getMaster().getContinuousTransferCount() > 0) {
+ if (theApp.m_model.getMaster().getState() == SERVO::MASTERSTATE::RUNNING_CONTINUOUS_TRANSFER) {
strText.Format(_T("[%d]%s --> %s"),
theApp.m_model.getMaster().getContinuousTransferCount(),
pEq1->getName().c_str(), pEq2->getName().c_str());
@@ -365,6 +380,8 @@
m_pPageGraph1->Create(IDD_PAGE_GRAPH1, this);
m_pPageGraph2 = new CPageGraph2();
m_pPageGraph2->Create(IDD_PAGE_GRAPH2, this);
+ m_pPageGlassList = new CPageGlassList();
+ m_pPageGlassList->Create(IDD_PAGE_GLASS_LIST, this);
m_pPageRecipe = new CPageRecipe();
m_pPageRecipe->Create(IDD_PAGE_RECIPE, this);
m_pPageAlarm = new CPageAlarm();
@@ -379,10 +396,11 @@
m_pTab->SetItemMarginLeft(18);
m_pTab->AddItem("状态图", FALSE);
m_pTab->AddItem("连接图", TRUE);
+ m_pTab->AddItem("Glass", TRUE);
m_pTab->AddItem("配方", TRUE);
m_pTab->AddItem("报警", TRUE);
m_pTab->AddItem("日志", TRUE);
- m_pTab->AddItem("搬运", TRUE);
+ m_pTab->AddItem("搬运任务", TRUE);
m_pTab->SetCurSel(0);
m_pTab->SetBkgndColor(RGB(222, 222, 222));
ShowChildPage(0);
@@ -641,6 +659,7 @@
void CServoDlg::OnMenuHelpAbout()
{
+ theApp.m_model.getMaster().test();
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
@@ -733,6 +752,12 @@
m_pPageGraph2 = nullptr;
}
+ if (m_pPageGlassList != nullptr) {
+ m_pPageGlassList->DestroyWindow();
+ delete m_pPageGlassList;
+ m_pPageGlassList = nullptr;
+ }
+
if (m_pPageRecipe != nullptr) {
m_pPageRecipe->DestroyWindow();
delete m_pPageRecipe;
@@ -774,6 +799,7 @@
if (GetDlgItem(IDC_TAB1) == nullptr) return;
if (m_pPageGraph1 == nullptr) return;
if (m_pPageGraph2 == nullptr) return;
+ if (m_pPageGlassList == nullptr) return;
if (m_pPageRecipe == nullptr) return;
if (m_pPageAlarm == nullptr) return;
if (m_pPageLog == nullptr) return;
@@ -829,6 +855,7 @@
m_pPageGraph1->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
m_pPageGraph2->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
+ m_pPageGlassList->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
m_pPageRecipe->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
m_pPageAlarm->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
m_pPageLog->MoveWindow(x, y, rcClient.Width() - x, y2 - y);
@@ -914,9 +941,11 @@
void CServoDlg::ShowChildPage(int index)
{
- ASSERT(0 <= index && index < 6);
- static CWnd* pPages[] = { m_pPageGraph1, m_pPageGraph2, m_pPageRecipe, m_pPageAlarm, m_pPageLog, m_pPageTransferLog };
- for (int i = 0; i < 6; i++) {
+ static CWnd* pPages[] = { m_pPageGraph1, m_pPageGraph2, m_pPageGlassList,
+ m_pPageRecipe, m_pPageAlarm, m_pPageLog, m_pPageTransferLog };
+ ASSERT(0 <= index && index < sizeof(pPages) / sizeof(CWnd*));
+
+ for (int i = 0; i < sizeof(pPages) / sizeof(CWnd*); i++) {
pPages[i]->ShowWindow(i == index ? SW_SHOW : SW_HIDE);
}
}
--
Gitblit v1.9.3