Merge branch 'master' of http://www.scserverddns.top:13000/sc/DyeingComputer
This commit is contained in:
commit
a591908f85
2 files changed
+28
-12
No files matched your search
@@ -43,7 +43,7 @@ namespace DyeingComputer.View
|
|||||||
string sql_script = "select * from ProgramSteps where ProgramID = '" + workName + "'";
|
string sql_script = "select * from ProgramSteps where ProgramID = '" + workName + "'";
|
||||||
|
|
||||||
if (sql != null) sql.Clear(); //清空缓存
|
if (sql != null) sql.Clear(); //清空缓存
|
||||||
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存
|
||||||
name.Text = SQLiteHelpers.ExecuteScalar("select ProgramName from ProgramName where ProgramID = '" + workName + "'", null).ToString();
|
name.Text = SQLiteHelpers.ExecuteScalar("select ProgramName from ProgramName where ProgramID = '" + workName + "'", null).ToString();
|
||||||
|
|
||||||
SQLiteHelpers.Close(); //关闭连接
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ namespace DyeingComputer.ViewModel
|
|||||||
CountDown(); //启动循环任务
|
CountDown(); //启动循环任务
|
||||||
SQL_data(); //读数据库
|
SQL_data(); //读数据库
|
||||||
UPort(); //启动串口
|
UPort(); //启动串口
|
||||||
|
|
||||||
|
|
||||||
|
AddressUpdateEventArgs e = new AddressUpdateEventArgs("1","001","0","0","120","30","60","0","0");
|
||||||
|
STEP_START(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
double MT33;
|
double MT33;
|
||||||
@@ -72,13 +76,16 @@ namespace DyeingComputer.ViewModel
|
|||||||
dt_sys = SQLiteHelpers.ExecuteDataSet("select * from Parameters order by ParameterID desc", null).Tables[0]; //读取表写入缓存
|
dt_sys = SQLiteHelpers.ExecuteDataSet("select * from Parameters order by ParameterID desc", null).Tables[0]; //读取表写入缓存
|
||||||
SQLiteHelpers.Close();
|
SQLiteHelpers.Close();
|
||||||
|
|
||||||
MT33 = Convert.ToDouble(Selet_sys("MT33"));//温度偏差参数
|
|
||||||
pid.Kp = Convert.ToDouble(Selet_sys("MT21")); //读取pid
|
pid.Kp = Convert.ToDouble(Selet_sys("MT21")); //读取pid
|
||||||
pid.Ki = Convert.ToDouble(Selet_sys("MT22"));
|
pid.Ki = Convert.ToDouble(Selet_sys("MT22"));
|
||||||
pid.Kd = Convert.ToDouble(Selet_sys("MT23"));
|
pid.Kd = Convert.ToDouble(Selet_sys("MT23"));
|
||||||
pid.N = Convert.ToDouble(Selet_sys("MT24"));
|
pid.N = Convert.ToDouble(Selet_sys("MT24"));
|
||||||
pid.OutputUpperLimit = Convert.ToDouble(Selet_sys("MT25"));
|
pid.OutputUpperLimit = Convert.ToDouble(Selet_sys("MT25"));
|
||||||
pid.OutputLowerLimit = Convert.ToDouble(Selet_sys("MT26"));
|
pid.OutputLowerLimit = Convert.ToDouble(Selet_sys("MT26"));
|
||||||
|
MT33 = Convert.ToDouble(Selet_sys("MT33"));//温度偏差参数
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
DataTable dt_sys = new DataTable();
|
DataTable dt_sys = new DataTable();
|
||||||
public string Selet_sys(string key)//配置缓存
|
public string Selet_sys(string key)//配置缓存
|
||||||
@@ -152,14 +159,15 @@ namespace DyeingComputer.ViewModel
|
|||||||
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
||||||
{
|
{
|
||||||
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
Work_Temp = (Convert.ToDouble(Selet_dta("4001")) + MT33) /10 + " ℃";
|
|
||||||
|
Work_Temp = Selet_dtm("1010") + " ℃";
|
||||||
Work_Numder = WorkNumder.ToString();
|
Work_Numder = WorkNumder.ToString();
|
||||||
// Status_Str = "qweqeqwqqfwfqef";
|
// Status_Str = "qweqeqwqqfwfqef";
|
||||||
|
|
||||||
if (LINK_OK) Modbus_link();
|
if (LINK_OK) Modbus_link();
|
||||||
|
|
||||||
DIDETime++;
|
DIDETime++;
|
||||||
STEP_RUN();
|
|
||||||
IO_data();
|
IO_data();
|
||||||
}
|
}
|
||||||
void Tick_Event_5S(object sender, EventArgs e)//Tick_Event周期执行事件5S
|
void Tick_Event_5S(object sender, EventArgs e)//Tick_Event周期执行事件5S
|
||||||
@@ -188,7 +196,7 @@ namespace DyeingComputer.ViewModel
|
|||||||
double TEMP_co = 0; //计算温度
|
double TEMP_co = 0; //计算温度
|
||||||
|
|
||||||
|
|
||||||
public void STEP_START(object sender, AddressUpdateEventArgs e)
|
public void STEP_START(AddressUpdateEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.StepID == "001")
|
if (e.StepID == "001")
|
||||||
{
|
{
|
||||||
@@ -201,7 +209,8 @@ namespace DyeingComputer.ViewModel
|
|||||||
if (STEP_P1 > t_t) { THL_mode = 1; }
|
if (STEP_P1 > t_t) { THL_mode = 1; }
|
||||||
else if (STEP_P1 < t_t) { THL_mode = 2; }
|
else if (STEP_P1 < t_t) { THL_mode = 2; }
|
||||||
|
|
||||||
updata_dtm("1003", STEP_P2 / 60);
|
TEMP_co = t_t;
|
||||||
|
updata_dtm("1003", STEP_P2 / 600);
|
||||||
STEP_TIME = Convert.ToInt16(STEP_P3) * 60;
|
STEP_TIME = Convert.ToInt16(STEP_P3) * 60;
|
||||||
SETP_runtime =true;
|
SETP_runtime =true;
|
||||||
}
|
}
|
||||||
@@ -216,10 +225,14 @@ namespace DyeingComputer.ViewModel
|
|||||||
{
|
{
|
||||||
case "001":
|
case "001":
|
||||||
double TO = 0;
|
double TO = 0;
|
||||||
|
double T = Selet_dtm("1010"); //实际温度
|
||||||
if (THL_mode == 0) //保温
|
if (THL_mode == 0) //保温
|
||||||
{
|
{
|
||||||
STEP_TIME--;
|
//STEP_TIME--;
|
||||||
if (STEP_TIME == 0) STEP_finish = true;
|
if (STEP_TIME == 0) { STEP_finish = true; }
|
||||||
|
else { STEP_TIME--; }
|
||||||
|
TO = pid.PID_iterate(STEP_P1, T, ts);
|
||||||
|
if (TO < 0) TO = 0;
|
||||||
|
|
||||||
int TIME_H = STEP_TIME / 3600;
|
int TIME_H = STEP_TIME / 3600;
|
||||||
int TIME_M = (STEP_TIME - TIME_H * 3600) / 60;
|
int TIME_M = (STEP_TIME - TIME_H * 3600) / 60;
|
||||||
@@ -229,15 +242,17 @@ namespace DyeingComputer.ViewModel
|
|||||||
else if (THL_mode == 1)//升温
|
else if (THL_mode == 1)//升温
|
||||||
{
|
{
|
||||||
TEMP_co = TEMP_co + (STEP_P2 / 60);
|
TEMP_co = TEMP_co + (STEP_P2 / 60);
|
||||||
TO = pid.PID_iterate(TEMP_co, Selet_dtm("1010"), ts);
|
TO = pid.PID_iterate(TEMP_co, T, ts);
|
||||||
if (STEP_P1 < Selet_dtm("1010")) THL_mode = 0;
|
if (TO < 0) TO = 0;
|
||||||
|
if (STEP_P1 <T) THL_mode = 0;
|
||||||
}
|
}
|
||||||
else if (THL_mode == 2)//降温
|
else if (THL_mode == 2)//降温
|
||||||
{
|
{
|
||||||
TEMP_co = TEMP_co - (STEP_P2 / 60);
|
TEMP_co = TEMP_co - (STEP_P2 / 60);
|
||||||
TO = pid.PID_iterate(TEMP_co, Selet_dtm("1010"), ts);
|
TO = pid.PID_iterate(TEMP_co, T, ts);
|
||||||
|
if (TO > 0) TO = 0;
|
||||||
TO = Math.Abs(TO);
|
TO = Math.Abs(TO);
|
||||||
if (STEP_P1 > Selet_dtm("1010")) THL_mode = 0;
|
if (STEP_P1 > T) THL_mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
updata_dtm("1004", TO);
|
updata_dtm("1004", TO);
|
||||||
@@ -360,6 +375,7 @@ namespace DyeingComputer.ViewModel
|
|||||||
{
|
{
|
||||||
updata_dtm("1001", LINK_RUN);
|
updata_dtm("1001", LINK_RUN);
|
||||||
updata_dtm("1002", LINK_ERR);
|
updata_dtm("1002", LINK_ERR);
|
||||||
|
updata_dtm("1010", (Convert.ToDouble(Selet_dta("4001")) + MT33)/10);
|
||||||
|
|
||||||
await Task.Run(() =>
|
await Task.Run(() =>
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user