diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index acf4053..d96d6a8 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -73,6 +73,103 @@ namespace DyeingComputer.ViewModel public static string SYSKEY; public static UInt32 RX = 0; public static UInt32 TX = 0; + public ICommand ProgramgroupView_stop { get; } + bool _isInteractive; + public bool IsInteractive//步骤表交互选择 + { + get => _isInteractive; + set + { + _isInteractive = value; + OnPropertyChanged("IsInteractive"); + } + } + bool _UserButton; + public bool UserButton//步骤按钮交互选择 + { + get => _UserButton; + set + { + _UserButton = value; + OnPropertyChanged("UserButton"); + } + } + public static bool _Lock_bool; + Visibility _Lock_bool_xml; + public Visibility Lock_bool//锁图标 + { + get => _Lock_bool_xml; + set + { + _Lock_bool_xml = value; + OnPropertyChanged("Lock_bool"); + } + } + bool _Link_bool; + Visibility _Link_bool_xml; + public Visibility Link_bool//连接图标 + { + get => _Link_bool_xml; + set + { + _Link_bool_xml = value; + OnPropertyChanged("Link_bool"); + } + } + public string work_Temp; //显示温度 + public string Work_Temp //通知UI控件参数改变 + { + get { return work_Temp; } + set { work_Temp = value; OnPropertyChanged("Work_Temp"); } + } + public string work_Numder; //显示工单号 + public string Work_Numder //通知UI控件参数改变 + { + get { return work_Numder; } + set { work_Numder = value; OnPropertyChanged("Work_Numder"); } + } + public string status_Str = "-"; //显示状态 + public string Status_Str //通知UI控件参数改变 + { + get { return status_Str; } + set { status_Str = value; OnPropertyChanged("Status_Str"); } + } + public string sys_Time; //显示系统时间 + public string Sys_Time //通知UI控件参数改变 + { + get { return sys_Time; } + set { sys_Time = value; OnPropertyChanged("Sys_Time"); } + } + public int sys_workSTEPID; // + public int Sys_workSTEPID //通知UI控件参数改变 + { + get { return sys_workSTEPID; } + set { sys_workSTEPID = value; OnPropertyChanged("Sys_workSTEPID"); } + } + public string sys_log; // + public string Sys_log //通知UI控件参数改变 + { + get { return sys_log; } + set { sys_log = value; OnPropertyChanged("Sys_log"); } + } + public string program_Name; + public string Program_Name //通知UI控件参数改变 + { + get { return program_Name; } + set { program_Name = value; OnPropertyChanged("Program_Name"); } + } + public static int ViewID = 0;//页面id + + public static object Name_err = ""; + public static object SYSTime = "-----"; + public static object WorkNumder = "-----"; + public static object StatusStr = "-----"; + public static object Process_step = "-----"; + public static string ProgramName = "-----";//工艺名 + public static Int32 DIDETime; //空闲计时器 + bool ERR_JOG;//故障状态 + private int timer1s_ = 0; + private int timer5s_ = 0; public MainWindowViewModel() { SYSKEY = MD5check.MD5Encrypt16(HardwareSN.GetCPUSerialNumber()+HardwareSN.GetBIOSSerialNumber()); @@ -90,9 +187,7 @@ namespace DyeingComputer.ViewModel if (messageBoxResult == MessageBoxResult.Yes) { DataRow drEmployee = dt_TP.Select("RUN=1").First(); - RUN_STEPID = drEmployee.Field("Step"); - STEP_START(drEmployee.Field("StepID"), drEmployee.Field("Parameter1"), drEmployee.Field("Parameter2"), @@ -100,6 +195,8 @@ namespace DyeingComputer.ViewModel drEmployee.Field("Parameter4"), drEmployee.Field("Parameter5") ); + + WORK_RUN = 2; } else { @@ -292,103 +389,7 @@ namespace DyeingComputer.ViewModel WorkNumder = "----------"; } } - public ICommand ProgramgroupView_stop { get; } - bool _isInteractive; - public bool IsInteractive//步骤表交互选择 - { - get => _isInteractive; - set - { - _isInteractive = value; - OnPropertyChanged("IsInteractive"); - } - } - bool _UserButton; - public bool UserButton//步骤按钮交互选择 - { - get => _UserButton; - set - { - _UserButton = value; - OnPropertyChanged("UserButton"); - } - } - public static bool _Lock_bool; - Visibility _Lock_bool_xml; - public Visibility Lock_bool//锁图标 - { - get => _Lock_bool_xml; - set - { - _Lock_bool_xml = value; - OnPropertyChanged("Lock_bool"); - } - } - bool _Link_bool; - Visibility _Link_bool_xml; - public Visibility Link_bool//连接图标 - { - get => _Link_bool_xml; - set - { - _Link_bool_xml = value; - OnPropertyChanged("Link_bool"); - } - } - public string work_Temp; //显示温度 - public string Work_Temp //通知UI控件参数改变 - { - get { return work_Temp; } - set { work_Temp = value; OnPropertyChanged("Work_Temp"); } - } - public string work_Numder; //显示工单号 - public string Work_Numder //通知UI控件参数改变 - { - get { return work_Numder; } - set { work_Numder = value; OnPropertyChanged("Work_Numder"); } - } - public string status_Str ="-"; //显示状态 - public string Status_Str //通知UI控件参数改变 - { - get { return status_Str; } - set { status_Str = value; OnPropertyChanged("Status_Str"); } - } - public string sys_Time; //显示系统时间 - public string Sys_Time //通知UI控件参数改变 - { - get { return sys_Time; } - set { sys_Time = value; OnPropertyChanged("Sys_Time"); } - } - public int sys_workSTEPID; // - public int Sys_workSTEPID //通知UI控件参数改变 - { - get { return sys_workSTEPID; } - set { sys_workSTEPID = value; OnPropertyChanged("Sys_workSTEPID"); } - } - public string sys_log; // - public string Sys_log //通知UI控件参数改变 - { - get { return sys_log; } - set { sys_log = value; OnPropertyChanged("Sys_log"); } - } - public string program_Name; - public string Program_Name //通知UI控件参数改变 - { - get { return program_Name; } - set { program_Name = value; OnPropertyChanged("Program_Name"); } - } - public static int ViewID = 0;//页面id - public static object Name_err = ""; - public static object SYSTime = "-----"; - public static object WorkNumder ="-----"; - public static object StatusStr = "-----"; - public static object Process_step = "-----"; - public static string ProgramName = "-----";//工艺名 - public static Int32 DIDETime; //空闲计时器 - bool ERR_JOG;//故障状态 - private int timer1s_ = 0; - private int timer5s_ = 0; public void CountDown() { //设置定时器 @@ -784,11 +785,9 @@ namespace DyeingComputer.ViewModel SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 - updata_RUN.Clear(); updata_RUN.Add("RUN", 0); SQLiteHelpers.Update("RUN", updata_RUN, "RUN ='1'", null);//更新 - updata_RUN.Clear(); updata_RUN.Add("RUN", 1); SQLiteHelpers.Update("RUN", updata_RUN, "Step ='"+ RUN_STEPID + "'", null);//更新 @@ -930,43 +929,31 @@ namespace DyeingComputer.ViewModel case "007": if (STEP_P1.ToString() == "1") { - Updata_dtd("3012", true); - Updata_dtd("3013", false); - Updata_dtd("3014", false); - Updata_dtd("3015", false); + Updata_dtd("3013", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3014", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3015", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3016", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; } if (Selet_dtm("1015") >= STEP_P2) //到达水位 { - Updata_dtd("3012", false); Updata_dtd("3013", false); Updata_dtd("3014", false); Updata_dtd("3015", false); + Updata_dtd("3016", false); if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish; STEP_finish = true; } @@ -974,44 +961,32 @@ namespace DyeingComputer.ViewModel case "008": if (STEP_P1.ToString() == "1") { - Updata_dtd("3012", true); - Updata_dtd("3013", false); - Updata_dtd("3014", false); - Updata_dtd("3015", false); + Updata_dtd("3013", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3014", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3015", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3016", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; } if (Selet_dtm("1016") >= STEP_P2) //到达水量 { - Updata_dtd("3012", false); Updata_dtd("3013", false); Updata_dtd("3014", false); Updata_dtd("3015", false); + Updata_dtd("3016", false); if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish; STEP_finish = true; } @@ -1028,24 +1003,18 @@ namespace DyeingComputer.ViewModel case "020": if (STEP_P1.ToString() == "1") { - Updata_dtd("3016", true); - Updata_dtd("3017", false); - Updata_dtd("3018", false); + Updata_dtd("3017", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1"; } else if (STEP_P1.ToString() == "2") { - Updata_dtd("3016", false); - Updata_dtd("3017", true); - Updata_dtd("3018", false); + Updata_dtd("3018", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3019", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3"; } @@ -1053,9 +1022,9 @@ namespace DyeingComputer.ViewModel { if (STEP_TIME <= 0)//排水延时 { - Updata_dtd("3016", false); Updata_dtd("3017", false); Updata_dtd("3018", false); + Updata_dtd("3019", false); if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish; STEP_finish = true; } @@ -1069,36 +1038,30 @@ namespace DyeingComputer.ViewModel case "022": if (STEP_P1.ToString() == "1") { - Updata_dtd("3016", true); - Updata_dtd("3017", false); - Updata_dtd("3018", false); + Updata_dtd("3017", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1"; } else if (STEP_P1.ToString() == "2") { - Updata_dtd("3016", false); - Updata_dtd("3017", true); - Updata_dtd("3018", false); + Updata_dtd("3018", true); if (errTabler.Rows.Count == 0) 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); + Updata_dtd("3019", true); if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3"; } - Updata_dtd("3019", true);//开排水泵 + Updata_dtd("3020", true);//开排水泵 if (Selet_dtm("1015") <= STEP_P2) //排水状态完成 { if (STEP_TIME <= 0)//排水延时 { - Updata_dtd("3016", false); Updata_dtd("3017", false); Updata_dtd("3018", false); - Updata_dtd("3019", false);//开排水泵 + Updata_dtd("3019", false); + Updata_dtd("3020", false);//开排水泵 if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish; STEP_finish = true; } @@ -2033,11 +1996,13 @@ namespace DyeingComputer.ViewModel lock (dt_m) { DataRow drEmployee = dt_m.Rows.Find(key); - drEmployee.BeginEdit(); - drEmployee["Value"] = Value; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); + if (drEmployee.Field("value") != Value) + { + drEmployee.BeginEdit(); + drEmployee["Value"] = Value; + drEmployee.EndEdit(); + drEmployee.ClearErrors(); + } } } catch (Exception ex) @@ -2052,12 +2017,14 @@ namespace DyeingComputer.ViewModel { lock (dt_d)//锁 { - DataRow drEmployee = dt_d.Rows.Find(key); - drEmployee.BeginEdit(); - drEmployee["DIO"] = Value; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); + DataRow drEmployee = dt_d.Rows.Find(key); + if (drEmployee.Field("DIO") != Value) + { + drEmployee.BeginEdit(); + drEmployee["DIO"] = Value; + drEmployee.EndEdit(); + drEmployee.ClearErrors(); + } } } catch (Exception ex) @@ -2072,11 +2039,13 @@ namespace DyeingComputer.ViewModel lock (dt_a) { DataRow drEmployee = dt_a.Rows.Find(key); - drEmployee.BeginEdit(); - drEmployee["AIO"] = Value; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); + if (drEmployee.Field("AIO") != Value) + { + drEmployee.BeginEdit(); + drEmployee["AIO"] = Value; + drEmployee.EndEdit(); + drEmployee.ClearErrors(); + } } } catch (Exception ex)