diff --git a/View/TechnologicalProcessView.xaml.cs b/View/TechnologicalProcessView.xaml.cs index 830c7fb..e673ae0 100644 --- a/View/TechnologicalProcessView.xaml.cs +++ b/View/TechnologicalProcessView.xaml.cs @@ -295,7 +295,8 @@ namespace DyeingComputer.View catch (Exception) { } SQLiteHelpers.Close(); //关闭连接 - if (sql != null) dt_TP = sql.Tables[0]; //转换显示计划表 + // if (sql != null) + MainWindowViewModel.dt_TP = sql.Tables[0]; //转换显示计划表 } private void UserControl_Loaded(object sender, RoutedEventArgs e) diff --git a/ViewModel/CurveDiagramViewModel.cs b/ViewModel/CurveDiagramViewModel.cs index ea1473c..0b70696 100644 --- a/ViewModel/CurveDiagramViewModel.cs +++ b/ViewModel/CurveDiagramViewModel.cs @@ -21,6 +21,7 @@ using System.Collections.ObjectModel; using DyeingComputer.Properties; using LiveChartsCore.Measure; using LiveChartsCore.Motion; +using System.Windows.Documents; namespace DyeingComputer.ViewModel { @@ -104,18 +105,18 @@ namespace DyeingComputer.ViewModel //new AnimatableAxisBounds }; - private readonly Random _r = new Random(); - private readonly ObservableCollection MTT_values; - private readonly ObservableCollection MTL_values; - private readonly ObservableCollection MTH_values; - private readonly ObservableCollection MST_values; - private readonly ObservableCollection MUT_values; - private readonly ObservableCollection STTA_values; - private readonly ObservableCollection STLA_values; - private readonly ObservableCollection STTB_values; - private readonly ObservableCollection STLB_values; - private readonly ObservableCollection STTC_values; - private readonly ObservableCollection STLC_values; + private Random _r = new Random(); + private List MTT_values; + private List MTL_values; + private List MTH_values; + private List MST_values; + private List MUT_values; + private List STTA_values; + private List STLA_values; + private List STTB_values; + private List STLB_values; + private List STTC_values; + private List STLC_values; private SQLiteHelper SQLiteHelpers = null; //定义数据库 private readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径 @@ -168,25 +169,25 @@ namespace DyeingComputer.ViewModel } } - MTT_values = new ObservableCollection(MTT_items); - MTL_values = new ObservableCollection(MTL_items); - MTH_values = new ObservableCollection(MTH_items); - MST_values = new ObservableCollection(MST_items); - MUT_values = new ObservableCollection(MUT_items); + MTT_values = new List(MTT_items); + MTL_values = new List(MTL_items); + MTH_values = new List(MTH_items); + MST_values = new List(MST_items); + MUT_values = new List(MUT_items); if (MainWindowViewModel.SM01 == 1) { - STTA_values = new ObservableCollection(STTA_items); - STLA_values = new ObservableCollection(STLA_items); + STTA_values = new List(STTA_items); + STLA_values = new List(STLA_items); } if (MainWindowViewModel.SM02 == 1) { - STTB_values = new ObservableCollection(STTB_items); - STLB_values = new ObservableCollection(STLB_items); + STTB_values = new List(STTB_items); + STLB_values = new List(STLB_items); } if (MainWindowViewModel.SM03 == 1) { - STTC_values = new ObservableCollection(STTC_items); - STLC_values = new ObservableCollection(STLC_items); + STTC_values = new List(STTC_items); + STLC_values = new List(STLC_items); } Series = new ISeries[] { @@ -223,7 +224,7 @@ namespace DyeingComputer.ViewModel LineSmoothness = 0, ScalesYAt = 0, }, //主缸 - new LineSeries + /*new LineSeries { Name = Properties.Resources.Temperature +"2("+Properties.Resources.MasterCylinder+Properties.Resources.Bottom+")", Values = MUT_values, @@ -233,86 +234,86 @@ namespace DyeingComputer.ViewModel Fill = null, LineSmoothness = 0, ScalesYAt = 0, - }, //缸底 - new LineSeries - { - Name = Properties.Resources.Temperature +"3("+Resources.Medicine + Resources.Tank +"1)", - Values = STTA_values, - Stroke = new SolidColorPaint(s_blue_1, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_blue_1, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 0, - }, //附缸1 + }, */ //缸底 new LineSeries - { - Name = Properties.Resources.Temperature +"4("+Resources.Medicine + Resources.Tank +"2)", - Values = STTB_values, - Stroke = new SolidColorPaint(s_blue_2, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_blue_2, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 0, - }, //附缸2 - new LineSeries - { - Name = Properties.Resources.Temperature +"5("+Resources.Medicine + Resources.Tank +"3)", - Values = STTC_values, - Stroke = new SolidColorPaint(s_blue_3, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_blue_3, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 0, - }, //附缸3 - new LineSeries - { - Name = Properties.Resources.WaterLevel +"("+Properties.Resources.MasterCylinder+")", - Values = MTL_values, - Stroke = new SolidColorPaint(s_red, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_red, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 1, - }, //主缸液位 - new LineSeries - { - Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"1)", - Values = STLA_values, - Stroke = new SolidColorPaint(s_red_1, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_red_1, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 1, - }, //附缸1液位 - new LineSeries - { - Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"2)", - Values = STLB_values, - Stroke = new SolidColorPaint(s_red_2, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_red_2, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 1, - }, //附缸2液位 - new LineSeries - { - Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"3)", - Values = STLC_values, - Stroke = new SolidColorPaint(s_red_3, 2), - GeometrySize = 0, - GeometryStroke = new SolidColorPaint(s_red_3, 2), - Fill = null, - LineSmoothness = 0, - ScalesYAt = 1, - }, //附缸3 液位 + { + Name = Properties.Resources.Temperature +"3("+Resources.Medicine + Resources.Tank +"1)", + Values = STTA_values, + Stroke = new SolidColorPaint(s_blue_1, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_blue_1, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 0, + }, //附缸1 + new LineSeries + { + Name = Properties.Resources.Temperature +"4("+Resources.Medicine + Resources.Tank +"2)", + Values = STTB_values, + Stroke = new SolidColorPaint(s_blue_2, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_blue_2, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 0, + }, //附缸2 + new LineSeries + { + Name = Properties.Resources.Temperature +"5("+Resources.Medicine + Resources.Tank +"3)", + Values = STTC_values, + Stroke = new SolidColorPaint(s_blue_3, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_blue_3, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 0, + }, //附缸3 + new LineSeries + { + Name = Properties.Resources.WaterLevel +"("+Properties.Resources.MasterCylinder+")", + Values = MTL_values, + Stroke = new SolidColorPaint(s_red, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_red, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 1, + }, //主缸液位 + new LineSeries + { + Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"1)", + Values = STLA_values, + Stroke = new SolidColorPaint(s_red_1, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_red_1, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 1, + }, //附缸1液位 + new LineSeries + { + Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"2)", + Values = STLB_values, + Stroke = new SolidColorPaint(s_red_2, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_red_2, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 1, + }, //附缸2液位 + new LineSeries + { + Name = Properties.Resources.WaterLevel +"("+Resources.Medicine + Resources.Tank +"3)", + Values = STLC_values, + Stroke = new SolidColorPaint(s_red_3, 2), + GeometrySize = 0, + GeometryStroke = new SolidColorPaint(s_red_3, 2), + Fill = null, + LineSmoothness = 0, + ScalesYAt = 1, + }, //附缸3液位 }; - } - } + } + } } } diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 20b530e..ec5840c 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -81,14 +81,54 @@ namespace DyeingComputer.ViewModel SQL_data(); //读数据库 UPort(); //启动串口 CountDown(); //启动循环任务 + dt_a.RowChanged += Dt_a_rowchanged;//添加行更新事件 + dt_d.RowChanged += Dt_d_rowchanged; + dt_m.RowChanged += Dt_m_rowchanged; + dt_TP.RowChanged += Dt_tp_rowchanged; + dt_TP.RowDeleted += Dt_tp_rowchanged; + + IO_view(); + _ = AsyncTcpServer.Main(); IsInteractive = false; UserButton = false; - ProgramgroupView_run = new RelayCommand( execute:ProgramgroupView_run_ );//开始/暂停事件 } + private void Dt_tp_rowchanged(object sender, DataRowChangeEventArgs e) + { + try + { + TechnologicalProcess_View = ToObservableCollection(dt_TP); + } + catch (Exception) { } + }//工艺步骤表更新事件 + private void Dt_a_rowchanged(object sender,DataRowChangeEventArgs e) + { + try + { + if ((bool)A_view) SYSData_A = ToObservableCollection(dt_a); + } + catch (Exception ex) { Name_err = "IO_SYSData_A" + "(" + ex.Message + ")"; } + }//aio表更新事件 + private void Dt_d_rowchanged(object sender, DataRowChangeEventArgs e) + { + try + { + if ((bool)D_view) SYSData_D = ToObservableCollection(dt_d); + } + catch (Exception ex) { Name_err = "IO_SYSData_D" + "(" + ex.Message + ")"; } + }//dio表更新事件 + private void Dt_m_rowchanged(object sender, DataRowChangeEventArgs e) + { + try + { + SYSData_M = ToObservableCollection(dt_m); + } + catch (Exception ex) { Name_err = "IO_SYSData_M" + "(" + ex.Message + ")"; } + }//寄存器表更新事件 + DataTable dt_con = new DataTable(); DataTable dt_sys = new DataTable(); public string Selet_con(string key)//配置缓存 @@ -317,7 +357,6 @@ namespace DyeingComputer.ViewModel STEP_RUN(); LOG_view(); - IO_view(); if (!string.IsNullOrEmpty(Name_err.ToString())) { @@ -1697,7 +1736,7 @@ namespace DyeingComputer.ViewModel public static object D_view=true; public static object A_view=true; - private async void IO_view()//IO显示 + public async void IO_view()//IO显示 { await Task.Run(() => { @@ -1706,13 +1745,13 @@ namespace DyeingComputer.ViewModel SYSData_M = ToObservableCollection(dt_m); } catch (Exception ex) { Name_err = "IO_SYSData_M" + "(" + ex.Message + ")"; } - + try { if ((bool)A_view) SYSData_A = ToObservableCollection(dt_a); } catch (Exception ex) { Name_err = "IO_SYSData_A" + "(" + ex.Message + ")"; } - + try { if ((bool)D_view) SYSData_D = ToObservableCollection(dt_d);