diff --git a/Properties/Resources.en-US.resx b/Properties/Resources.en-US.resx index d69d5f4..3225f4c 100644 --- a/Properties/Resources.en-US.resx +++ b/Properties/Resources.en-US.resx @@ -430,4 +430,13 @@ Heat insulating + + Expected + + + Malfunction + + + Sensor + \ No newline at end of file diff --git a/Properties/Resources.zh-CN.resx b/Properties/Resources.zh-CN.resx index 89ec866..39a48c6 100644 --- a/Properties/Resources.zh-CN.resx +++ b/Properties/Resources.zh-CN.resx @@ -430,4 +430,13 @@ 保温 + + 传感器 + + + 预计 + + + 故障 + \ No newline at end of file diff --git a/Properties/Resources.zh-TW.resx b/Properties/Resources.zh-TW.resx index d95b035..57acecc 100644 --- a/Properties/Resources.zh-TW.resx +++ b/Properties/Resources.zh-TW.resx @@ -426,4 +426,13 @@ 保溫 + + 預計 + + + 故障 + + + 傳感器 + \ No newline at end of file diff --git a/View/TechnologicalProcessView.xaml.cs b/View/TechnologicalProcessView.xaml.cs index f8dd244..b5e8954 100644 --- a/View/TechnologicalProcessView.xaml.cs +++ b/View/TechnologicalProcessView.xaml.cs @@ -106,9 +106,7 @@ namespace DyeingComputer.View { if (e.Key == Key.Y) //按键y { - MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), Convert.ToDouble(P4), Convert.ToDouble(P5)); - // MainWindowViewModel strart = new MainWindowViewModel();//实例 - // strart.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), Convert.ToDouble(P4), Convert.ToDouble(P5));//传入参数开始 + MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), Convert.ToDouble(P4), Convert.ToDouble(P5)); } } } diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 132f3ad..7d04931 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -67,7 +67,9 @@ namespace DyeingComputer.ViewModel } - double MT33; + private static double MT05;//主缸排水延时 + private static double MT06;//主缸排水延时 + private static double MT33;//主缸温度偏差 void SYS_SET() { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 @@ -81,6 +83,9 @@ namespace DyeingComputer.ViewModel pid.N = Convert.ToDouble(Selet_sys("MT24")); pid.OutputUpperLimit = Convert.ToDouble(Selet_sys("MT25")); pid.OutputLowerLimit = Convert.ToDouble(Selet_sys("MT26")); + + MT05 = Convert.ToDouble(Selet_sys("MT05"));//主缸排水延时 + MT06 = Convert.ToDouble(Selet_sys("MT06"));//动力排水延时 MT33 = Convert.ToDouble(Selet_sys("MT33"));//温度偏差参数 @@ -126,7 +131,6 @@ namespace DyeingComputer.ViewModel get { return sys_Time; } set { sys_Time = value; OnPropertyChanged("Sys_Time"); } } - public void CountDown() { DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick @@ -201,25 +205,33 @@ namespace DyeingComputer.ViewModel { case "001": STEP_ID = "001"; - STEP_P1 = Convert.ToDouble(P1); - STEP_P2 = Convert.ToDouble(P2); - STEP_P3 = Convert.ToDouble(P3); - - double t_t = Convert.ToDouble(Selet_dtm("1010")); - if (STEP_P1 > t_t) { THL_mode = 1; } - else if (STEP_P1 < t_t) { THL_mode = 2; } - - TEMP_co = t_t; - updata_dtm("1003", STEP_P2 / 600); - STEP_TIME = Convert.ToInt16(STEP_P3) * 60; - WORK_RUN = 2; - SETP_runtime = true; + STEP_P1 = Convert.ToDouble(P1); + STEP_P2 = Convert.ToDouble(P2); + STEP_P3 = Convert.ToDouble(P3); + + double t_t = Convert.ToDouble(Selet_dtm("1010")); + if (STEP_P1 > t_t) { THL_mode = 1; } + else if (STEP_P1 < t_t) { THL_mode = 2; } + TEMP_co = t_t; + updata_dtm("1003", STEP_P2 / 600); + STEP_TIME = Convert.ToInt16(STEP_P3) * 60; + WORK_RUN = 2; + SETP_runtime = true; + STEP_finish = false; break; case "007": - + STEP_P1 = Convert.ToDouble(P1); + STEP_P2 = Convert.ToDouble(P2); + WORK_RUN = 2; + SETP_runtime = true; + STEP_finish = false; break; - case "009": - + case "008": + STEP_P1 = Convert.ToDouble(P1); + STEP_P2 = Convert.ToDouble(P2); + WORK_RUN = 2; + SETP_runtime = true; + STEP_finish = false; break; case "013": @@ -231,9 +243,37 @@ namespace DyeingComputer.ViewModel break; case "020": - + STEP_P1 = Convert.ToDouble(P1); + STEP_P2 = Convert.ToDouble(P2); + STEP_TIME = Convert.ToInt16(MT05); //排水倒计时 + WORK_RUN = 2; + SETP_runtime = true; + STEP_finish = false; break; case "022": + STEP_P1 = Convert.ToDouble(P1); + STEP_P2 = Convert.ToDouble(P2); + STEP_TIME = Convert.ToInt16(MT06); //动力排水倒计时 + WORK_RUN = 2; + SETP_runtime = true; + STEP_finish = false; + break; + case "031": + + break; + case "035": + + break; + case "036": + + break; + case "039": + + break; + case "040": + + break; + case "041": break; default: @@ -246,11 +286,11 @@ namespace DyeingComputer.ViewModel { if (WORK_RUN == 2) { - if (SETP_runtime) + if (SETP_runtime && (!STEP_finish))// { switch (STEP_ID) { - case "001": //功能模块001温度控制 + case "001": int TIME_H; int TIME_M; int TIME_S; @@ -303,13 +343,96 @@ namespace DyeingComputer.ViewModel } updata_dtm("1004", TO); updata_dtm("1005", TEMP_co); - break; + break;//功能模块001温度控制 case "007": + if (STEP_P1.ToString() == "1") + { + updata_dtd("3012", true); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "1"; + } + else if (STEP_P1.ToString() == "2") + { + updata_dtd("3012", false); + updata_dtd("3013", true); + updata_dtd("3014", false); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2"; + } + else if (STEP_P1.ToString() == "3") + { + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", true); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3"; + } + else if (STEP_P1.ToString() == "4") + { + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", true); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; + } - break; - case "009": + if (Selet_dtm("1015") >= STEP_P2) //到达水位 + { + STEP_finish = true; + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.Finish; + } + break;//液位入水 + case "008": + if (STEP_P1.ToString() == "1") + { + updata_dtd("3012", true); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", false); - break; + Status_Str = Resources. AddWater + ":" + Resources.AddWater + "1"; + } + else if (STEP_P1.ToString() == "2") + { + updata_dtd("3012", false); + updata_dtd("3013", true); + updata_dtd("3014", false); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2"; + } + else if (STEP_P1.ToString() == "3") + { + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", true); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3"; + } + else if (STEP_P1.ToString() == "4") + { + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", true); + Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; + } + + if (Selet_dtm("1016") >= STEP_P2) //到达水量 + { + STEP_finish = true; + updata_dtd("3012", false); + updata_dtd("3013", false); + updata_dtd("3014", false); + updata_dtd("3015", false); + Status_Str = Resources.AddWater + ":" + Resources.Finish; + } + break;//流量入水 case "013": break; @@ -320,10 +443,66 @@ namespace DyeingComputer.ViewModel break; case "020": + if (STEP_P1.ToString() == "1") + { + updata_dtd("3016", true); + updata_dtd("3017", false); + updata_dtd("3018", false); + Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1"; - break; + } + else if (STEP_P1.ToString() == "2") + { + updata_dtd("3016", false); + updata_dtd("3017", true); + updata_dtd("3018", false); + Status_Str = Resources.Drainage + ":" + Resources.Drainage + "2"; + } + else if (STEP_P1.ToString() == "3") + { + updata_dtd("3016", false); + updata_dtd("3017", false); + updata_dtd("3018", true); + Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3"; + } + + if (Selet_dtm("1015") <= STEP_P2) //排水状态完成 + { + if (STEP_TIME == 0)//排水延时 + { + STEP_finish = true; + updata_dtd("3016", false); + updata_dtd("3017", false); + updata_dtd("3018", false); + Status_Str = Resources.Drainage + ":" + Resources.Finish; + } + else + { + STEP_TIME--; //排水延时计时 + Status_Str = Resources.Drainage + ":" + Resources.Time + STEP_TIME; + } + } + break;//排水 case "022": + break; + case "031": + + break; + case "035": + + break; + case "036": + + break; + case "039": + + break; + case "040": + + break; + case "041": + break; default: break;