From 8587957fdb137b91f8ea238c0ac7aea7b27588da Mon Sep 17 00:00:00 2001 From: sc <2401809606@qq.com> Date: Tue, 17 Mar 2026 00:02:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=BC=96=E8=BE=91=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/lvgl/ui_data_csv.c | 8 +- applications/lvgl/ui_data_labels_step.c | 227 +++++++++++++++++++++++- 2 files changed, 230 insertions(+), 5 deletions(-) diff --git a/applications/lvgl/ui_data_csv.c b/applications/lvgl/ui_data_csv.c index 88e2325..d1e2368 100644 --- a/applications/lvgl/ui_data_csv.c +++ b/applications/lvgl/ui_data_csv.c @@ -368,10 +368,10 @@ IO_STEP_DATA step_csv_to_table(const char *csv_data) { } //数据组信息 temp.RUN = 0; - rt_snprintf(temp.Dyelot ,1,csv_get_cell(user, 1, 0)); - rt_snprintf(temp.StepID ,3,csv_get_cell(user, 1, 1)); - rt_snprintf(temp.StepID_S1 ,3,csv_get_cell(user, 1, 2)); - rt_snprintf(temp.StepID_S2 ,3,csv_get_cell(user, 1, 3)); + rt_snprintf(temp.Dyelot ,sizeof(temp.Dyelot),csv_get_cell(user, 1, 0)); + rt_snprintf(temp.StepID ,sizeof(temp.StepID),csv_get_cell(user, 1, 1)); + rt_snprintf(temp.StepID_S1 ,sizeof(temp.StepID_S1),csv_get_cell(user, 1, 2)); + rt_snprintf(temp.StepID_S2 ,sizeof(temp.StepID_S2),csv_get_cell(user, 1, 3)); temp.Parameter1 = atoi(csv_get_cell(user, 1, 4)); temp.Parameter2 = atoi(csv_get_cell(user, 1, 5)); temp.Parameter3 = atoi(csv_get_cell(user, 1, 6)); diff --git a/applications/lvgl/ui_data_labels_step.c b/applications/lvgl/ui_data_labels_step.c index 7e9efc4..7a5477b 100644 --- a/applications/lvgl/ui_data_labels_step.c +++ b/applications/lvgl/ui_data_labels_step.c @@ -23,10 +23,18 @@ #include #include "libcsv.h" +typedef struct { + char STEPNAME[16]; + char STEPID[4]; +} step_DATA_tab; + // int STEP_SET_MODE=-1;//页面功能状态 char ProgramID[32]; char stepsql[512] = {0}; // 初始化为 0 +step_DATA_tab STEP_NAME_S1; +step_DATA_tab STEP_NAME_S2; +step_DATA_tab STEP_NAME_S3; static const int get_step_name(char * step_id) { @@ -79,6 +87,210 @@ static const int get_step_namer(char * step_id) default: return 9; } } + +static void get_step_sql(int id_num) +{ + switch(id_num) { + // --- 基础控制 --- + case 0: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"温度控制"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"001"); + break; + case 1: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"水位进水"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"007"); + break; + case 2: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"流量进水"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"008"); + break; + case 3: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"水位水洗"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"013"); + break; + case 4: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"溢流水洗"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"015"); + break; + case 5: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"排水"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"020"); + break; + case 6: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"主泵排水"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"022"); + break; + case 7: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"运转"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"031"); + break; + case 8: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"入布"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"035"); + break; + case 9: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"出布"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"036"); + break; + case 10: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"呼叫操作员"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"039"); + break; + case 11: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"取样"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"040"); + break; + case 12: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"程序结束"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"041"); + break; + case 13: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"等待"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"049"); + break; + case 14: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"加压"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"050"); + break; + case 15: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"减压"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"051"); + break; + case 16: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"泵风机速度"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"054"); + break; + case 17: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"泵启动"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"055"); + break; + case 18: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"泵停止"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"056"); + break; + case 19: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"备药"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"064"); + break; + case 20: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"加药"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"065"); + break; + case 21: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"呼叫输送"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"066"); + break; + case 22: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"呼叫准备"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"067"); + break; + case 23: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"快速加酸"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"090"); + break; + case 24: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"ph检测"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"093"); + break; + case 25: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),"ph控制"); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"094"); + break; + default: + rt_snprintf(STEP_NAME_S1.STEPNAME, sizeof(STEP_NAME_S1.STEPNAME),""); + rt_snprintf(STEP_NAME_S1.STEPID, sizeof(STEP_NAME_S1.STEPID),"000"); + } +} +static void get_step_sqlr2(int id_num) +{ + switch(id_num) { + // --- 基础控制 --- + case 0: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"降温水洗"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"017"); + break; + case 1: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"加压"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"050"); + break; + case 2: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"减压"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"051"); + break; + case 3: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"备药"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"064"); + break; + case 4: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"呼叫输送"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"066"); + break; + case 5: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"快速加酸"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"090"); + break; + case 6: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"温控加酸"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"091"); + break; + case 7: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"ph检测"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"093"); + break; + case 8: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),"ph控制"); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"094"); + break; + default: + rt_snprintf(STEP_NAME_S2.STEPNAME, sizeof(STEP_NAME_S2.STEPNAME),""); + rt_snprintf(STEP_NAME_S2.STEPID, sizeof(STEP_NAME_S2.STEPID),"000"); + } +} +static void get_step_sqlr3(int id_num) +{ + switch(id_num) { + // --- 基础控制 --- + case 0: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"降温水洗"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"017"); + break; + case 1: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"加压"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"050"); + break; + case 2: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"减压"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"051"); + break; + case 3: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"备药"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"064"); + break; + case 4: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"呼叫输送"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"066"); + break; + case 5: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"快速加酸"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"090"); + break; + case 6: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"温控加酸"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"091"); + break; + case 7: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"ph检测"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"093"); + break; + case 8: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),"ph控制"); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"094"); + break; + default: + rt_snprintf(STEP_NAME_S3.STEPNAME, sizeof(STEP_NAME_S3.STEPNAME),""); + rt_snprintf(STEP_NAME_S3.STEPID, sizeof(STEP_NAME_S3.STEPID),"000"); + } +} /** * 数据信息显示 **/ @@ -150,13 +362,21 @@ void STEP_DATA_set_ui(IO_STEP_DATA* STEPDATA_inf) void STEP_DATA_set_ui_w() { + get_step_sql(lv_dropdown_get_selected (guider_ui.screen_stepinf_s1)); + get_step_sqlr2(lv_dropdown_get_selected (guider_ui.screen_stepinf_s2)); + get_step_sqlr3(lv_dropdown_get_selected (guider_ui.screen_stepinf_s3)); switch(STEP_SET_MODE){ case 0: rt_snprintf(stepsql, sizeof(stepsql),"UPDATE ProgramSteps " - "SET P1=%s,P2=%s,P3=%s,P4=%s,P5=%s," + "SET StepID='%s',StepName='%s',StepID_S1='%s',StepID_S2='%s'," + "StepName_S1='%s',StepName_S1='%s'," + "P1=%s,P2=%s,P3=%s,P4=%s,P5=%s," "P1_S1=%s,P2_S1=%s,P3_S1=%s,P4_S1=%s,P5_S1=%s," "P1_S2=%s,P2_S2=%s,P3_S2=%s,P4_S2=%s,P5_S2=%s " "WHERE Program='%s' and Step=%d;", + STEP_NAME_S1.STEPID,STEP_NAME_S1.STEPNAME, + STEP_NAME_S2.STEPID,STEP_NAME_S3.STEPID, + STEP_NAME_S2.STEPNAME,STEP_NAME_S3.STEPNAME, lv_textarea_get_text(guider_ui.screen_stepinf_p1), lv_textarea_get_text(guider_ui.screen_stepinf_p2), lv_textarea_get_text(guider_ui.screen_stepinf_p3), @@ -174,6 +394,11 @@ void STEP_DATA_set_ui_w() lv_textarea_get_text(guider_ui.screen_stepinf_p5b2), lv_label_get_text(guider_ui.screen_stepinf_name), atoi(lv_label_get_text(guider_ui.screen_stepinf_step))); + if( db_send_command(DB_CMD_EXEC, stepsql, 500)==RT_EOK) // + { + + } + break; default: ; } STEP_SET_MODE=-1;