|
|
@ -123,21 +123,20 @@ void AddLiquidService::addLiquidWork(int stopatg, bool& errorflag) { |
|
|
|
/**
|
|
|
|
* @brief 停止加液 |
|
|
|
*/ |
|
|
|
logger->info("stop add liquid"); |
|
|
|
m_dics->AddLiquidPump_stop(); |
|
|
|
thisThread.sleepForMs(2500); |
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief 选择排空管路通道 |
|
|
|
*/ |
|
|
|
logger->info("start drain the liquid from the line"); |
|
|
|
m_workstate = kemptyLineLiquid; |
|
|
|
usleep(1500 * 1000); |
|
|
|
m_dics->setAddFluidChannelSelectorValve(false); |
|
|
|
m_dics->AddLiquidPump_run(-GET_SETTING(int, SettingId::drainage_pump_speed)); |
|
|
|
|
|
|
|
// 等待 30s 排空管路
|
|
|
|
for (size_t i = 0; i < EMTPTY_LINE_WHEN_ADDING_DISINFECTANT_TIMES; i++) { |
|
|
|
if (thisThread.getExitFlag()) break; |
|
|
|
thisThread.sleepForMs(100); |
|
|
|
usleep(1000 * 100); |
|
|
|
if (i % 10 == 0) logger->info("empty line liquid {}:{} s", i * 100 / 1000, EMTPTY_LINE_WHEN_ADDING_DISINFECTANT_TIMES * 100 / 1000.0); |
|
|
|
} |
|
|
|
m_dics->AddLiquidPump_stop(); |
|
|
@ -145,14 +144,12 @@ void AddLiquidService::addLiquidWork(int stopatg, bool& errorflag) { |
|
|
|
|
|
|
|
void AddLiquidService::stop() { |
|
|
|
lock_guard<recursive_mutex> lock(lock_); |
|
|
|
if (m_workstate == kidle) { |
|
|
|
if (m_workstate == kidle || m_workstate == kemptyLineLiquid) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
m_workstate = kidle; |
|
|
|
if (m_thread) { |
|
|
|
m_thread->join(); |
|
|
|
m_thread = nullptr; |
|
|
|
if (m_thread && !m_thread->getExitFlag()) { |
|
|
|
m_thread->stopNoBlock(); |
|
|
|
} |
|
|
|
logger->info("stoped add liquid"); |
|
|
|
} |
|
|
|