Browse Source

程序编辑保存逻辑

master
sc 4 months ago
parent
commit
8587957fdb
  1. 8
      applications/lvgl/ui_data_csv.c
  2. 227
      applications/lvgl/ui_data_labels_step.c

8
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));

227
applications/lvgl/ui_data_labels_step.c

@ -23,10 +23,18 @@
#include <ui_data_labels.h>
#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;

Loading…
Cancel
Save