GrpcPrint/PrintS/Purifier/HBD3Purifier.cpp

1187 lines
56 KiB
C++

#include "HBD3Purifier.h"
#include "../Communication/HBDPurifierG3Client.h"
#include "../external/imgui/imgui_custom.h"
#include "../global.h"
#include "../Toast.h"
#include "../SystemInfo.h"
#include "../Logger.h"
#include "../plc/SignalService.h"
HBD3Purifier::HBD3Purifier(ScannerCtrl* scannerCtrl):XTPurifier(scannerCtrl)
{
}
HBD3Purifier::~HBD3Purifier()
{
}
void HBD3Purifier::Init()
{
//m_HasFan = false;
map<string, CommunicationCfg*>* cfg = ConfigManager::GetInstance()->GetCommunicationCfg();
m_RunCfg = ConfigManager::GetInstance()->GetRunCfg();
m_MachineCfg = ConfigManager::GetInstance()->GetMachineCfg();
m_IOCfgWrapper = ConfigManager::GetInstance()->GetIoCfgWrapper();
m_AlarmCfgWrapper = ConfigManager::GetInstance()->GetAlarmCfg();
m_Client = new HBDPurifierG3Client((*cfg)["HBD_PURIFIER_G3"]);
m_Client->Init();
ConfigManager::GetInstance()->AddComRefCfg(m_Client->GetConfig(), m_Client);
m_Client->GetConfig()->m_Enable = true;
if (m_Client->GetConfig()->m_Enable)m_Client->Startup();
}
//void HBD3Purifier::DrawUI()
//{
// if (g_Admin > USER) {
// DrawAdminUI();
// }
// else DrawUserUI();
//}
bool HBD3Purifier::IsLockPurifier()
{
if (m_State.protectionTestFail || m_State.oxygenSelfTestFail)
{
return true;
}
else return false;
}
//void HBD3Purifier::DrawUserUI()
//{
// Purifierstat_XT purifierstatXT;
// m_Client->GetStat(purifierstatXT);
//
// ImGui::Begin(_(u8"净化器").c_str(), &m_PurifierWinShow, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_HorizontalScrollbar);
// //ImGui::SetWindowFontScale(1.2);
// ImGui::BeginGroup();
//
// ImGui::Text(_(u8"净化器端口连接:").c_str()); ImGui::SameLine();
// if (m_Client->IsServerConnected())ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"正常").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"断开").c_str());
//
// ImGui::Text(_(u8"净化器通讯连接:").c_str()); ImGui::SameLine();
// if (purifierstatXT.baseStat.isConnected)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"正常").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"断开").c_str());
//
// ImGui::Text(_(u8"类型:").c_str()); ImGui::SameLine();
// ImGui::Text("%d", purifierstatXT.purifierType);
//
// ImGui::Text(_(u8"锁定:").c_str()); ImGui::SameLine();
// if (!IsLockPurifier())ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
//
//
// ImGui::Text(_(u8"中效压力值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.midPressureValue);
//
// ImGui::Text(_(u8"中效压差值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.midPressureDifValue);
//
// ImGui::Text(_(u8"高效压差值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.highPressureDifValue);
//
// ImGui::Text(_(u8"中效温度:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f ℃", purifierstatXT.midTemperatureValue);
//
//
// ImGui::Text(_(u8"中效压差报警设值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.midPressureDifAlarmValue);
//
// // ImGui::Text(_(u8"中校压差执行最大次数:").c_str()); ImGui::SameLine();
// // ImGui::Text("%u", m_RunCfg->m_MidPressureProcMaxTimes);
//
// ImGui::Text(_(u8"高效压差报警设值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.highPressureDifAlarmValue);
//
// ImGui::Text(_(u8"箱体压力上限:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.boxPressureUpLimit);
//
// ImGui::Text(_(u8"箱体压力下限:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.boxPressureDownLimit);
//
// ImGui::Text(_(u8"压力量程上限:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.pressureRangeUpLimit);
//
// ImGui::Text(_(u8"压力量程下限:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.pressureRangeDownLimit);
//
// ImGui::Text(_(u8"中效高温报警设值:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f ℃", purifierstatXT.midTempHighSetValue);
//
// ImGui::Text(_(u8"中效超高温报警设值:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f ℃", purifierstatXT.midTempUltraSetValue);
//
// ImGui::Text(_(u8"风机频率过低报警值:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f Hz", m_RunCfg->m_FanFreqLowLimit);
//
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"铺粉风速控制").c_str(), &purifierstatXT.isCoverWind);
// ImGui::Checkbox(_(u8"使用铺粉风速信号").c_str(), &m_RunCfg->m_UseCoverWindSignal);
// ImGui::Checkbox(_(u8"铺粉风速完成信号").c_str(), &m_PurifierShowBean.coverWindSlowFinish);
// ImGui::Checkbox(_(u8"铺粉风速恢复信号").c_str(), &m_PurifierShowBean.coverWindResumeFinish);
// ImGui::PopItemFlag();
//
//
// ImGui::Text(_(u8"铺粉风速比率:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f", m_PurifierShowBean.coverWindSpeedOffset);
//
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"打印换气").c_str(), &m_RunCfg->m_PrintAutoRenewalGas);
// ImGui::Checkbox(_(u8"屏蔽监测压力").c_str(), &m_PurifierShowBean.shieldMonitorPrintPressure);
// ImGui::PopItemFlag();
//
//
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
// ImGui::Text(_(u8"风速计实际值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f", purifierstatXT.anemometerActualValue);
//
// ImGui::Text(_(u8"循环风速:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f M³/H", purifierstatXT.windActualValue);
//
// ImGui::Text(_(u8"风机频率:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f Hz", purifierstatXT.fanFreq);
//
// ImGui::Text(_(u8"除尘系统氧含量:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f %%", purifierstatXT.filterOxygenValue);
//
// ImGui::Text(_(u8"打印室氧含量:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f PPM", purifierstatXT.printOxygenValue);
//
// ImGui::Text(_(u8"滤芯使用总时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u h", purifierstatXT.filterTotalUseTime);
//
//
// ImGui::Text(_(u8"反吹总次数:").c_str()); ImGui::SameLine();
// ImGui::Text("%u", purifierstatXT.bowBackTimes);
//
// ImGui::Text(_(u8"上次反吹后已使用时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u h", purifierstatXT.usedTimeFromlastBowBack);
//
// ImGui::Text(_(u8"箱体本次清洗时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.boxWashTime);
//
// ImGui::Text(_(u8"除尘系统本次清洗时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.filterWashTime);
//
// ImGui::Text(_(u8"风速设定:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f M³/H", purifierstatXT.windSetValue);
//
// ImGui::Text(_(u8"最大风速设定:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f M³/H", purifierstatXT.maxWindSetValue);
//
// ImGui::Text(_(u8"滤芯清洗氧含量设值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f %%", purifierstatXT.filterCleanOxygenSetValue);
//
// ImGui::Text(_(u8"滤芯氧含量报警值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f %%", m_RunCfg->m_FilterOxygenAlarmValue);
//
// ImGui::Text(_(u8"打印室清洗氧含量设值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f PPM", purifierstatXT.printCleanOxygenSetValue);
//
// ImGui::Text(_(u8"打印氧上限设定:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f PPM", purifierstatXT.printOxygenUpSetValue);
//
// ImGui::Text(_(u8"打印氧超上限设定:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f PPM", purifierstatXT.oxygenAlarmValue);
//
// ImGui::Text(_(u8"料斗清理预警时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u h", purifierstatXT.hopperCleanRemind);
//
//
// ImGui::Text(_(u8"打印机清洗滞后:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.boxWashDelayTime);
//
// ImGui::Text(_(u8"除尘系统清洗滞后:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.dedustingWashDelayTime);
//
// ImGui::Text(_(u8"反吹充气时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u s", purifierstatXT.blowBackBlowTime);
//
// ImGui::Text(_(u8"反吹次数:").c_str()); ImGui::SameLine();
// ImGui::Text("%u", purifierstatXT.blowBackSetTimes);
//
// ImGui::Text(_(u8"保压测试时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.ProtectionPressureSetTime);
//
// ImGui::Text(_(u8"心跳:%d").c_str(), purifierstatXT.keepAlive);
//
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
// ImGui::Text(_(u8"中效高温报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.midTempOverLimitAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效超高温报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.midHighTempOverLimitAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"料斗使用时间过长").c_str()); ImGui::SameLine();
// if (purifierstatXT.hopperUseLongTimeAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// if (ImGui::Button(_(u8"料斗报警消除").c_str())) {
// m_Client->ClearHopperAlarm();
// }
//
// ImGui::Text(_(u8"高压不足,阀门异常关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.highPressureLackValveAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"保压测试失败").c_str()); ImGui::SameLine();
// if (purifierstatXT.protectionTestFail)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"变频器报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.inverterAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"旋风罐装满粉").c_str()); ImGui::SameLine();
// if (purifierstatXT.whirlwindJarIsFull)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效进气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midInValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"循环进气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.cycleInValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"循环出气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.cycleOutValueOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"高压气气压不足").c_str()); ImGui::SameLine();
// if (purifierstatXT.highPressureLackAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
//
//
// ImGui::Text(_(u8"保护气气压不足").c_str()); ImGui::SameLine();
// if (purifierstatXT.protectedPressureLackAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效室连接异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midConnectException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"净化舱门打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.carbinDoorOpenException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效滤芯堵塞严重").c_str()); ImGui::SameLine();
// if (purifierstatXT.midFilterBlockAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未打开").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotCloseAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未到位").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotInPosAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未打开").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotCloseAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未到位").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotInPosAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"变频器通讯异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.inverterComException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"风速仪异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.anemometerException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效出气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midOutValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"氧自测试失败").c_str()); ImGui::SameLine();
// if (purifierstatXT.oxygenSelfTestFail)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
//
// ImGui::Text(_(u8"在一键清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isPurifying)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"在除尘:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isDedusting)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"箱体在清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isBoxCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"在反吹:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isBlowBack)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"滤芯在废处理:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isFilterDiscarding)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"滤芯在清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isFilterCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// //ImGui::Text(_(u8"料斗在清洗:").c_str()); ImGui::SameLine();
// //if (purifierstatXT.isHopperCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// //else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程一键清洗").c_str(), purifierstatXT.isPurifying))
// {
// m_Client->SetPurify(!purifierstatXT.isPurifying);
// g_log->TraceInfo(_(u8"更改远程一键清洗:%d").c_str(), !purifierstatXT.isPurifying);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程一键清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程除尘").c_str(), purifierstatXT.isDedusting, !IsLockPurifier()))
// {
// if (!purifierstatXT.isDedusting) {
// if ((g_SystemInfo->m_ComPrintOxygen1 > m_RunCfg->GetOxygenAlarmValue()) || (g_SystemInfo->m_ComPrintOxygen2 > m_RunCfg->GetOxygenAlarmValue())) {
// g_Toast->AddToast(new ToastBean(_(u8"氧含量高于报警值,不能执行循环").c_str(), 3000, Toast::COLOR_RED));
// }
// else {
// m_Client->SetDedust(!purifierstatXT.isDedusting);
// g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// }
// else {
// m_Client->SetDedust(!purifierstatXT.isDedusting);
// g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// //m_Client->SetDedust(!purifierstatXT.isDedusting);
// //g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程除尘").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程滤芯废处理").c_str(), purifierstatXT.isFilterDiscarding))
// {
// if (!purifierstatXT.isFilterDiscarding) {
// ImGui::OpenPopup(_(u8"远程滤芯废处理确认").c_str());
// }
// else {
// m_Client->SetFilterDiscard(!purifierstatXT.isFilterDiscarding);
// }
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程滤芯废处理").c_str());
//
// if (ImGui::BeginPopupModal(_(u8"远程滤芯废处理确认").c_str(), NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize))
// {
// ImGui::Text(_(u8"请确认是否执行远程滤芯废处理?").c_str());
// ImGui::Separator();
// if (ImGui::Button(_(u8"执行").c_str(), ImVec2(80, 0))) {
// m_Client->SetFilterDiscard(true);
// g_log->TraceInfo(_(u8"执行远程滤芯废处理").c_str());
// ImGui::CloseCurrentPopup();
// }
// ImGui::SameLine(0, 80);
// if (ImGui::Button(_(u8"取消").c_str(), ImVec2(80, 0))) {
// ImGui::CloseCurrentPopup();
// }
// ImGui::EndPopup();
// }
//
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程箱体清洗").c_str(), purifierstatXT.isBoxCleaning))
// {
// m_Client->SetBoxClean(!purifierstatXT.isBoxCleaning);
// g_log->TraceInfo(_(u8"更改远程箱体清洗:%d").c_str(), !purifierstatXT.isBoxCleaning);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程箱体清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程滤芯清洗").c_str(), purifierstatXT.isFilterCleaning))
// {
// m_Client->SetFilterClean(!purifierstatXT.isFilterCleaning);
// g_log->TraceInfo(_(u8"更改远程滤芯清洗:%d").c_str(), !purifierstatXT.isFilterCleaning);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程滤芯清洗").c_str());
//
// //ImGui::Dummy(ImVec2(0, 10));
//// if (ImGui::ToggleButton(_(u8"远程料斗清洗").c_str(), purifierstatXT.isHopperCleaning))
//// {
//// m_Client->SetHopperClean(!purifierstatXT.isHopperCleaning);
//// g_log->TraceInfo(_(u8"更改远程料斗清洗:%d").c_str(), !purifierstatXT.isHopperCleaning);
//// }
//// ImGui::SameLine();
//// ImGui::Text(_(u8"远程料斗清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程反吹").c_str(), purifierstatXT.isBlowBack))
// {
// if (!purifierstatXT.isBlowBack) {
// bool isok = true;
// if (!BaseCtrl::IsStandBy()) {
// g_Toast->AddToast(new ToastBean(_(u8"系统在非就绪状态下不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// isok = false;
// }
// if (isok) {
// if (purifierstatXT.IsAlarm()) {
// g_Toast->AddToast(new ToastBean(_(u8"净化器存在报警不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// isok = false;
// }
// }
// if (isok) {
// if ((g_SystemInfo->m_ComPrintOxygen1 > m_RunCfg->GetOxygenAlarmValue()) || (g_SystemInfo->m_ComPrintOxygen2 > m_RunCfg->GetOxygenAlarmValue())) {
// g_Toast->AddToast(new ToastBean(_(u8"氧含量高于报警值,不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// }
// else {
// m_Client->SetBlowBack(!purifierstatXT.isBlowBack);
// g_log->TraceInfo(_(u8"更改远程反吹:%d").c_str(), !purifierstatXT.isBlowBack);
// }
// }
//
// }
// else {
// m_Client->SetBlowBack(!purifierstatXT.isBlowBack);
// g_log->TraceInfo(_(u8"更改远程反吹:%d").c_str(), !purifierstatXT.isBlowBack);
// }
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程反吹").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"测试气密性").c_str(), m_ManualCheckAirTightness)) {
// m_ManualCheckAirTightness = !m_ManualCheckAirTightness;
// g_log->TraceInfo(_(u8"更改测试气密性:%d").c_str(), m_ManualCheckAirTightness);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"测试气密性").c_str());
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::End();
//}
//
//void HBD3Purifier::DrawAdminUI()
//{
// Purifierstat_XT purifierstatXT;
// m_Client->GetStat(purifierstatXT);
// int inputWidth = 80;
// ImGui::Begin(_(u8"净化器").c_str(), &m_PurifierWinShow, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_HorizontalScrollbar);
// ImGui::BeginGroup();
// ImGui::Text(_(u8"净化器端口连接:").c_str()); ImGui::SameLine();
// if (m_Client->IsServerConnected())ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"正常").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"断开").c_str());
//
// ImGui::Text(_(u8"净化器通讯连接:").c_str()); ImGui::SameLine();
// if (purifierstatXT.baseStat.isConnected)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"正常").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"断开").c_str());
//
// ImGui::Text(_(u8"类型:").c_str()); ImGui::SameLine();
// ImGui::Text("%d", purifierstatXT.purifierType);
//
// ImGui::Text(_(u8"锁定:").c_str()); ImGui::SameLine();
// if (!IsLockPurifier())ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
//
// if (IsLockPurifier() && g_Admin > USER_ADMIN) {
// ImGui::SameLine(0, 10);
// if (ImGui::Button(_(u8"解锁").c_str()))
// {
// m_Client->SetUnLock();
// }
// }
// ImGui::Text(_(u8"中效压力值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.midPressureValue);
//
// ImGui::Text(_(u8"中效压差值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.midPressureDifValue);
//
// ImGui::Text(_(u8"高效压差值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f kpa", purifierstatXT.highPressureDifValue);
//
// ImGui::Text(_(u8"中效温度:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f ℃", purifierstatXT.midTemperatureValue);
//
// ImGui::Text(_(u8"中效压差报警设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("midPressureDifAlarmValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.midPressureDifAlarmValue = purifierstatXT.midPressureDifAlarmValue;
// if (ImGui::InputFloatEx("kpa", &m_PurifierShowBean.midPressureDifAlarmValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetMidPressureDifAlarmValue(m_PurifierShowBean.midPressureDifAlarmValue);
// g_log->TraceInfo(_(u8"更改中校压差报警值为:%.2f kpa").c_str(), m_PurifierShowBean.midPressureDifAlarmValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"高效压差报警设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("highPressureDifAlarmValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.highPressureDifAlarmValue = purifierstatXT.highPressureDifAlarmValue;
// if (ImGui::InputFloatEx("kpa", &m_PurifierShowBean.highPressureDifAlarmValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetHighPressureDifAlarmValue(m_PurifierShowBean.highPressureDifAlarmValue);
// g_log->TraceInfo(_(u8"更改高效压差报警设值:%.2f").c_str(), m_PurifierShowBean.highPressureDifAlarmValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"箱体压力上限:").c_str()); ImGui::SameLine();
// ImGui::PushID("boxPressureUpLimit");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.boxPressureUpLimit = purifierstatXT.boxPressureUpLimit;
// if (ImGui::InputFloatEx("kpa", &m_PurifierShowBean.boxPressureUpLimit, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetBoxPressureUpLimit(m_PurifierShowBean.boxPressureUpLimit);
// g_log->TraceInfo(_(u8"更改箱体压力上限:%.2f").c_str(), m_PurifierShowBean.boxPressureUpLimit);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"箱体压力下限:").c_str()); ImGui::SameLine();
// ImGui::PushID("boxPressureDownLimit");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.boxPressureDownLimit = purifierstatXT.boxPressureDownLimit;
// if (ImGui::InputFloatEx("kpa", &m_PurifierShowBean.boxPressureDownLimit, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetBoxPressureDownLimit(m_PurifierShowBean.boxPressureDownLimit);
// g_log->TraceInfo(_(u8"更改箱体压力下限:%.2f").c_str(), m_PurifierShowBean.boxPressureDownLimit);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"中效高温报警设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("midTempHighSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.midTempHighSetValue = purifierstatXT.midTempHighSetValue;
// if (ImGui::InputFloatEx(u8"℃", &m_PurifierShowBean.midTempHighSetValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetMidTempHighSetValue(m_PurifierShowBean.midTempHighSetValue);
// g_log->TraceInfo(_(u8"更改中效高温报警设值:%.2f").c_str(), m_PurifierShowBean.midTempHighSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"中效超高温报警设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("midTempUltraSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.midTempUltraSetValue = purifierstatXT.midTempUltraSetValue;
// if (ImGui::InputFloatEx(u8"℃", &m_PurifierShowBean.midTempUltraSetValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetMidTempUltraSetValue(m_PurifierShowBean.midTempUltraSetValue);
// g_log->TraceInfo(_(u8"更改中效超高温报警设值:%.2f").c_str(), m_PurifierShowBean.midTempUltraSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
//
// ImGui::Text(_(u8"风机频率过低报警值:").c_str()); ImGui::SameLine();
// ImGui::PushID("fanFreqLowAlarm");
// ImGui::PushItemWidth(inputWidth);
// if (ImGui::InputFloatEx("Hz", &m_RunCfg->m_FanFreqLowLimit, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue))
// {
// //g_log->TraceInfo(_(u8"更新风机频率报警值:%.2f").c_str(), m_RunCfg->m_FanFreqAlarmValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
//
// if (g_Admin > USER_ADMIN) {
// m_PurifierShowBean.isCoverWind = purifierstatXT.isCoverWind;
// if (ImGui::Checkbox(_(u8"铺粉风速控制").c_str(), &m_PurifierShowBean.isCoverWind))
// {
// m_Client->SetCoverWind(m_PurifierShowBean.isCoverWind);
// }
// }
// else {
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"铺粉风速控制").c_str(), &purifierstatXT.isCoverWind);
// ImGui::PopItemFlag();
// }
//
// ImGui::Checkbox(_(u8"使用铺粉风速信号").c_str(), &m_RunCfg->m_UseCoverWindSignal);
// if (g_Admin > USER_ADMIN) {
// m_PurifierShowBean.coverWindSlowFinish = purifierstatXT.coverWindSlowFinish;
// if (ImGui::Checkbox(_(u8"铺粉风速完成信号").c_str(), &m_PurifierShowBean.coverWindSlowFinish))
// {
// m_Client->SetWindSlowFinishSignal(m_PurifierShowBean.coverWindSlowFinish);
// }
// m_PurifierShowBean.coverWindResumeFinish = purifierstatXT.coverWindResumeFinish;
// if (ImGui::Checkbox(_(u8"铺粉风速恢复信号").c_str(), &m_PurifierShowBean.coverWindResumeFinish))
// {
// m_Client->SetWindResumeFinishSignal(m_PurifierShowBean.coverWindResumeFinish);
// }
// }
// else {
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"铺粉风速完成信号").c_str(), &purifierstatXT.coverWindSlowFinish);
// ImGui::PopItemFlag();
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"铺粉风速恢复信号").c_str(), &purifierstatXT.coverWindResumeFinish);
// ImGui::PopItemFlag();
// }
//
// ImGui::Text(_(u8"铺粉风速比率:").c_str()); ImGui::SameLine();
// ImGui::PushID("coverWindSpeedOffset");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.coverWindSpeedOffset = purifierstatXT.coverWindSpeedOffset * 100.0f;
// if (ImGui::InputFloatEx(u8"%", &m_PurifierShowBean.coverWindSpeedOffset, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetCoverWindOffset(m_PurifierShowBean.coverWindSpeedOffset / 100.0f);
// g_log->TraceInfo(_(u8"更改铺粉变风速比率:%.2f").c_str(), m_PurifierShowBean.coverWindSpeedOffset);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Checkbox(_(u8"打印换气").c_str(), &m_RunCfg->m_PrintAutoRenewalGas);
// if (g_Admin > USER_ADMIN) {
// m_PurifierShowBean.shieldMonitorPrintPressure = purifierstatXT.shieldMonitorPrintPressure;
// if (ImGui::Checkbox(_(u8"屏蔽监测压力").c_str(), &m_PurifierShowBean.shieldMonitorPrintPressure))
// {
// m_Client->SetShieldMonitorPrintPressure(m_PurifierShowBean.shieldMonitorPrintPressure);
// }
// }
// else {
// ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);
// ImGui::Checkbox(_(u8"屏蔽监测压力").c_str(), &purifierstatXT.shieldMonitorPrintPressure);
// ImGui::PopItemFlag();
// }
// //ImGui::Text(_(u8"当前除氧时长:").c_str()); ImGui::SameLine();
// //ImGui::Text(u8"%.2f min", m_LastDeoxygenTime);
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
// ImGui::Text(_(u8"风速计实际值:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f", purifierstatXT.anemometerActualValue);
//
// ImGui::Text(_(u8"循环风速:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f M³/H", purifierstatXT.windActualValue);
//
// ImGui::Text(_(u8"风机频率:").c_str()); ImGui::SameLine();
// ImGui::Text(u8"%.2f Hz", purifierstatXT.fanFreq);
//
// ImGui::Text(_(u8"除尘系统氧含量:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f %%", purifierstatXT.filterOxygenValue);
//
// ImGui::Text(_(u8"打印室氧含量:").c_str()); ImGui::SameLine();
// ImGui::Text("%.2f PPM", purifierstatXT.printOxygenValue);
//
// ImGui::Text(_(u8"滤芯使用总时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u h", purifierstatXT.filterTotalUseTime);
//
// ImGui::SameLine();
// ImGui::PushID("resetFilterTime");
// if (ImGui::Button(_(u8"重置").c_str())) {
// m_Client->ResetFilterTime();
// g_log->TraceInfo(_(u8"虑芯使用时间清零").c_str());
// }
// ImGui::PopID();
//
//
// ImGui::Text(_(u8"反吹总次数:").c_str()); ImGui::SameLine();
// ImGui::Text("%u", purifierstatXT.bowBackTimes);
//
// ImGui::Text(_(u8"上次反吹后已使用时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u h", purifierstatXT.usedTimeFromlastBowBack);
//
// ImGui::Text(_(u8"箱体本次清洗时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.boxWashTime);
//
// ImGui::Text(_(u8"除尘系统本次清洗时间:").c_str()); ImGui::SameLine();
// ImGui::Text("%u min", purifierstatXT.filterWashTime);
//
//
// ImGui::Text(_(u8"风速设定:").c_str()); ImGui::SameLine();
// ImGui::PushID("windSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.windSetValue = purifierstatXT.windSetValue;
// if (ImGui::InputFloatEx(u8"M³/H", &m_PurifierShowBean.windSetValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.windSetValue <= 0.0f)m_PurifierShowBean.windSetValue = 1.0f;
// if (m_PurifierShowBean.windSetValue > purifierstatXT.maxWindSetValue)m_PurifierShowBean.windSetValue = purifierstatXT.maxWindSetValue;
//
// m_AlarmCfgWrapper->m_WindOverLimitJudgeFlag = 0;
//
// m_Client->SetWindValue(m_PurifierShowBean.windSetValue);
// g_log->TraceInfo(_(u8"更改风速设定:%.2f").c_str(), m_PurifierShowBean.windSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"最大风速设定:").c_str()); ImGui::SameLine();
// ImGui::PushID("maxWindSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.maxWindSetValue = purifierstatXT.maxWindSetValue;
// if (ImGui::InputFloatEx(u8"M³/H", &m_PurifierShowBean.maxWindSetValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.maxWindSetValue <= purifierstatXT.windSetValue)m_PurifierShowBean.maxWindSetValue = purifierstatXT.windSetValue;
// m_Client->SetMaxWindValue(m_PurifierShowBean.maxWindSetValue);
// g_log->TraceInfo(_(u8"更改最大风速设定:%.2f").c_str(), m_PurifierShowBean.maxWindSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"滤芯清洗氧含量设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("filterCleanOxygenSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.filterCleanOxygenSetValue = purifierstatXT.filterCleanOxygenSetValue;
// if (ImGui::InputFloatEx("%", &m_PurifierShowBean.filterCleanOxygenSetValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.filterCleanOxygenSetValue < 0)m_PurifierShowBean.filterCleanOxygenSetValue = 0;
// m_Client->SetfilterCleanOxygenSetValue(m_PurifierShowBean.filterCleanOxygenSetValue);
// g_log->TraceInfo(_(u8"更改虑芯清洗氧含量设值:%.2f").c_str(), m_PurifierShowBean.filterCleanOxygenSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"滤芯氧含量报警值:").c_str()); ImGui::SameLine();
// ImGui::PushID("filterCleanOxygenAlarmValue");
// ImGui::PushItemWidth(inputWidth);
// //m_PurifierShowBean.filterCleanOxygenSetValue = purifierstatXT.filterCleanOxygenSetValue;
// if (ImGui::InputFloatEx("%", &m_RunCfg->m_FilterOxygenAlarmValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_RunCfg->m_FilterOxygenAlarmValue < purifierstatXT.filterCleanOxygenSetValue)m_RunCfg->m_FilterOxygenAlarmValue = purifierstatXT.filterCleanOxygenSetValue + 0.1f;
// //g_log->TraceInfo(_(u8"更改虑芯清洗氧含量设值:%.2f").c_str(), m_PurifierShowBean.filterCleanOxygenSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"打印室清洗氧含量设值:").c_str()); ImGui::SameLine();
// ImGui::PushID("printCleanOxygenSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.printCleanOxygenSetValue = purifierstatXT.printCleanOxygenSetValue;
// if (ImGui::InputFloatEx("PPM", &m_PurifierShowBean.printCleanOxygenSetValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.printCleanOxygenSetValue < 0)m_PurifierShowBean.printCleanOxygenSetValue = 0;
// m_Client->SetPrintCleanOxygenSetValue(m_PurifierShowBean.printCleanOxygenSetValue);
// g_log->TraceInfo(_(u8"更改打印室清洗氧含量设值:%.2f").c_str(), m_PurifierShowBean.printCleanOxygenSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"打印氧上限设定:").c_str()); ImGui::SameLine();
// ImGui::PushID("printOxygenUpSetValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.printOxygenUpSetValue = purifierstatXT.printOxygenUpSetValue;
// if (ImGui::InputFloatEx("PPM", &m_PurifierShowBean.printOxygenUpSetValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.printOxygenUpSetValue < 0)m_PurifierShowBean.printOxygenUpSetValue = 0;
// m_Client->SetPrintOxygenUpSetValue(m_PurifierShowBean.printOxygenUpSetValue);
// g_log->TraceInfo(_(u8"更改打印氧上限设定:%.2f").c_str(), m_PurifierShowBean.printOxygenUpSetValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"打印氧超上限设定:").c_str()); ImGui::SameLine();
// ImGui::PushID("oxygenAlarmValue");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.oxygenAlarmValue = purifierstatXT.oxygenAlarmValue;
// if (ImGui::InputFloatEx("PPM", &m_PurifierShowBean.oxygenAlarmValue, 0, 0, 2, ImGuiInputTextFlags_EnterReturnsTrue)) {
// if (m_PurifierShowBean.oxygenAlarmValue < 0)m_PurifierShowBean.oxygenAlarmValue = 0;
// m_Client->SetOxygenAlarmValue(m_PurifierShowBean.oxygenAlarmValue);
// g_log->TraceInfo(_(u8"更改打印氧超上限设定:%.2f").c_str(), m_PurifierShowBean.oxygenAlarmValue);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"料斗清理预警时间:").c_str()); ImGui::SameLine();
// ImGui::PushID("hopperCleanRemind");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.hopperCleanRemind = purifierstatXT.hopperCleanRemind;
// if (ImGui::InputScalarEx("h", ImGuiDataType_U16, &m_PurifierShowBean.hopperCleanRemind, 0, 0, "%u", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetHopperCleanRemind(m_PurifierShowBean.hopperCleanRemind);
// g_log->TraceInfo(_(u8"更改料斗清理预警时间:%u").c_str(), m_PurifierShowBean.hopperCleanRemind);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"反吹充气时间:").c_str()); ImGui::SameLine();
// ImGui::PushID("blowBackBlowTime");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.blowBackBlowTime = purifierstatXT.blowBackBlowTime;
// if (ImGui::InputScalarEx("s", ImGuiDataType_U16, &m_PurifierShowBean.blowBackBlowTime, 0, 0, "%u", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetBlowBackBlowTime(m_PurifierShowBean.blowBackBlowTime);
// //g_log->TraceInfo(_(u8"更改料斗清理预警时间:%u").c_str(), m_PurifierShowBean.hopperCleanRemind);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"反吹次数:").c_str()); ImGui::SameLine();
// ImGui::PushID("blowBackSetTimes");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.blowBackSetTimes = purifierstatXT.blowBackSetTimes;
// if (ImGui::InputScalarEx("", ImGuiDataType_U16, &m_PurifierShowBean.blowBackSetTimes, 0, 0, "%u", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetBlowBackSetTimes(m_PurifierShowBean.blowBackSetTimes);
// //g_log->TraceInfo(_(u8"更改料斗清理预警时间:%u").c_str(), m_PurifierShowBean.hopperCleanRemind);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
// ImGui::Text(_(u8"保压测试时间:").c_str()); ImGui::SameLine();
// ImGui::PushID("ProtectionPressureSetTime");
// ImGui::PushItemWidth(inputWidth);
// m_PurifierShowBean.ProtectionPressureSetTime = purifierstatXT.ProtectionPressureSetTime;
// if (ImGui::InputScalarEx("min", ImGuiDataType_U16, &m_PurifierShowBean.ProtectionPressureSetTime, 0, 0, "%u", ImGuiInputTextFlags_EnterReturnsTrue)) {
// m_Client->SetProtectionPressureSetTime(m_PurifierShowBean.ProtectionPressureSetTime);
// //g_log->TraceInfo(_(u8"更改料斗清理预警时间:%u").c_str(), m_PurifierShowBean.hopperCleanRemind);
// }
// ImGui::PopItemWidth();
// ImGui::PopID();
//
//
// ImGui::Text(_(u8"心跳:%d").c_str(), purifierstatXT.keepAlive);
//
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
// ImGui::Text(_(u8"中效高温报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.midTempOverLimitAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效超高温报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.midHighTempOverLimitAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"料斗使用时间过长").c_str()); ImGui::SameLine();
// if (purifierstatXT.hopperUseLongTimeAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// if (ImGui::Button(_(u8"料斗报警消除").c_str())) {
// m_Client->ClearHopperAlarm();
// }
//
// ImGui::Text(_(u8"高压不足,阀门异常关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.highPressureLackValveAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"保压测试失败").c_str()); ImGui::SameLine();
// if (purifierstatXT.protectionTestFail)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"变频器报警").c_str()); ImGui::SameLine();
// if (purifierstatXT.inverterAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"旋风罐装满粉").c_str()); ImGui::SameLine();
// if (purifierstatXT.whirlwindJarIsFull)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效进气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midInValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"循环进气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.cycleInValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"循环出气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.cycleOutValueOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"高压气气压不足").c_str()); ImGui::SameLine();
// if (purifierstatXT.highPressureLackAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
//
//
// ImGui::Text(_(u8"保护气气压不足").c_str()); ImGui::SameLine();
// if (purifierstatXT.protectedPressureLackAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效室连接异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midConnectException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"净化舱门打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.carbinDoorOpenException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效滤芯堵塞严重").c_str()); ImGui::SameLine();
// if (purifierstatXT.midFilterBlockAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未打开").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotCloseAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"总排气阀未到位").c_str()); ImGui::SameLine();
// if (purifierstatXT.busOutValveNotInPosAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未打开").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未关闭").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotCloseAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"打印排气阀未到位").c_str()); ImGui::SameLine();
// if (purifierstatXT.printOutValveNotInPosAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"变频器通讯异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.inverterComException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"风速仪异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.anemometerException)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"中效出气阀打开异常").c_str()); ImGui::SameLine();
// if (purifierstatXT.midOutValveOpenAlarm)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"氧自测试失败").c_str()); ImGui::SameLine();
// if (purifierstatXT.oxygenSelfTestFail)ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"否").c_str());
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
//
// ImGui::BeginGroup();
//
// ImGui::Text(_(u8"在一键清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isPurifying)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"在除尘:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isDedusting)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"箱体在清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isBoxCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"在反吹:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isBlowBack)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"滤芯在废处理:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isFilterDiscarding)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"滤芯在清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isFilterCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Text(_(u8"料斗在清洗:").c_str()); ImGui::SameLine();
// if (purifierstatXT.isHopperCleaning)ImGui::TextColored(ImVec4(0.0, 1.0, 0.0, 1.0), _(u8"是").c_str());
// else ImGui::TextColored(ImVec4(1.0, 0.0, 0.0, 1.0), _(u8"否").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程一键清洗").c_str(), purifierstatXT.isPurifying))
// {
// m_Client->SetPurify(!purifierstatXT.isPurifying);
// g_log->TraceInfo(_(u8"更改远程一键清洗:%d").c_str(), !purifierstatXT.isPurifying);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程一键清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程除尘").c_str(), purifierstatXT.isDedusting, !IsLockPurifier()))
// {
// if (!purifierstatXT.isDedusting) {
// if ((g_SystemInfo->m_ComPrintOxygen1 > m_RunCfg->GetOxygenAlarmValue()) || (g_SystemInfo->m_ComPrintOxygen2 > m_RunCfg->GetOxygenAlarmValue())) {
// g_Toast->AddToast(new ToastBean(_(u8"氧含量高于报警值,不能执行循环").c_str(), 3000, Toast::COLOR_RED));
// }
// else {
// m_Client->SetDedust(!purifierstatXT.isDedusting);
// g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// }
// else {
// m_Client->SetDedust(!purifierstatXT.isDedusting);
// g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// //m_Client->SetDedust(!purifierstatXT.isDedusting);
// //g_log->TraceInfo(_(u8"更改远程除尘:%d").c_str(), !purifierstatXT.isDedusting);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程除尘").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程滤芯废处理").c_str(), purifierstatXT.isFilterDiscarding))
// {
// if (!purifierstatXT.isFilterDiscarding) {
// ImGui::OpenPopup(_(u8"远程滤芯废处理确认").c_str());
// }
// else {
// m_Client->SetFilterDiscard(!purifierstatXT.isFilterDiscarding);
// }
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程滤芯废处理").c_str());
//
// if (ImGui::BeginPopupModal(_(u8"远程滤芯废处理确认").c_str(), NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize))
// {
// ImGui::Text(_(u8"请确认是否执行远程滤芯废处理?").c_str());
// ImGui::Separator();
// if (ImGui::Button(_(u8"执行").c_str(), ImVec2(80, 0))) {
// m_Client->SetFilterDiscard(true);
// g_log->TraceInfo(_(u8"执行远程滤芯废处理").c_str());
// ImGui::CloseCurrentPopup();
// }
// ImGui::SameLine(0, 80);
// if (ImGui::Button(_(u8"取消").c_str(), ImVec2(80, 0))) {
// ImGui::CloseCurrentPopup();
// }
// ImGui::EndPopup();
// }
//
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程箱体清洗").c_str(), purifierstatXT.isBoxCleaning))
// {
// m_Client->SetBoxClean(!purifierstatXT.isBoxCleaning);
// g_log->TraceInfo(_(u8"更改远程箱体清洗:%d").c_str(), !purifierstatXT.isBoxCleaning);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程箱体清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程滤芯清洗").c_str(), purifierstatXT.isFilterCleaning))
// {
// m_Client->SetFilterClean(!purifierstatXT.isFilterCleaning);
// g_log->TraceInfo(_(u8"更改远程滤芯清洗:%d").c_str(), !purifierstatXT.isFilterCleaning);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程滤芯清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程料斗清洗").c_str(), purifierstatXT.isHopperCleaning))
// {
// m_Client->SetHopperClean(!purifierstatXT.isHopperCleaning);
// g_log->TraceInfo(_(u8"更改远程料斗清洗:%d").c_str(), !purifierstatXT.isHopperCleaning);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程料斗清洗").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"远程反吹").c_str(), purifierstatXT.isBlowBack))
// {
// if (!purifierstatXT.isBlowBack) {
// bool isok = true;
// if (!BaseCtrl::IsStandBy()) {
// g_Toast->AddToast(new ToastBean(_(u8"系统在非就绪状态下不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// isok = false;
// }
// if (isok) {
// if (purifierstatXT.IsAlarm()) {
// g_Toast->AddToast(new ToastBean(_(u8"净化器存在报警不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// isok = false;
// }
// }
// if (isok) {
// if ((g_SystemInfo->m_ComPrintOxygen1 > m_RunCfg->GetOxygenAlarmValue()) || (g_SystemInfo->m_ComPrintOxygen2 > m_RunCfg->GetOxygenAlarmValue())) {
// g_Toast->AddToast(new ToastBean(_(u8"氧含量高于报警值,不能执行反吹").c_str(), 4000, Toast::COLOR_RED));
// }
// else {
// m_Client->SetBlowBack(!purifierstatXT.isBlowBack);
// g_log->TraceInfo(_(u8"更改远程反吹:%d").c_str(), !purifierstatXT.isBlowBack);
// }
// }
//
// }
// else {
// m_Client->SetBlowBack(!purifierstatXT.isBlowBack);
// g_log->TraceInfo(_(u8"更改远程反吹:%d").c_str(), !purifierstatXT.isBlowBack);
// }
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"远程反吹").c_str());
//
// ImGui::Dummy(ImVec2(0, 10));
// if (ImGui::ToggleButton(_(u8"测试气密性").c_str(), m_ManualCheckAirTightness)) {
// m_ManualCheckAirTightness = !m_ManualCheckAirTightness;
// g_log->TraceInfo(_(u8"更改测试气密性:%d").c_str(), m_ManualCheckAirTightness);
// }
// ImGui::SameLine();
// ImGui::Text(_(u8"测试气密性").c_str());
// ImGui::EndGroup();
// ImGui::SameLine(0, 20);
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::End();
//}
void HBD3Purifier::CheckInternalAlarm()
{
if (!m_AlarmCfgWrapper->m_PurifierInternalAlarm)return;
bool hasAlarm = false;
stringstream ss;
if (m_State.midTempOverLimitAlarm)
{
ss << _(u8"中效高温报警").c_str() << "\n";
hasAlarm = true;
}
if (m_State.midHighTempOverLimitAlarm)
{
ss << _(u8"中效超高温报警").c_str() << "\n";
hasAlarm = true;
}
if (m_State.highPressureLackValveAlarm)
{
ss << _(u8"高压不足,阀门异常关闭").c_str() << "\n";
hasAlarm = true;
}
if (m_State.inverterAlarm)
{
ss << _(u8"变频器报警").c_str() << "\n";
hasAlarm = true;
}
if (m_State.cycleInValveOpenAlarm)
{
ss << _(u8"循环进气阀打开异常").c_str() << "\n";
hasAlarm = true;
}
if (m_State.cycleOutValueOpenAlarm)
{
ss << _(u8"循环出气阀打开异常").c_str() << "\n";
hasAlarm = true;
}
if (hasAlarm)
{
m_AlarmCfgWrapper->m_PurifierInternalAlarm->m_AlarmInfo = ss.str().c_str();
SignalService::GetInstance().SetAlarm(m_AlarmCfgWrapper->m_PurifierInternalAlarm, true);
}
else {
m_AlarmCfgWrapper->m_PurifierInternalAlarm->m_AlarmInfo = "";
SignalService::GetInstance().SetAlarm(m_AlarmCfgWrapper->m_PurifierInternalAlarm, false);
}
}