部分io点修改,添加图片资源,添加注料功能逻辑
This commit is contained in:
commit
53eb3be876
9 files changed
+495
-41
No files matched your search
@@ -38,6 +38,7 @@ using static DyeingComputer.UserClass.SqliteHelper;
|
||||
using static DyeingComputer.ViewModel.MainWindowViewModel;
|
||||
using static DyeingComputer.Windows.ViewStep;
|
||||
using static System.Net.WebRequestMethods;
|
||||
using static System.Security.Cryptography.ECCurve;
|
||||
using static System.Windows.Forms.AxHost;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
|
||||
@@ -838,8 +839,8 @@ namespace DyeingComputer.ViewModel
|
||||
STEP_P1 = Convert.ToDouble(P1);
|
||||
STEP_P2 = Convert.ToDouble(P2);
|
||||
STEP_P3 = Convert.ToDouble(P3);
|
||||
STEP_P4 = Convert.ToDouble(P4);
|
||||
STEP_P5 = Convert.ToDouble(P5);
|
||||
STEP_P5 = 0;
|
||||
STEP_TIME = 0;
|
||||
SETP_runtime = true;
|
||||
STEP_finish = false;
|
||||
break;
|
||||
@@ -943,6 +944,7 @@ namespace DyeingComputer.ViewModel
|
||||
STEP_P1 = Convert.ToDouble(P1);
|
||||
STEP_P2 = Convert.ToDouble(P2);
|
||||
STEP_P3 = Convert.ToDouble(P3);
|
||||
STEP_P5 = 0;
|
||||
SETP_runtime = true;
|
||||
STEP_finish = false;
|
||||
break;//药缸加药
|
||||
@@ -1032,8 +1034,6 @@ namespace DyeingComputer.ViewModel
|
||||
TimeSpan ts = new TimeSpan(00,00,01);//1秒间隔
|
||||
private int temp_time10s = 10;//开关周期时间
|
||||
private bool PH_start = false;
|
||||
private double TANK1_L,TANK2_L,TANK3_L,TANK1_SL,TANK2_SL,TANK3_SL;//实际加料量|每秒加料量
|
||||
private double TANK1_Pt, TANK1_Pc, TANK2_Pt, TANK2_Pc, TANK3_Pt, TANK3_Pc;//加料比例开度与模拟
|
||||
private string TANK1, TANK2, TANK3;//料桶信息
|
||||
public static string TANK1_DYELOT, TANK2_DYELOT, TANK3_DYELOT;//料单号
|
||||
private int TANK1_REDYE,TANK1_STEP, TANK2_REDYE, TANK2_STEP, TANK3_REDYE, TANK3_STEP;
|
||||
@@ -1042,6 +1042,8 @@ namespace DyeingComputer.ViewModel
|
||||
int TIME_S;
|
||||
double TO = 0;
|
||||
double T = 0;
|
||||
int LT=0;
|
||||
LiquidDosingController controller;
|
||||
void STEP_RUN_master()
|
||||
{
|
||||
WORK_run = WORK_RUN;
|
||||
@@ -1407,11 +1409,91 @@ namespace DyeingComputer.ViewModel
|
||||
// if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Properties.Resources.WaterLevel + ")";
|
||||
}
|
||||
else { STEP_finish = true; }
|
||||
break;//批次水位水洗
|
||||
break;//批次水位水洗
|
||||
case "015":
|
||||
if (STEP_P5 == 0)//入水到水位
|
||||
{
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + ":" + Resources.AddWater + "1";
|
||||
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Resources.Overflow + ")";
|
||||
break;//溢流水洗
|
||||
if (STEP_P1.ToString() == "1")
|
||||
{
|
||||
Updata_dtd("3013", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "2")
|
||||
{
|
||||
Updata_dtd("3014", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "3")
|
||||
{
|
||||
Updata_dtd("3015", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "4")
|
||||
{
|
||||
Updata_dtd("3016", true);
|
||||
}
|
||||
if (Selet_dtm("1015") >= STEP_P2) //到达水位
|
||||
{
|
||||
ERRinf.ERRinf_d(errTabler, "202");//
|
||||
STEP_TIME = 0;
|
||||
STEP_P5 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (STEP_TIME > MT44)
|
||||
{
|
||||
ERRinf.ERRinf_w(errTabler, Status_Str + "[" + Resources.Abnormal + "]", "202");//写入
|
||||
}
|
||||
else
|
||||
{
|
||||
STEP_TIME++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (STEP_P5 == 1)//流量水洗
|
||||
{
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Resources.Overflow + ")";
|
||||
|
||||
Updata_dtd("3020", true);
|
||||
if (STEP_P1.ToString() == "1")
|
||||
{
|
||||
Updata_dtd("3013", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "2")
|
||||
{
|
||||
Updata_dtd("3014", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "3")
|
||||
{
|
||||
Updata_dtd("3015", true);
|
||||
}
|
||||
else if (STEP_P1.ToString() == "4")
|
||||
{
|
||||
Updata_dtd("3016", true);
|
||||
}
|
||||
|
||||
if (Selet_dtm("1016") >= STEP_P3) //到达水量
|
||||
{
|
||||
Updata_dtd("3013", false);
|
||||
Updata_dtd("3014", false);
|
||||
Updata_dtd("3015", false);
|
||||
Updata_dtd("3016", false);
|
||||
ERRinf.ERRinf_d(errTabler, "202");//
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish;
|
||||
STEP_finish = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (STEP_TIME > MT44)
|
||||
{
|
||||
ERRinf.ERRinf_w(errTabler, Status_Str + "[" + Resources.Abnormal + "]", "202");//写入
|
||||
}
|
||||
else
|
||||
{
|
||||
STEP_TIME++;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;//溢流水洗
|
||||
case "017":
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Properties.Resources.Cooling + ")";
|
||||
break;//降温水洗
|
||||
@@ -1480,7 +1562,7 @@ namespace DyeingComputer.ViewModel
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3";
|
||||
}
|
||||
|
||||
Updata_dtd("3020", true);//开排水泵
|
||||
Updata_dtd("3075", true);//开排水泵
|
||||
if (Selet_dtm("1015") <= STEP_P2) //排水状态完成
|
||||
{
|
||||
ERRinf.ERRinf_d(errTabler, "203");//
|
||||
@@ -1489,7 +1571,7 @@ namespace DyeingComputer.ViewModel
|
||||
Updata_dtd("3017", false);
|
||||
Updata_dtd("3018", false);
|
||||
Updata_dtd("3019", false);
|
||||
Updata_dtd("3020", false);//开排水泵
|
||||
Updata_dtd("3075", false);//开排水泵
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish;
|
||||
STEP_finish = true;
|
||||
}
|
||||
@@ -1851,23 +1933,116 @@ namespace DyeingComputer.ViewModel
|
||||
case "065":
|
||||
if (STEP_P1 == 1)
|
||||
{
|
||||
if ((TANK1_L - Selet_dtm("1017")) > TANK1_SL) { TANK1_Pc = TANK2_Pc - 3.3; }//计算比例
|
||||
else { TANK1_Pc = TANK1_Pc + 3.3; }
|
||||
if (((TANK1_Pt - TANK1_Pc) > 5) || ((TANK1_Pt - TANK1_Pc) > -5)) TANK1_Pt = TANK1_Pc;//调整比例
|
||||
if (STEP_P5 == 0)
|
||||
{
|
||||
DosingCurveType Type;
|
||||
if (STEP_P2 == 1) { Type = DosingCurveType.Parabolic; }
|
||||
else if (STEP_P2 == 2) { Type = DosingCurveType.Exponential; }
|
||||
else { Type = DosingCurveType.Linear; }
|
||||
|
||||
controller = new LiquidDosingController(
|
||||
targetTime: STEP_P3 * 60,
|
||||
maxCapacity: 1000,
|
||||
curveType: Type,
|
||||
kP: 0.8, kI: 0.05, kD: 0.1);
|
||||
controller.StartDosing(Selet_dtm("1017"));
|
||||
STEP_P5 = 1;
|
||||
}
|
||||
else if (STEP_P5 == 1)
|
||||
{
|
||||
int valveOpening = Convert.ToInt16(controller.UpdateLevel(Selet_dtm("1017")));
|
||||
Updata_dta("5005", valveOpening);
|
||||
if (Selet_dtm("1017") >= MS06)
|
||||
{
|
||||
LT = MS07;
|
||||
Updata_dtd("3035",true);
|
||||
}
|
||||
else
|
||||
{
|
||||
LT--;
|
||||
if (LT <= 0)
|
||||
{
|
||||
Updata_dtd("3035", false);
|
||||
STEP_finish = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.AddTheMedicine;
|
||||
} //药缸1
|
||||
else if (STEP_P1 == 2)
|
||||
{
|
||||
if ((TANK2_L - Selet_dtm("1018")) > TANK2_SL) { TANK2_Pc = TANK2_Pc - 3.3; }//计算比例
|
||||
else { TANK2_Pc = TANK2_Pc + 3.3; }
|
||||
if (((TANK2_Pt - TANK2_Pc) > 5) || ((TANK2_Pt - TANK2_Pc) > -5)) TANK2_Pt = TANK2_Pc;//调整比例
|
||||
if (STEP_P5 == 0)
|
||||
{
|
||||
DosingCurveType Type;
|
||||
if (STEP_P2 == 1) { Type = DosingCurveType.Parabolic; }
|
||||
else if (STEP_P2 == 2) { Type = DosingCurveType.Exponential; }
|
||||
else { Type = DosingCurveType.Linear; }
|
||||
|
||||
controller = new LiquidDosingController(
|
||||
targetTime: STEP_P3 * 60,
|
||||
maxCapacity: 1000,
|
||||
curveType: Type,
|
||||
kP: 0.8, kI: 0.05, kD: 0.1);
|
||||
controller.StartDosing(Selet_dtm("1018"));
|
||||
STEP_P5 = 1;
|
||||
}
|
||||
else if (STEP_P5 == 1)
|
||||
{
|
||||
int valveOpening = Convert.ToInt16(controller.UpdateLevel(Selet_dtm("1018")));
|
||||
Updata_dta("5006", valveOpening);
|
||||
if (Selet_dtm("1018") >= MS06)
|
||||
{
|
||||
LT = MS07;
|
||||
Updata_dtd("3045", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
LT--;
|
||||
if (LT <= 0)
|
||||
{
|
||||
Updata_dtd("3045", false);
|
||||
STEP_finish = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.AddTheMedicine;
|
||||
}//药缸2
|
||||
else if (STEP_P1 == 3)
|
||||
{
|
||||
if ((TANK3_L - Selet_dtm("1019")) > TANK3_SL) { TANK3_Pc = TANK3_Pc - 3.3; }//计算比例
|
||||
else { TANK3_Pc = TANK3_Pc + 3.3; }
|
||||
if (((TANK3_Pt - TANK3_Pc) > 5) || ((TANK3_Pt - TANK3_Pc) > -5)) TANK3_Pt = TANK3_Pc;//调整比例
|
||||
if (STEP_P5 == 0)
|
||||
{
|
||||
DosingCurveType Type;
|
||||
if (STEP_P2 == 1) { Type = DosingCurveType.Parabolic; }
|
||||
else if (STEP_P2 == 2) { Type = DosingCurveType.Exponential; }
|
||||
else { Type = DosingCurveType.Linear; }
|
||||
|
||||
controller = new LiquidDosingController(
|
||||
targetTime: STEP_P3 * 60,
|
||||
maxCapacity: 1000,
|
||||
curveType: Type,
|
||||
kP: 0.8, kI: 0.05, kD: 0.1);
|
||||
controller.StartDosing(Selet_dtm("1019"));
|
||||
STEP_P5 = 1;
|
||||
}
|
||||
else if (STEP_P5 == 1)
|
||||
{
|
||||
int valveOpening = Convert.ToInt16(controller.UpdateLevel(Selet_dtm("1019")));
|
||||
Updata_dta("5007", valveOpening);
|
||||
if (Selet_dtm("1019") >= MS06)
|
||||
{
|
||||
LT = MS07;
|
||||
Updata_dtd("3035", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
LT--;
|
||||
if (LT <= 0)
|
||||
{
|
||||
Updata_dtd("3055", false);
|
||||
STEP_finish = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.AddTheMedicine;
|
||||
}//药缸3
|
||||
break;//药缸加药
|
||||
@@ -3240,18 +3415,18 @@ namespace DyeingComputer.ViewModel
|
||||
if (MT18 >= 11) SYSlog = SYSlog + " | " + "11 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1055")));
|
||||
if (MT18 >= 12) SYSlog = SYSlog + " | " + "12 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1057")));
|
||||
SYSlog = SYSlog + "\n" + Resources.Cycletime + "Sec";
|
||||
SYSlog = SYSlog + "\n" + "1 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1030")));
|
||||
if (MT18 >= 2) SYSlog = SYSlog + " | " + "2 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1031")));
|
||||
if (MT18 >= 3) SYSlog = SYSlog + " | " + "3 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1032")));
|
||||
if (MT18 >= 4) SYSlog = SYSlog + "\n" + "4 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1033")));
|
||||
if (MT18 >= 5) SYSlog = SYSlog + " | " + "5 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1034")));
|
||||
if (MT18 >= 6) SYSlog = SYSlog + " | " + "6 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1036")));
|
||||
if (MT18 >= 7) SYSlog = SYSlog + "\n" + "7 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1038")));
|
||||
if (MT18 >= 8) SYSlog = SYSlog + " | " + "8 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1040")));
|
||||
if (MT18 >= 9) SYSlog = SYSlog + " | " + "9 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1052")));
|
||||
if (MT18 >= 10) SYSlog = SYSlog + "\n" + "10 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1054")));
|
||||
if (MT18 >= 11) SYSlog = SYSlog + " | " + "11 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1056")));
|
||||
if (MT18 >= 12) SYSlog = SYSlog + " | " + "12 : " + string.Format("{0:D3}", Convert.ToInt16(Selet_dtm("1058")));
|
||||
SYSlog = SYSlog + "\n" + "1 : " + string.Format("{0:D3}", Selet_dta("4017"));
|
||||
if (MT18 >= 2) SYSlog = SYSlog + " | " + "2 : " + string.Format("{0:D3}", Selet_dta("4018"));
|
||||
if (MT18 >= 3) SYSlog = SYSlog + " | " + "3 : " + string.Format("{0:D3}", Selet_dta("4019"));
|
||||
if (MT18 >= 4) SYSlog = SYSlog + "\n" + "4 : " + string.Format("{0:D3}", Selet_dta("4020"));
|
||||
if (MT18 >= 5) SYSlog = SYSlog + " | " + "5 : " + string.Format("{0:D3}", Selet_dta("4021"));
|
||||
if (MT18 >= 6) SYSlog = SYSlog + " | " + "6 : " + string.Format("{0:D3}", Selet_dta("4022"));
|
||||
if (MT18 >= 7) SYSlog = SYSlog + "\n" + "7 : " + string.Format("{0:D3}", Selet_dta("4023"));
|
||||
if (MT18 >= 8) SYSlog = SYSlog + " | " + "8 : " + string.Format("{0:D3}", Selet_dta("4024"));
|
||||
if (MT18 >= 9) SYSlog = SYSlog + " | " + "9 : " + string.Format("{0:D3}", Selet_dta("4025"));
|
||||
if (MT18 >= 10) SYSlog = SYSlog + "\n" + "10 : " + string.Format("{0:D3}", Selet_dta("4026"));
|
||||
if (MT18 >= 11) SYSlog = SYSlog + " | " + "11 : " + string.Format("{0:D3}", Selet_dta("4027"));
|
||||
if (MT18 >= 12) SYSlog = SYSlog + " | " + "12 : " + string.Format("{0:D3}", Selet_dta("4028"));
|
||||
}//布轮信息
|
||||
SYSlog = SYSlog + "\n-------------------------------------------------------";
|
||||
if (SM01 == 1)
|
||||
@@ -3321,7 +3496,6 @@ namespace DyeingComputer.ViewModel
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static DataTable dt_d = new DataTable("DIO");
|
||||
|
||||
Reference in new issue
Block a user