diff --git a/app/app-prime-modbus/app/app-prime-modbus/main_controller.c b/app/app-prime-modbus/app/app-prime-modbus/main_controller.c index d9231ae..c585008 100644 --- a/app/app-prime-modbus/app/app-prime-modbus/main_controller.c +++ b/app/app-prime-modbus/app/app-prime-modbus/main_controller.c @@ -121,10 +121,10 @@ int on_stdin_read( poll_obj_t *obj ) @return -----------------------------------------------------------------------------*/ static int main_initialize(){ - poll_obj_t *obj; + // poll_obj_t *obj; - obj = poll_add( fileno(stdin) ); // 디버깅을 위한 키보드 입력을 받는다. - obj->on_poll_in = on_stdin_read; + // obj = poll_add( fileno(stdin) ); // 디버깅을 위한 키보드 입력을 받는다. + // obj->on_poll_in = on_stdin_read; return 0; } diff --git a/app/gui/oven_control/adjustmentwindow.cpp b/app/gui/oven_control/adjustmentwindow.cpp index 116f27e..54916f0 100644 --- a/app/gui/oven_control/adjustmentwindow.cpp +++ b/app/gui/oven_control/adjustmentwindow.cpp @@ -6,6 +6,7 @@ #include "notipopupdlg.h" #include "touchtestwindow.h" #include "dirtylevel.h" +#include "ovenstatics.h" AdjustmentWindow::AdjustmentWindow(QWidget *parent) : QMainWindow(parent), @@ -149,6 +150,8 @@ void AdjustmentWindow::on_btnAdjust_LCD_clicked() void AdjustmentWindow::on_btnClearWashData_clicked() { - DirtyLevel::setCookingTime(0); - DirtyLevel::setCookingCount(0); +// DirtyLevel::setCookingTime(0); +// DirtyLevel::setCookingCount(0); + OvenStatistics::getInstance()->setTotalCookingCount(0,false); + OvenStatistics::getInstance()->setTotalCookingTime(0, true); } diff --git a/app/gui/oven_control/config.cpp b/app/gui/oven_control/config.cpp index ff4584e..9d6c107 100644 --- a/app/gui/oven_control/config.cpp +++ b/app/gui/oven_control/config.cpp @@ -148,7 +148,7 @@ bool Config::saveConfig(void){ qint64 writelen; QFile file(CONFIG_FILE_NAME);+ memcpy(buff, configlist.data, sizeof(config_lists)); - buff[sizeof(config_lists)] = 0x9C; + buff[sizeof(config_lists)] = CONFIG_FILE_VER; if(file.open(QIODevice::WriteOnly)){ writelen = file.write(buff,sizeof(config_lists)+1); file.close(); @@ -163,27 +163,28 @@ bool Config::saveConfig(void){ } bool Config::loadConfig(){ - uint8_t buff[sizeof(config_lists)+1]; + uint8_t buff[2048]; qint64 readlen; QFile file(CONFIG_FILE_NAME); initConfig(); if(file.open(QIODevice::ReadOnly)){ - readlen = file.read((char *) buff,sizeof(config_lists)+1); + readlen = file.read((char *) buff,2048); file.close(); - if(readlen != (sizeof(configlist)+1)){ - //File size is wrong. apply default config value & save default value; - qDebug() << "config file size wrone, apply defult setting!"; - saveConfig(); - return false; + + if(buff[readlen-1] != CONFIG_FILE_VER){ + //File ver 0x9C + if(readlen < (sizeof(config_lists)+1)){ + memcpy(configlist.data, buff, readlen); + } + else{ + saveConfig(); + return false; + } } - if (buff[sizeof(config_lists)] ==0x9c){ + else if(buff[readlen-1] == CONFIG_FILE_VER){ memcpy(configlist.data,buff,sizeof(config_lists)); qDebug() << "loading config file success"; - } - else { - qDebug()<<"loading config file fail"; - saveConfig(); - return false; + return true; } } else{ @@ -286,7 +287,9 @@ QString Config::getValueString(Define::ConfigType idx){ qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].f32); break; case 2: + //if(idx == config_anti_freeze) idx = config_enter_engineer_mode; qstrTemp = tr(config_format[(uint32_t)idx]); + qDebug() << "Value String " << idx << qstrTemp; break; case 3: //qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32+1); diff --git a/app/gui/oven_control/config.h b/app/gui/oven_control/config.h index 5ce2154..8716212 100644 --- a/app/gui/oven_control/config.h +++ b/app/gui/oven_control/config.h @@ -9,7 +9,7 @@ #define STRUCT_PACK __attribute__ ((packed)) -#define MAX_CONFIG_COUNT 54 +#define MAX_CONFIG_COUNT 56 #define MAX_SOFTWARE_INFO_CNT 7 #define MAX_HOTLINE_CHEF_CNT 3 #define MAX_HOTLINE_SERVICE_CNT 2 @@ -25,6 +25,8 @@ #define DEFAULT_PRODUCT_SERIAL "0123" +#define CONFIG_FILE_VER 0x9D + static const char rest_time_type_menu[2][16] = { QT_TRANSLATE_NOOP("Config","잔여시간\0"), QT_TRANSLATE_NOOP("Config","타겟시간\0") @@ -143,7 +145,7 @@ namespace Define config_ilc_rack_number, config_ilc_rack_sequnece, config_ilc_cook_wait_time, - config_cooktime_format, + config_cooktime_format, //10 config_time_type, config_resttime_format, config_marster_vol, @@ -153,7 +155,7 @@ namespace Define config_programstep_finish, config_cooktime_finish, config_stoperror_distinguish, - config_sound_factory_reset, + config_sound_factory_reset, //20 config_haccp_data_download, config_info_data_download, config_service_data_download, @@ -163,7 +165,7 @@ namespace Define config_ip, config_gateway, config_netmask, - config_set_download, + config_set_download, //30 config_set_upload, config_set_half_energy, config_set_auto_darkness, @@ -173,21 +175,22 @@ namespace Define config_loading_door_monitoring, config_cooking_door_monitoring, config_software_info, - config_hotline_chef, + config_hotline_chef, //40 config_hotline_service, config_steam_wash, config_demo_mode, - config_enter_engineer_mode, + config_enter_engineer_mode, //44 config_model, config_burner1_pwr1_normal_rpm, config_burner1_pwr2_normal_rpm, config_burner23_pwr1_normal_rpm, config_burner23_pwr2_normal_rpm, - config_burner1_pwr1_half_rpm, + config_burner1_pwr1_half_rpm, //50 config_burner1_pwr2_half_rpm, config_burner23_pwr1_half_rpm, config_burner23_pwr2_half_rpm, config_standard_info_upload, + config_anti_freeze, //55 config_invalid = MAX_CONFIG_COUNT+1 }; @@ -218,7 +221,7 @@ namespace Define config_item party_dish_weight; config_item ilc_rack_number; config_item ilc_rack_sequnece; - config_item ilc_cook_wait_time; + config_item ilc_cook_wait_time; //10 config_item cooktime_format; config_item time_type; config_item resttime_format; @@ -228,7 +231,7 @@ namespace Define config_item request_loadexec; config_item programstep_finish; config_item cooktime_finish; - config_item stoperror_distinguish; + config_item stoperror_distinguish; //20 config_item sound_factory_reset; config_item haccp_data_download; config_item info_data_download; @@ -238,7 +241,7 @@ namespace Define config_item program_initialize; config_item ip; config_item gateway; - config_item netmask; + config_item netmask; //30 config_item set_download; config_item set_upload; config_item set_half_energy; @@ -248,21 +251,23 @@ namespace Define config_item duty_wash; config_item loading_door_monitoring; config_item cooking_door_monitoring; - config_item software_info; + config_item software_info; //40 config_item hotline_chef; config_item hotline_service; config_item steam_wash; config_item demo_mode; - config_item enter_engineer_mode; + config_item enter_engineer_mode; //44 config_item model; //System Data, Do not copy after this item when config upload. config_item burner1_pwr1_normal_rpm; config_item burner1_pwr2_normal_rpm; config_item burner23_pwr1_normal_rpm; - config_item burner23_pwr2_normal_rpm; + config_item burner23_pwr2_normal_rpm; //50 config_item burner1_pwr1_half_rpm; config_item burner1_pwr2_half_rpm; config_item burner23_pwr1_half_rpm; config_item burner23_pwr2_half_rpm; + config_item config_standard_info_upload; + config_item config_anti_freeze; //55 }items; }STRUCT_PACK config_lists; @@ -340,12 +345,14 @@ class Config : public QObject * 7f = none value */ const uint8_t config_data_type[MAX_CONFIG_COUNT] = { - 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, //Settings - 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, - 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02, - 0x80, 0x00, 0x00,0x00, - 0x80, 0x80, 0x80, - 0x02,0x02,0x02,0x02,0x80,0x02 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, //Settings 12 + 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, //20 + 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02, //31 + 0x80, 0x00, 0x00,0x00, //35 + 0x80, 0x80, 0x80, //38 + 0x02,0x02,0x02,0x02,0x80,0x02, // 44 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //54 + 0x02 //55 anit freeze }; @@ -370,7 +377,7 @@ class Config : public QObject "%1번", "%1번", "%1번", - QT_TR_NOOP("공장초기화"), + QT_TR_NOOP("공장초기화"), //20 QT_TR_NOOP("USB 삽입"), //config_haccp_data_download, "USB 삽입", //config_info_data_download, "USB 삽입", //config_service_data_download, @@ -380,7 +387,7 @@ class Config : public QObject "%d.%d.%d.%d", //config_ip, "%d.%d.%d.%d", //config_gateway, "%d.%d.%d.%d", //config_netmask, - "USB 삽입", //config_set_download, + "USB 삽입", //config_set_download, 30 "USB 삽입", //config_set_upload, "%s", //config_set_half_energy, "%1", //config_set_auto_darkness, @@ -390,11 +397,22 @@ class Config : public QObject QT_TR_NOOP("%1단계"), //config_loading_door_monitoring, QT_TR_NOOP("%1단계"), //config_cooking_door_monitoring QT_TR_NOOP("정보확인"), //config_software_info, - "정보확인", //config_hotline_chef, + "정보확인", //config_hotline_chef, //40 "정보확인", //config_hotline_service, QT_TR_NOOP("헹굼"), //config_steam_wash "%s", //config_demo_mode, - QT_TR_NOOP("엔지니어모드 진입"), //config_enter_engineer_mode, + QT_TR_NOOP("엔지니어모드 진입"), //config_enter_engineer_mode, 44 + "test", //config_item model; //System Data, Do not copy after this item when config upload. + "test", //config_item burner1_pwr1_normal_rpm; + "test", //config_item burner1_pwr2_normal_rpm; + "test", //config_item burner23_pwr1_normal_rpm; + "test", //config_item burner23_pwr2_normal_rpm; + "test", //config_item burner1_pwr1_half_rpm; //50 + "test", //config_item burner1_pwr2_half_rpm; + "test", //config_item burner23_pwr1_half_rpm; + "test", //config_item burner23_pwr2_half_rpm; + "test", //config_standard_info_upload, + QT_TR_NOOP("실행"), //config_item config_anti_freeze; //55 }; const char config_title[MAX_CONFIG_COUNT][64]={ @@ -438,11 +456,22 @@ class Config : public QObject QT_TR_NOOP("적재 중 문열림 시간 모니터링"), //config_loading_door_monitoring, QT_TR_NOOP("조리 중 문열림 시간 모니터링"), //config_cooking_door_monitoring QT_TR_NOOP("제품유형/소프트웨어에 관한 정보"), //config_software_info, - QT_TR_NOOP("핫라인-쉐프"), //config_hotline_chef, + QT_TR_NOOP("핫라인-쉐프"), // 40 config_hotline_chef, QT_TR_NOOP("핫라인-서비스"), //config_hotline_service, QT_TR_NOOP("증기 발생기 헹굼"), //config_steam_wash QT_TR_NOOP("시연모드"), //config_demo_mode, - QT_TR_NOOP("서비스단계(엔지니어모드)") //config_enter_engineer_mode, + QT_TR_NOOP("서비스단계(엔지니어모드)"), // 44config_enter_engineer_mode, + QT_TR_NOOP("SYSTEM"), //config_item model; + QT_TR_NOOP("SYSTEM"), //config_item burner1_pwr1_normal_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner1_pwr2_normal_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner23_pwr1_normal_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner23_pwr2_normal_rpm; + QT_TR_NOOP("SYSTEM"), // 50config_item burner1_pwr1_half_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner1_pwr2_half_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner23_pwr1_half_rpm; + QT_TR_NOOP("SYSTEM"), //config_item burner23_pwr2_half_rpm; + QT_TR_NOOP("SYSTEM"), //config_standard_info_upload, + QT_TR_NOOP("동파방지실행") // 55 config_item config_anti_freeze; }; QSet m_setFavorite; diff --git a/app/gui/oven_control/configwindow.cpp b/app/gui/oven_control/configwindow.cpp index 93f077e..430b209 100644 --- a/app/gui/oven_control/configwindow.cpp +++ b/app/gui/oven_control/configwindow.cpp @@ -16,6 +16,7 @@ #include "configdoormonitoring.h" #include "servicepassinputdlg.h" #include "manualviewerdlg.h" +#include "flushwaterwindow.h" ConfigWindow::ConfigWindow(QWidget *parent) : QMainWindow(parent), @@ -222,6 +223,12 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ QDialog* dlg; QWidget *focusedWidget = focusWidget(); switch(id){ + case config_anti_freeze: + { + FlushWaterWindow *w = new FlushWaterWindow(this); + w->showFullScreen(); + break; + } case config_loading_door_monitoring: case config_cooking_door_monitoring: ConfigDoorMonitoring* wnd; diff --git a/app/gui/oven_control/configwindow.h b/app/gui/oven_control/configwindow.h index 330f3a7..61114b1 100644 --- a/app/gui/oven_control/configwindow.h +++ b/app/gui/oven_control/configwindow.h @@ -32,14 +32,14 @@ class ConfigWindow : public QMainWindow private: const uint16_t m_arrMaxMenuCount[7] ={ - 6,8,9,2,3,0,6 + 6,8,9,2,4,0,6 }; const Define::ConfigType m_arrConfigListInfos[7][20] = { {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset}, {config_haccp_data_download, config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload}, {config_set_half_energy,config_set_auto_darkness,}, - {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, + {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring,config_anti_freeze}, {config_invalid,}, {config_software_info,config_hotline_chef,config_hotline_service,config_steam_wash,config_demo_mode,config_enter_engineer_mode} }; diff --git a/app/gui/oven_control/define.h b/app/gui/oven_control/define.h index 61cd6c3..8dfa1fa 100644 --- a/app/gui/oven_control/define.h +++ b/app/gui/oven_control/define.h @@ -4,12 +4,12 @@ #include #define MAJOR_VER 1 -#define MINOR_VER 2 -#define HOTFIX_VER 02 +#define MINOR_VER 3 +#define HOTFIX_VER 00 // 0 for normal // 1 for premium -#define MODEL_GRADE 0 +#define MODEL_GRADE 1 namespace Define { diff --git a/app/gui/oven_control/lang_en.qm b/app/gui/oven_control/lang_en.qm index 8bb2691e799e4c1d982a36639f629fdad254a8fc..5c667039fdbbe9a4355e50a27a629c2614aa728f 100644 GIT binary patch literal 94741 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 z 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 IrD)p!2Z97&AOHXW delta 6604 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 diff --git a/app/gui/oven_control/lang_en.ts b/app/gui/oven_control/lang_en.ts index ebf9025..b9c47d5 100644 --- a/app/gui/oven_control/lang_en.ts +++ b/app/gui/oven_control/lang_en.ts @@ -14,14 +14,14 @@ correction - + 모든 설정 값을 공장(출고)초기화 값으로 변경 하시겠습니까? Do you confirm the change of all settings to factory default values? - + 테스트를 완료하였습니다. Test is completed. @@ -139,7 +139,7 @@ to factory default values? cook - cook + cook @@ -392,452 +392,463 @@ to factory setting values? Do you want to delete all programs? - 잔여시간 잔여시간 - Remaining Time + Remaining Time - 타겟시간 타겟시간 - Target Time + Target Time - + 섭씨(℃) Centigrade - + 화씨(℉) Fahrenheit - 설정취소 설정취소 - Cancel + Cancel - 설정 설정 - Set + Set - 비활성 비활성 - Disenable + Disenable - 활성화 활성화 - Enable + Enable - 끄기 끄기 - Off + Off - 켜기 켜기 - On + On - - - + + + 모 델 명 Model Name - - - + + + 제조일자 Date of Manufacturing - - - + + + 제조국 Manufacturing Country - - - + + + 제조사 Manufacturing Company - - - + + + 제품번호 Model No - + 소프트웨어 버전 Software Version - + 현재모델 Current model - - + + 연 락 처 Contact - + 이 름 Name - - + + 위치정보 Location - + 전기식 10단 Electric Type 10 Stages - + 전기식 20단 Electric Type 20 Stages - + 전기식 24단 Electric Type 24 Stages - + 전기식 40단 Electric Type 40 Stages - + 가스식 10단 LPG Gas Type 10 Stages lpg - + 가스식 20단 LPG Gas Type 20 Stages lpg - + 가스식 24단 LPG Gas Type 24 Stages lpg - + 가스식 40단 LPG Gas Type 40 Stages lpg - + 가스식 10단 LNG Gas Type 10 Stages lpg - + 가스식 20단 LNG Gas Type 20 Stages lpg - + 가스식 24단 LNG Gas Type 24 Stages lpg - + 가스식 40단 LNG Gas Type 40 Stages lpg - + %1 분 %1 Min - + %1번 No.%1 - + 공장초기화 Factory Reset - + USB 삽입 Insert USB - + 초기화 Reset - - + + %1단계 Stage%1 - + 정보확인 Information - + 헹굼 Rinsing - + 엔지니어모드 진입 Engineer Mode - + 언어설정 Language Setting - + 날짜와 시간 Date and Time - + 온도단위 Temperature Unit - + 화면밝기 Screen Brightness - + 응축식 후드의 정지지연 Stop Delay of Condensation Type Hood - + 일품요리용 접시무게 Weight of the dish for one-dish meal - + 연회용 접시무게 Weight of the dish for a banquet - + ILC 조리선반 개수 Number of ILC cooking rack - + ILC 조리선반 순서 Sequence of ILC cooking rack - - + + ILC 조리 온습도 대기시간 ILC cooking temperature and humidity standby time - + 조리시간 포맷 Cooking time format - + 실시간 단위 설정 Real time unit setting - + 잔여시간 시점변경설정 Remaining time change setting - + 마스터 볼륨 Master Volume - + 키패드 소리 - 1 Keypad Sound - 1 - + 키패드 볼륨 Keypad Volume - + 적재/실행 요청 Stacking/Execution Request - + 프로그램 단계 종료 Program Stage Finish - + 조리시간 종료 Cooking Time Finish - + 과정 중단/오류 식별 Process Stop/Error Identification - + 음향설정 초기화 Sound Setting Reset - + HACCP 데이터 다운로드 HACCP Data Download - + 인포 데이터 다운로드 Info Data Download - + 서비스 데이터 다운로드 Service Data Download - + 프로그램 다운로드 Program Download - + 프로그램 업로드 Program Upload - + 모든 프로그램 삭제 Delete All Programs - + IP 주소 IP Address - + IP 게이트웨이 IP Gateway - + IP 넷마스크 IP Netmask - + 기본설정 다운로드 Basic Settings Download - + 기본설정 업로드 Basic Settings Upload - + 하프에너지 Half Energy - + 화면 밝기 자동 감소 Auto Decrease Backlight - + 적재중 대기 시간 Standby Time during Stacking - + 의무 세척과정 Mandatory Cleaning Process - + 적재 중 문열림 시간 모니터링 Door monitoring during stacking - + 조리 중 문열림 시간 모니터링 Door monitoring during cooking - + 제품유형/소프트웨어에 관한 정보 Product type/Software information - + 핫라인-쉐프 Hot Line - Chef - + 핫라인-서비스 Hot Line - Service - + 증기 발생기 헹굼 Steam Generator Rinsing - + 시연모드 Demonstration Mode - + 서비스단계(엔지니어모드) Service Mode (Engineer Mode) + + + + + + + + + + + + SYSTEM + + + + + 동파방지실행 + + Config1DigitSetAndEnableSetDlg @@ -1005,7 +1016,7 @@ using the dial to alarm sounding or alarm off 문을 닫고 다이얼을 사용하여 경고가 <BR> 울리거나 꺼질 때까지 시간 문을 닫고 다이얼을 사용하여 경고가 울리거나 꺼질 때까지 시간 - Time from closing the door and using<BR>the dial to alarm sounding or alarm off + Time from closing the door and using<BR>the dial to alarm sounding or alarm off @@ -1184,54 +1195,54 @@ Value Gas Type 40 Stages lpg - + 모 델 명 Model Name - + 제조일자 Date of Manufacturing - + 제조국 Manufacturing Country - + 제조사 Manufacturing Company - + 제품번호 Product Serial - + 소프트웨어 버전 Software Version - + 현재모델 Current Model - - + + 연 락 처 Contact Information - + 이 름 Name - - + + 위치정보 Location Information @@ -1408,7 +1419,7 @@ Value Dialog - + Dialog @@ -1597,8 +1608,8 @@ Value Service - - + + 현재 설정을 적용하시겠습니까? Do you want to apply current settings? @@ -1948,10 +1959,10 @@ Control FileProcessDlg - - - - + + + + 남은 예상 시간 : 1초 Expected Remaining Time : 1 Second @@ -1961,261 +1972,306 @@ Control Cancel - + erro%1, erro%1, - - - + + + Gas Error History - + Gas Error History + - - - - + + + + no, no, - - - - + + + + First Appearance, First Appearance, - - - - + + + + Counter, - - - - + + + + Last Appearance - + Service Error History - - - - - - + + + + + 남은 예상 시간 : 완료 Expected Remaining Time : Finish - + ,Steam Heating Time, ,Steam Heating Time, - + ,Hot Air Heating Time, ,Hot Air Heating Time, - + ,Hot Air Mode, ,Hot Air Mode, - + ,Steam Mode, ,Steam Mode, - + ,Combi Mode, ,Combi Mode, - + ,세제없이 헹굼, ,Rinsing without Detergent, - + ,간이세척, ,Simple Cleaning, - + ,표준세척, ,Standard Cleaning, - + ,강세척 ,Strong Cleaning - + ,고속세척, ,High Speed Cleaning, - + ,쿨다운, ,Cool Down, - + ,전체작동시간, ,Total Operation Tine, - + ,도어 Open, ,Door Open, - + ,볼밸브 Open, ,Ball Valve Open, - + ,S/G 급수 솔레노이드, ,S/G Water Supply Solenoid, - + ,퀀칭 솔레노이드, ,Quenching Solenoid, - + ,고내살수 노즐 솔레노이드 , ,Inside-storage Water Spray Nozzle Solenoid, - + ,호스릴 솔레노이드, ,Hose Reel Solenoid, - + ,세제공급장치, ,Detergent Supply Device, - + ,배습댐퍼, ,Moisture-discharging Damper, - + ,소형펌프모터, ,Small Pump Motor, - + ,중형펌프모터, ,Medium size Pump Motor, - - - - - + + + + + + USB 인식을 실패하였습니다. USB recognition failed. - + + Program & CookBook Upload Success!. + + + + CookBook Upload Success!. - + - - 완료 - Finished + + Program Upload Success + - - 에러 발생으로 종료합니다. - + + Program Upload Fail + + + + + 완료 + Finished - + 남은 예상 시간 : %1분 %2초 Expected Remaining Time : %1min %2sec - + 남은 예상 시간 : %1초 Expected Remaining Time : %1 sec - + 설정 다운로드에 실패하였습니다. Setting download failed. - + 즐겨찾기 다운로드에 실패하였습니다. Bookmark download failed. - - - + + + 설정 업로드에 실패하였습니다. Setting upload failed. - + 즐겨찾기 업로드에 실패하였습니다. Bookmark upload failed. - + 남은 예상 시간 : 2초 Expected Remaining Time : 2 sec - + 모델 정보 업로드에 실패하였습니다. model Information upload failed. - + 남은 예상 시간 : 1 Expected Remaining Time : 1 - + 핫라인 쉐프 정보 업로드에 실패하였습니다. Hot Line - Chef Setting upload failed. - + 핫라인 서비스 정보 업로드에 실패하였습니다. Hot Line - Service Setting upload failed. + FlushWaterWindow + + + MainWindow + + + + + 동파 방지 실행 중입니다 + + + + + 완료될 때까지 문을 열지 마세요. +동파 방지 기능을 실행 중입니다. + + + + + 실행 중 + + + + + 동파 방지 실행이 완료되었습니다. 전원을 OFF 해주십시오 + + + + + 취소 + Cancel + + + FormatterSpinBox @@ -2389,17 +2445,17 @@ Control RPM - + Max-RPM - + Min-RPM - + @@ -2410,7 +2466,7 @@ Control 0 rpm - 1400 rpm {0 ?} + @@ -2424,6 +2480,32 @@ Control + HaccpDownloadDlg + + + HACCP 데이터 다운로드 + HACCP Data Download + + + + + 년 + Y + + + + + 월 + M + + + + + 일 + D + + + HistoryListWindow @@ -2551,25 +2633,25 @@ Control 상부점화장치 상부점화장치 - Upper Part Ignition Device + Upper Part Ignition Device 스팀점화장치 스팀점화장치 - Steam Ignition Device + Steam Ignition Device 하부점화장치 하부점화장치 - Lower Part Ignition Device + Lower Part Ignition Device 서비스에러기록종합 서비스에러기록종합 - Total Service Error Record + Total Service Error Record @@ -2702,7 +2784,7 @@ Control V0.3.4 - + 세척이 정상적으로 종료되지 않아 반드시 세척통을 자동 세척해야 합니다. 내부를 비워주세요 @@ -2824,48 +2906,48 @@ Control tool - - + + 문을 닫아주세요 Please close the door - + 조리 중 문 열림 시간 모니터링 1단계 Monitoring stage 1 of door open time during cooking - + 조리 중 문 열림 시간 모니터링 2단계 Monitoring stage 2 of door open time during cooking - + 문이 오래 열려있어 조리가 취소되었습니다 The door is opened for a long time, so cooking is cancelled - + 조리 중 문 열림 시간 모니터링 3단계 Monitoring stage 3 of door open time during cooking - + 즐겨찾기 항목에 추가하시겠습니까? Do you want to add it to bookmark? - + 요리가 중단되고 환경 설정 모드로 들어갑니다. 진행할까요? Cooking stops and the system goes to configuration mode. Do you want to proceed? - + 요리가 중단되고 즐겨찾기 모드로 들어갑니다. 진행할까요? Cooking stops and the system goes to bookmark mode. Do you want to proceed? - + 요리가 중단되고 자동 세척 모드로 들어갑니다. 진행할까요? Cooking stops and the system goes to automatic cleaning mode. Do you want to proceed? @@ -2903,7 +2985,7 @@ Control 다중 요리 목록에 추가하시겠습니까? - + Add to multiple cooking list? @@ -2911,44 +2993,44 @@ Control 건열 - Dry Heat + Dry Heat 0% - 0% + 0% 감소 - Decrease + Decrease 증가 - Increase + Increase 0<span style="font-size:11pt;">초</span> - + 0<span style="font-size:11pt;">Sec</span> 콤비 - Combi + Combi 스팀 - Steam + Steam 30<span style="font-size:11pt;">℃</span> - 30<span style="font-size:11pt;">℃</span> + 30<span style="font-size:11pt;">℃</span> @@ -2956,100 +3038,102 @@ Control 건열 - Dry Heat + Dry Heat 채소및곡류 - + Veg&Cereals 제과제빵류 - + Bread 육류 - Meat + Meat 디저트류 - Dessert + Dessert 가금류 - Poultry + Poultry 콤비 - Combi + Combi 다중요리 - Multiple Cooking + Multiple Cooking 프로그래밍모드 - Programming Mode + Programming Mode 기타요리 - + Others 세척모드 - Cleaning Mode + Cleaning Mode 부가기능 - + Add-ons 스팀 - Steam + Steam 생선류 - Fishes + Fishes 1. 다중 요리에서 사용할 요리 카테고리를 선택해주세요 2. 스팀, 콤비, 건열 중에서 선택하시면 자동으로 다음 단계로 진행됩니다 - + 1. Please select the category to be used for multiple cooking +2. choice from Steam, combi or dry it will automatically proceed to the next step 스팀을 - + Steam 콤비를 - + Combi 건열을 - + Dry Heat 1. %1 선택하였습니다 2. 수동 메뉴 혹은 원하시는 자동 메뉴 상세 목록을 선택하세요 - + 1. %1 mode is selected +2. Select the manual menu or the desired auto menu list @@ -3057,7 +3141,7 @@ Control MainWindow - + @@ -3073,7 +3157,7 @@ Control 다중 요리 최근 요리 목록입니다 - + Multiple cooking list of recently cooked @@ -3088,7 +3172,7 @@ Control slotLabel - + @@ -3106,7 +3190,7 @@ Control 요리를 취소하시겠습니까? - + Are you sure you want to cancel? @@ -3121,10 +3205,9 @@ Control NotiPopupDlg + 확인 - Confirm - - + Confirm @@ -3469,7 +3552,7 @@ Nozzle Solenoid Lower Fan Controller Communication Abnormality Occurrence - + 하부 FAN 컨트롤러 이상 발생 Lower Fan Controller Communication Abnormality Occurrence @@ -3478,297 +3561,297 @@ Nozzle Solenoid Upper Fan Controller Communication Abnormality Occurrence - + 상부 FAN 컨트롤러 이상 발생 Upper Fan Controller Abnormality Occurrence - + 버너컨트롤러 1 이상 발생하였습니다. Malfunction occurs with burner controller 1. - + 내부 온도 센서 이상 - + 조리실 내부 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 배수 탱크 온도 센서 이상 - + 배수 탱크 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 퀀칭 온도 센서 발생 - + 퀀칭 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 벽면 온도 센서 이상 - + 조리실 벽면 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 스팀발생기 온도 센서 이상 - + 스팀발생기 내부 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - - - - + + + + 중심온도 센서 이상 - - - - + + + + 중심온도계 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + PCB온도 과열 이상 - + PCB 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 상부 버너 컨트롤러 통신 이상 - + 상부 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 하부 버너 컨트롤러 통신 이상 - + 하 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 스팀 버너 컨트롤러 통신 이상 - + 스팀발생기 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 하부 FAN 모터 컨트롤러 이상 - + 하부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 상부 FAN 모터 컨트롤러 이상 - + 상부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 버너컨트롤러 1 이상 발생 Burner Controller 1 Abnormality Occurrence - + 버너컨트롤러 2 이상 발생하였습니다. Malfunction occurs with burner controller 2. - + 버너컨트롤러 2 이상 발생 Burner Controller 2 Abnormality Occurrence - + 버너컨트롤러 3 이상 발생하였습니다. Malfunction occurs with burner controller 3. - + 버너컨트롤러 3 이상 발생 Burner Controller 3 Abnormality Occurrence - + 하부 FAN 컨트롤러 이상 발생하였습니다. Malfunction occurs with lower fan controller. - + 상부 FAN 컨트롤러 이상 발생하였습니다. Malfunction occurs with upper fan controller. - + 상부 버너 착화 이상 - + 상부 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 하부 버너 착화 이상 - + 하부 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 스팀 버너 착화 이상 - + 스팀발생기 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 내부 온도 과열 이상 - + 조리실 내부 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 배수 탱크 온도 과열 이상 - + 배수 탱크 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 중심 온도 과열 이상 - + 중심온도계 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 벽면 온도 과열 이상 - + 조리실 벽면 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 스팀 온도 과열 이상 - + 스팀통 내부 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 급수 이상 - + 제품 급수이상 안전장치가 작동하였습니다. 제품에 들어가는 물 공급을 확인하십시오. 물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오. @@ -3776,12 +3859,12 @@ Nozzle Solenoid - + 수위 센서 이상 - + 스팀통 수위 감지 안전장치가 작동하였습니다. 제품에 들어가는 물 공급을 확인하십시오. 물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오. @@ -3906,7 +3989,7 @@ Nozzle Solenoid 00:00 - 0:00 + 00:00 @@ -4621,7 +4704,7 @@ Spray Nozzle Solenoid - + ON ON @@ -4632,7 +4715,7 @@ Spray Nozzle Solenoid - + OFF OFF @@ -4678,7 +4761,7 @@ Temperature PCB 온도 - + PCB Temp @@ -4759,13 +4842,13 @@ Temperature Time 예약하기 예약 시간 설정 - Reservation Time Setting + Reservation Time Setting - Month + Month @@ -4787,7 +4870,7 @@ Temperature Time 예약하기 예약 시간 - Reservation Time + Reservation Time @@ -4861,17 +4944,17 @@ Temperature Time MainWindow - + X - + C - + diff --git a/app/gui/oven_control/lang_zh.qm b/app/gui/oven_control/lang_zh.qm index b2061780288b200f4ce27f6e424c79beb6e8f1c6..e2035c8de6e96689bdd920ec9540c1621bc8cbf4 100644 GIT binary patch delta 11547 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 JroLD#{y!mN%+UY< delta 8513 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 diff --git a/app/gui/oven_control/lang_zh.ts b/app/gui/oven_control/lang_zh.ts index a1c37af..d196665 100644 --- a/app/gui/oven_control/lang_zh.ts +++ b/app/gui/oven_control/lang_zh.ts @@ -14,13 +14,13 @@ 校正 - + 모든 설정 값을 공장(출고)초기화 값으로 변경 하시겠습니까? 是否所有设定值都更改为工厂(出库)初始化值吗? - + 테스트를 완료하였습니다. 经测试. @@ -388,462 +388,463 @@ 是否删除所有项目? - - 잔여시간 + 잔여시간 잔여시간 - 剩余时间 + 剩余时间 - - 타겟시간 + 타겟시간 타겟시간 - 目标时间 + 目标时间 - + 섭씨(℃) 摄氏度(℃) - + 화씨(℉) 华氏度(℉) - - 설정취소 + 설정취소 설정취소 - 取消设定 + 取消设定 - - 설정 + 설정 설정 - 设定 + 设定 - - 비활성 + 비활성 비활성 - 非活化 + 非活化 - - 활성화 + 활성화 활성화 - 活化 + 活化 - - 끄기 + 끄기 끄기 - 关闭 + 关闭 - - 켜기 + 켜기 켜기 - 启动 + 启动 - - - + + + 모 델 명 模型名称 - - - + + + 제조일자 制造日期 - - - + + + 제조국 制造国 - - - + + + 제조사 制造商 - - - + + + 제품번호 产品序列号 - - 모든 음향설정 값을 공장초기화 하시겠습니까? - - - - - 모든 프로그램을 삭제하시겠습니까? - - - - + 소프트웨어 버전 软件版本 - + 현재모델 现在模式 - - + + 연 락 처 联系人 - + 이 름 姓名 - - + + 위치정보 位置信息 - + 전기식 10단 - 电动式 10段 + 电动式 10段 - + 전기식 20단 - 电动式 20段 + 电动式 20段 - + 전기식 24단 - 电动式 24段 + 电动式 24段 - + 전기식 40단 - 电动式 40段 + 电动式 40段 - + 가스식 10단 LPG - 燃气式 10段 LPG + 燃气式 10段 LPG - + 가스식 20단 LPG - 燃气式 20段 LPG + 燃气式 20段 LPG - + 가스식 24단 LPG - 燃气式 24段 LPG + 燃气式 24段 LPG - + 가스식 40단 LPG - 燃气式 40段 LPG + 燃气式 40段 LPG - + 가스식 10단 LNG - 燃气式 10段 LNG + 燃气式 10段 LNG - + 가스식 20단 LNG - 燃气式 20段 LNG + 燃气式 20段 LNG - + 가스식 24단 LNG - 燃气式 24段 LNG + 燃气式 24段 LNG - + 가스식 40단 LNG - 燃气式 40段 LNG + 燃气式 40段 LNG - + %1 분 %1分 - + %1번 %1号 - + 공장초기화 工厂初始化 - + USB 삽입 USB插入 - + 초기화 初始化 - - + + %1단계 %1阶段 - + 정보확인 信息确认 - + 헹굼 漂洗 - + 엔지니어모드 진입 语言设定 - + 언어설정 语言设定 - + 날짜와 시간 日期和时间 - + 온도단위 温度单位 - + 화면밝기 屏幕亮度 - + 응축식 후드의 정지지연 冷凝式喉头的停止延迟 - + 일품요리용 접시무게 单品烹饪用的盘子重量 - + 연회용 접시무게 宴会用的盘子重量 - + ILC 조리선반 개수 ILC烹饪架数 - + ILC 조리선반 순서 ILC烹饪架顺序 - - + + ILC 조리 온습도 대기시간 ILC烹调温度和湿度等待时间 - + 조리시간 포맷 烹调时间格式 - + 실시간 단위 설정 实时单位设定 - + 잔여시간 시점변경설정 更改设定剩余时间时刻 - + 마스터 볼륨 主控音量 - + 키패드 소리 - 1 键盘的声音- 1 - + 키패드 볼륨 键盘音量 - + 적재/실행 요청 装载/执行请求 - + 프로그램 단계 종료 项目阶段终止 - + 조리시간 종료 烹调时间结束 - + 과정 중단/오류 식별 过程中断/错误识别 - + 음향설정 초기화 音响设定初始化 - + HACCP 데이터 다운로드 HACCP数据下载 - + 인포 데이터 다운로드 信息数据下载 - + 서비스 데이터 다운로드 服务数据下载 - + 프로그램 다운로드 程序下载 - + 프로그램 업로드 程序上传 - + 모든 프로그램 삭제 删除所有的程序 - + IP 주소 IP地址 - + IP 게이트웨이 IP网关 - + IP 넷마스크 IP子网掩码 - + 기본설정 다운로드 基本设定下载 - + 기본설정 업로드 基本设定上传 - + 하프에너지 半能量 - + 화면 밝기 자동 감소 屏幕亮度自动减少 - + 적재중 대기 시간 装载中等待的时间 - + 의무 세척과정 义务洗涤过程 - + 적재 중 문열림 시간 모니터링 监控装载中门打开的时间 - + 조리 중 문열림 시간 모니터링 监控烹饪中门打开的时间 - + 제품유형/소프트웨어에 관한 정보 产品类型/软件有关的信息 - + 핫라인-쉐프 热线-主厨 - + 핫라인-서비스 热线-主厨 - + 증기 발생기 헹굼 蒸汽发生器漂洗 - + 시연모드 试演模式 - + 서비스단계(엔지니어모드) 服务阶段(工程模式) + + + + + + + + + + + + SYSTEM + + + + + 동파방지실행 + + Config1DigitSetAndEnableSetDlg @@ -1008,7 +1009,7 @@ 문을 닫고 다이얼을 사용하여 경고가 <BR> 울리거나 꺼질 때까지 시간 - + @@ -1130,7 +1131,7 @@ TITLE - TITLE + TITLE @@ -1186,54 +1187,54 @@ 燃气式 40段 LNG - + 모 델 명 模型名称 - + 제조일자 - 制造日期 + 制造日期 - + 제조국 制造国 - + 제조사 制造商 - + 제품번호 产品序列号 - + 소프트웨어 버전 软件版本 - + 현재모델 现在模式 - - + + 연 락 처 联系方式 - + 이 름 姓名 - - + + 위치정보 位置信息 @@ -1292,7 +1293,7 @@ PushButton - PushButton + PushButton @@ -1328,7 +1329,7 @@ TITLE - TITLE + TITLE @@ -1410,17 +1411,17 @@ Dialog - + Dialog 확인 - 确认 + 确认 증기 발생기 헹굼 - 蒸汽发生器漂洗 + 蒸汽发生器漂洗 @@ -1431,67 +1432,67 @@ 취소 - 取消 + 取消 내부 헹굼 진행 중입니다. - 内部进行漂洗。 + 内部进行漂洗。 스팀 급수 진행 중입니다. - 蒸汽供水处理中。 + 蒸汽供水处理中。 내부 팬 세척 진행 중입니다. - 内部风扇进行洗涤。 + 内部风扇进行洗涤。 내부 스팀 불림 진행 중입니다. - 内部蒸汽进行冲泡。 + 内部蒸汽进行冲泡。 내부 강 세척 진행 중입니다. - 内部进行强洗涤。 + 内部进行强洗涤。 내부 상부 세척 진행 중입니다. - 内部上部进行洗涤。 + 内部上部进行洗涤。 내부 스팀 세척 진행 중입니다. - 内部进行蒸汽洗涤。 + 内部进行蒸汽洗涤。 세척 종료 진행 중입니다. - 洗涤结束进行中。 + 洗涤结束进行中。 세제 세척수 만들기 진행 중입니다. - 做洗涤剂洗涤水进行中。 + 做洗涤剂洗涤水进行中。 세제 세척수 헹굼 진행 중입니다. - 洗涤剂洗涤水进行漂洗。 + 洗涤剂洗涤水进行漂洗。 하부 탱크 세척수 만들기 진행 중입니다. - 做下部槽洗涤水进行中。 + 做下部槽洗涤水进行中。 세척이 종료되었습니다 - 洗涤结束了 + 洗涤结束了 @@ -1505,7 +1506,7 @@ PushButton - PushButton + PushButton @@ -1529,7 +1530,7 @@ PushButton - PushButton + PushButton @@ -1597,8 +1598,8 @@ 服务 - - + + 현재 설정을 적용하시겠습니까? 是否应用当前设定? @@ -1641,7 +1642,7 @@ TextLabel - TextLabel + TextLabel @@ -1863,7 +1864,7 @@ START - START + START @@ -1947,10 +1948,10 @@ FileProcessDlg - - - - + + + + 남은 예상 시간 : 1초 剩下的预计时间:1秒 @@ -1960,265 +1961,309 @@ 取消 - + erro%1, 误差%1, - - - + + + Gas Error History - 气误差记录 + 气误差记录 - - - - + + + + no, 否, - - - - + + + + First Appearance, 第一次出现, - - - - + + + + Counter, 计数器, - - - - + + + + Last Appearance - 最后出现 + 最后出现 - + Service Error History - 服务错误的记录 + 服务错误的记录 - - - - - - + + + + + 남은 예상 시간 : 완료 剩下的预计时间:完成 - + ,Steam Heating Time, ,蒸汽加热时间, - + ,Hot Air Heating Time, ,热风加热时间, - + ,Hot Air Mode, ,热风模式, - + ,Steam Mode, ,蒸汽模式, - + ,Combi Mode, ,相结合的方式, - + ,세제없이 헹굼, ,无洗涤剂漂洗, - + ,간이세척, ,简易洗涤, - + ,표준세척, ,标准洗涤, - + ,강세척 ,强洗涤 - + ,고속세척, ,高速洗涤, - + ,쿨다운, ,变凉, - + ,전체작동시간, ,整个操作时间, - + ,도어 Open, ,门打开, - + ,볼밸브 Open, ,球阀打开, - + ,S/G 급수 솔레노이드, ,S/G 供水电磁阀, - + ,퀀칭 솔레노이드, ,供干热电磁阀, - + ,고내살수 노즐 솔레노이드 , ,庫内撒水喷嘴电磁阀, - + ,호스릴 솔레노이드, ,软管盘电磁阀, - + ,세제공급장치, ,洗涤剂供应装置 , - + ,배습댐퍼, ,排湿挡板, - + ,소형펌프모터, ,小型泵电机, - + ,중형펌프모터, ,中型泵电机, - - - - - + + + + + + USB 인식을 실패하였습니다. USB识别失败了。 - + + Program & CookBook Upload Success!. + + + + CookBook Upload Success!. - + - - 완료 - 完成 + + Program Upload Success + - - 에러 발생으로 종료합니다. - + + Program Upload Fail + - + + 완료 + 完成 + + + 남은 예상 시간 : %1분 %2초 剩下的预计时间:%1分%2秒 - + 남은 예상 시간 : %1초 剩下的预计时间:%1秒 - + 설정 다운로드에 실패하였습니다. 设定下载失败了。 - + 즐겨찾기 다운로드에 실패하였습니다. 收藏夹下载失败了。 - - - + + + 설정 업로드에 실패하였습니다. 设定上传失败了。 - + 즐겨찾기 업로드에 실패하였습니다. 收藏夹上传失败了。 - + 남은 예상 시간 : 2초 剩下的预计时间:2秒 - + 모델 정보 업로드에 실패하였습니다. 上传模式失败。 - + 남은 예상 시간 : 1 剩下的预计时间:1 - + 핫라인 쉐프 정보 업로드에 실패하였습니다. 热线-主厨 设定上传失败了。 - + 핫라인 서비스 정보 업로드에 실패하였습니다. 热线-服务 设定上传失败了。 + FlushWaterWindow + + + MainWindow + + + + + 동파 방지 실행 중입니다 + + + + + 완료될 때까지 문을 열지 마세요. +동파 방지 기능을 실행 중입니다. + + + + + 실행 중 + + + + + 동파 방지 실행이 완료되었습니다. 전원을 OFF 해주십시오 + + + + + 취소 + 取消 + + + FormatterSpinBox @@ -2387,22 +2432,22 @@ START - START + START RPM - + Max-RPM - + Min-RPM - + @@ -2427,6 +2472,32 @@ + HaccpDownloadDlg + + + HACCP 데이터 다운로드 + HACCP数据下载 + + + + + 년 + + + + + + 월 + + + + + + 일 + + + + HistoryListWindow @@ -2552,27 +2623,27 @@ - 상부점화장치 + 상부점화장치 상부점화장치 - 上部点火装置 + 上部点火装置 - 스팀점화장치 + 스팀점화장치 스팀점화장치 - 蒸汽点火装置 + 蒸汽点火装置 - 하부점화장치 + 하부점화장치 하부점화장치 - 下部点火装置 + 下部点火装置 - 서비스에러기록종합 + 서비스에러기록종합 서비스에러기록종합 - 服务错误记录总结 + 服务错误记录总结 @@ -2701,7 +2772,7 @@ V0.3.4 - + 세척이 정상적으로 종료되지 않아 반드시 세척통을 자동 세척해야 합니다. 내부를 비워주세요 @@ -2790,12 +2861,12 @@ 0<span style="font-size:11pt;">초</span> - + 0<span style="font-size:11pt;">秒</span> 30<span style="font-size:11pt;">℃</span> - + 30<span style="font-size:11pt;">℃</span @@ -2805,7 +2876,7 @@ <span style="font-size:11pt;">℃</span> - + <span style="font-size:11pt;">℃</span> @@ -2821,48 +2892,48 @@ tool - - + + 문을 닫아주세요 请把门关上 - + 조리 중 문 열림 시간 모니터링 1단계 烹饪中门打开的时间监测第一阶段 - + 조리 중 문 열림 시간 모니터링 2단계 烹饪中门打开的时间监测第二阶段 - + 문이 오래 열려있어 조리가 취소되었습니다 因为长时间开着门烹饪被取消了 - + 조리 중 문 열림 시간 모니터링 3단계 烹饪中门打开的时间监测第三阶段 - + 즐겨찾기 항목에 추가하시겠습니까? 添加到收藏夹项目吗? - + 요리가 중단되고 환경 설정 모드로 들어갑니다. 진행할까요? 中断烹饪后进入设定环境模式。是否进行? - + 요리가 중단되고 즐겨찾기 모드로 들어갑니다. 진행할까요? 中断烹饪后进入设定收藏夹模式。是否进行? - + 요리가 중단되고 자동 세척 모드로 들어갑니다. 진행할까요? 中断烹饪后进入设定自动清洗模式。是否进行? @@ -2900,7 +2971,7 @@ 다중 요리 목록에 추가하시겠습니까? - + 添加到多个烹饪清单? @@ -2908,44 +2979,44 @@ 건열 - 干热 + 干热 0% - 0% + 0% 감소 - 减少 + 减少 증가 - 增加 + 增加 0<span style="font-size:11pt;">초</span> - + 0<span style="font-size:11pt;">秒</span> 콤비 - 组合 + 组合 스팀 - 蒸汽 + 蒸汽 30<span style="font-size:11pt;">℃</span> - + @@ -2953,79 +3024,80 @@ 건열 - 干热 + 干热 채소및곡류 - 蔬菜和谷物 + 蔬菜和谷物 제과제빵류 - 饼干面包类 + 饼干面包类 육류 - 肉类 + 肉类 디저트류 - 甜点类 + 甜点类 가금류 - 家禽类 + 家禽类 콤비 - 组合 + 组合 다중요리 - 多种烹饪 + 多种烹饪 프로그래밍모드 - 编程模式 + 编程模式 기타요리 - 其他烹饪 + 其他烹饪 세척모드 - 洗涤模式 + 洗涤模式 부가기능 - 附加功能 + 附加功能 스팀 - 蒸汽 + 蒸汽 생선류 - 海鲜类 + 海鲜类 1. 다중 요리에서 사용할 요리 카테고리를 선택해주세요 2. 스팀, 콤비, 건열 중에서 선택하시면 자동으로 다음 단계로 진행됩니다 - + 1. 请选择用于多种烹饪的类别 +2. 选择蒸汽,混合或干燥它将自动进入下一步 @@ -3046,7 +3118,8 @@ 1. %1 선택하였습니다 2. 수동 메뉴 혹은 원하시는 자동 메뉴 상세 목록을 선택하세요 - + 1. 选择%1 +2. 选择手动菜单或所需的自动菜单列表 @@ -3054,7 +3127,7 @@ MainWindow - + @@ -3070,7 +3143,7 @@ 다중 요리 최근 요리 목록입니다 - + 最近煮熟的多个烹饪清单 @@ -3085,7 +3158,7 @@ slotLabel - + @@ -3103,7 +3176,7 @@ 요리를 취소하시겠습니까? - + 你确定要取消? @@ -3118,13 +3191,14 @@ NotiPopupDlg + 확인 确认 TextLabel - TextLabel + TextLabel @@ -3163,7 +3237,7 @@ RESET - RESET + RESET @@ -3367,7 +3441,7 @@ 内部温度传感器出现了异常。 - + 내부 온도 센서 이상 퀀칭 온도 이상 발생 淬火温度出现异常 @@ -3381,7 +3455,7 @@ 淬火温度传感器出现了异常。 - + 퀀칭 온도 센서 발생 벽면 온도 이상 발생 壁面温度出现异常 @@ -3391,17 +3465,17 @@ 壁面温度传感器出现了异常。 - + 벽면 온도 센서 이상 스팀제네레이터 온도 이상 발생 - 蒸汽发生器温度出现异常 + 蒸汽发生器温度出现异常 스팀제네레이터 온도 센서에 이상이 발생하였습니다. 蒸汽发生器温度出现了异常 。 - + 스팀발생기 온도 센서 이상 미트프로브 온도 이상 발생 肉探测器温度出现异常 @@ -3435,10 +3509,10 @@ 肉探测器4温度出现异常 - - - - + + + + 중심온도 센서 이상 PCB 온도 센서에 이상이 발생하였습니다. @@ -3460,7 +3534,7 @@ 下部送风机出现通信异常 - + 상부 버너 컨트롤러 통신 이상 하부 송풍기 이상 발생 上部送风机出现异常 @@ -3470,7 +3544,7 @@ 蒸汽送风机出现通信异常 - + 하부 버너 컨트롤러 통신 이상 스팀 송풍기 이상 발생 蒸汽送风机出现异常 @@ -3480,7 +3554,7 @@ 下部风扇控制器出现通信异常 - + 하부 FAN 컨트롤러 이상 발생 下部风扇控制器出现异常 @@ -3489,259 +3563,259 @@ 上部风扇控制器出现通信异常 - + 상부 FAN 컨트롤러 이상 발생 上部风扇控制器出现异常 - + 버너컨트롤러 1 이상 발생하였습니다. 烧嘴控制器1出现了异常 。 - + 조리실 내부 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 배수 탱크 온도 센서 이상 - + 배수 탱크 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 퀀칭 온도센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 조리실 벽면 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 스팀발생기 내부 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - - - - + + + + 중심온도계 센서 오류가 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + PCB온도 과열 이상 - + PCB 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 상부 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 하 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 스팀 버너 컨트롤러 통신 이상 - + 스팀발생기 버너 컨트롤러 PCB 통신 불량이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 하부 FAN 모터 컨트롤러 이상 - + 하부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 상부 FAN 모터 컨트롤러 이상 - + 상부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다. 제품의 전원을 OFF한 후 다시 ON해 주십시오. 이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오. - + 버너컨트롤러 1 이상 발생 烧嘴控制器1出现异常 - + 버너컨트롤러 2 이상 발생하였습니다. 烧嘴控制器2出现了异常 。 - + 버너컨트롤러 2 이상 발생 烧嘴控制器1出现异常 - + 버너컨트롤러 3 이상 발생하였습니다. 烧嘴控制器3出现了异常 。 - + 버너컨트롤러 3 이상 발생 烧嘴控制器3出现异常 - + 하부 FAN 컨트롤러 이상 발생하였습니다. 下部风扇控制器出现了异常 。 - + 상부 FAN 컨트롤러 이상 발생하였습니다. 上部风扇控制器出现了异常 。 - + 상부 버너 착화 이상 - + 상부 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 하부 버너 착화 이상 - + 하부 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 스팀 버너 착화 이상 - + 스팀발생기 버너 착화 이상 안전장치가 작동하였습니다. 제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오. 가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오. - + 내부 온도 과열 이상 - + 조리실 내부 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 배수 탱크 온도 과열 이상 - + 배수 탱크 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 중심 온도 과열 이상 - + 중심온도계 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 벽면 온도 과열 이상 - + 조리실 벽면 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 스팀 온도 과열 이상 - + 스팀통 내부 과열 안전장치가 작동하였습니다. 제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오. - + 급수 이상 - + 제품 급수이상 안전장치가 작동하였습니다. 제품에 들어가는 물 공급을 확인하십시오. 물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오. @@ -3749,12 +3823,12 @@ - + 수위 센서 이상 - + 스팀통 수위 감지 안전장치가 작동하였습니다. 제품에 들어가는 물 공급을 확인하십시오. 물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오. @@ -3855,7 +3929,7 @@ 00:00 - 00:00 + 00:00 @@ -3962,7 +4036,7 @@ <span style="font-size:11pt;">℃</span> - + @@ -3978,7 +4052,7 @@ 30<span style="font-size:11pt;">℃</span> - + @@ -3988,7 +4062,7 @@ 0<span style="font-size:11pt;">초</span> - + 0<span style="font-size:11pt;">秒</span> @@ -4566,7 +4640,7 @@ - + ON ON @@ -4577,7 +4651,7 @@ - + OFF OFF @@ -4707,7 +4781,7 @@ - + @@ -4803,17 +4877,17 @@ MainWindow - + X - + C - + diff --git a/app/gui/oven_control/ovenstatics.cpp b/app/gui/oven_control/ovenstatics.cpp index df51e85..cd34a83 100644 --- a/app/gui/oven_control/ovenstatics.cpp +++ b/app/gui/oven_control/ovenstatics.cpp @@ -75,6 +75,14 @@ void OvenStatistics::onDataChanged() bDataRefreshed = true; time(<ime); + if(state.burner1_current_rpm != m_nUpperRpm || state.burner2_current_rpm != m_nLowerRpm || state.burner3_current_rpm != m_nSteamRpm){ + m_nUpperRpm = state.burner1_current_rpm; + m_nLowerRpm = state.burner2_current_rpm; + m_nSteamRpm = state.burner3_current_rpm; + + qDebug() << " Upper RPM : " << m_nUpperRpm << ", Lower Rpm : " << m_nLowerRpm << ", Steam Rpm : " << m_nSteamRpm; + } + if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate = 1; else if(state.cleaning_sate != 0 ) cookingstate = 2; diff --git a/app/gui/oven_control/ovenstatics.h b/app/gui/oven_control/ovenstatics.h index 3d96bbe..9e8a04c 100644 --- a/app/gui/oven_control/ovenstatics.h +++ b/app/gui/oven_control/ovenstatics.h @@ -429,7 +429,8 @@ private: {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON - {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_WASH + {error_type_allnone,error_type_allnone,error_type_allnone,error_type_allnone,error_type_allnone}, //SYS_ON_WASH + //{error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_WASH {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_ON }; @@ -492,6 +493,9 @@ private: bool bDataRefreshed; realtime_data realdata; ServicePassInputDlg *m_wndSrvpassdlg; + uint32_t m_nUpperRpm; + uint32_t m_nLowerRpm; + uint32_t m_nSteamRpm; explicit OvenStatistics(QObject* parent); ~OvenStatistics();