From 7ae804762eced0168dfc951b4ff027514b3c7ff7 Mon Sep 17 00:00:00 2001 From: byloveletter Date: Mon, 22 May 2017 20:57:22 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=83=81=ED=99=A9=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 30057 에러 상황 추가 --- app/gui/oven_control/ovenstatics.cpp | 43 +++++++++++++++++++++++++++++++++++- app/gui/oven_control/ovenstatics.h | 17 ++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/app/gui/oven_control/ovenstatics.cpp b/app/gui/oven_control/ovenstatics.cpp index d51a525..3d3f66a 100644 --- a/app/gui/oven_control/ovenstatics.cpp +++ b/app/gui/oven_control/ovenstatics.cpp @@ -101,7 +101,7 @@ void OvenStatistics::onDataChanged() errstatetemp = state.controller_error; if(errstatetemp != 0 && errstatetemp != curControlErrorState){ - + processStateError(errstatetemp,ltime); } curControlErrorState = errstatetemp; @@ -223,6 +223,47 @@ void OvenStatistics::processCommError(uint16_t errflag, time_t ltime){ } } +void OvenStatistics::processStateError(uint16_t errflag, time_t ltime){ + error_item *item; + QString strMsg = "",strTitle=""; + uint8_t state; + if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF; + else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF; + else if(control.system !=0 && oven->cooking()) state = SYS_ON_COOK_ON; + else state = SYS_ON_COOK_OFF; + + if(errflag & MAKE_MASK(STATE_ERR_BUNNER1)){ + item = &(srvdata->err_log.items.upper_pan_fail); + strMsg = tr("버너컨트롤러 1 이상 발생하였습니다."); + strTitle = tr("버너컨트롤러 1 이상 발생"); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER1],strMsg,strTitle, ltime); + } + if(errflag & MAKE_MASK(STATE_ERR_BUNNER2)){ + item = &(srvdata->err_log.items.lower_pan_fail); + strMsg = tr("버너컨트롤러 2 이상 발생하였습니다."); + strTitle = tr("버너컨트롤러 2 이상 발생"); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + } + if(errflag & MAKE_MASK(STATE_ERR_BUNNER3)){ + item = &(srvdata->err_log.items.steam_pan_fail); + strMsg = tr("버너컨트롤러 3 이상 발생하였습니다."); + strTitle = tr("버너컨트로러 3 이상 발생"); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER3],strMsg,strTitle, ltime); + } + if(errflag & MAKE_MASK(STATE_ERR_LOWERFAN)){ + item = &(srvdata->err_log.items.lower_motor_fail); + strMsg = tr("하부 FAN 컨트롤러 이상 발생하였습니다."); + strTitle = tr("하부 FAN 컨트롤러 이상 발생"); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + } + if(errflag & MAKE_MASK(STATE_ERR_UPPERFAN)){ + item = &(srvdata->err_log.items.upper_motor_fail); + strMsg = tr("상부 FAN 컨트롤러 이상 발생하였습니다."); + strTitle = tr("상부 FAN 컨트롤러 이상 발생"); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + } +} + void OvenStatistics::processSystemError(uint16_t errflag,time_t ltime){ error_item *item; QString strMsg = "",strTitle = ""; diff --git a/app/gui/oven_control/ovenstatics.h b/app/gui/oven_control/ovenstatics.h index aa06136..d2923c0 100644 --- a/app/gui/oven_control/ovenstatics.h +++ b/app/gui/oven_control/ovenstatics.h @@ -21,6 +21,7 @@ #define COMM_ERR_MAX 5 +#define STATE_ERR_MAX 5 #define COMM_ERR_MASK_ERR_CLEAR_COOKING 0x0000 @@ -108,6 +109,14 @@ enum comm_err_id{ COMM_ERR_LOWERFAN }; +enum state_err_id{ + STATE_ERR_BUNNER1 =0, + STATE_ERR_BUNNER2 , + STATE_ERR_BUNNER3 , + STATE_ERR_UPPERFAN , + STATE_ERR_LOWERFAN +}; + enum sensor_err_id{ SENSOR_ERR_SENSOR_1 =0, SENSOR_ERR_SENSOR_2 , @@ -207,6 +216,13 @@ private: {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_ON }; + const error_exe_type state_err_type_def[SYS_STATE_MAX][STATE_ERR_MAX] ={\ + {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr}, //SYS_OFF_COO_OFF + {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr}, //SYS_ON_COO_OFF + {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr}, //SYS_ON_COO_ON + {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_popnonclr}, //SYS_OFF_COO_ON + }; + const error_exe_type sensor_err_type_def[SYS_STATE_MAX][SENSOR_ERR_MAX]={ {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk, error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_OFF state @@ -253,6 +269,7 @@ private: void processSystemError(uint16_t errflag,time_t ltime); void processCommError(uint16_t errflag,time_t ltime); void processSensorError(uint16_t errflag, time_t ltime); + void processStateError(uint16_t errflat, time_t ltime); void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime); -- 2.1.4