diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
index aca50cf..02c832a 100644
--- a/Properties/Resources.Designer.cs
+++ b/Properties/Resources.Designer.cs
@@ -141,6 +141,15 @@ namespace DyeingComputer.Properties {
}
}
+ ///
+ /// 查找类似 Bottom 的本地化字符串。
+ ///
+ public static string Bottom {
+ get {
+ return ResourceManager.GetString("Bottom", resourceCulture);
+ }
+ }
+
///
/// 查找类似 CallDistribution 的本地化字符串。
///
diff --git a/Properties/Resources.en-US.resx b/Properties/Resources.en-US.resx
index 20fe039..34c102d 100644
--- a/Properties/Resources.en-US.resx
+++ b/Properties/Resources.en-US.resx
@@ -480,4 +480,7 @@
Dyelot
+
+ Bottom
+
\ No newline at end of file
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
index d301f8b..f0b59a1 100644
--- a/Properties/Resources.resx
+++ b/Properties/Resources.resx
@@ -480,4 +480,7 @@
Dyelot
+
+ Bottom
+
\ No newline at end of file
diff --git a/Properties/Resources.zh-CN.resx b/Properties/Resources.zh-CN.resx
index ae44871..feeac58 100644
--- a/Properties/Resources.zh-CN.resx
+++ b/Properties/Resources.zh-CN.resx
@@ -480,4 +480,7 @@
领料单
+
+ 底
+
\ No newline at end of file
diff --git a/ViewModel/CurveDiagramViewModel.cs b/ViewModel/CurveDiagramViewModel.cs
index aa65a25..ea1473c 100644
--- a/ViewModel/CurveDiagramViewModel.cs
+++ b/ViewModel/CurveDiagramViewModel.cs
@@ -18,75 +18,14 @@ using SkiaSharp;
using LiveChartsCore.Defaults;
using static System.Net.WebRequestMethods;
using System.Collections.ObjectModel;
+using DyeingComputer.Properties;
+using LiveChartsCore.Measure;
+using LiveChartsCore.Motion;
namespace DyeingComputer.ViewModel
{
public partial class CurveDiagramViewModel : ObservableObject//ViewModelBase
{
- /* public ISeries[] Series { get; set; } =
- {
- new LineSeries
- {
- Name = Properties.Resources.Temperature +"1",
- Values = new DateTimePoint[]
- {
- new DateTimePoint(Convert.ToDateTime( "2024-01-01 09:08:00"), 24),
- new DateTimePoint(Convert.ToDateTime( "2024-01-02 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-03 09:08:00"), 67),
- },
- Stroke = new SolidColorPaint(s_blue, 2),
- GeometrySize = 2,
- GeometryStroke = new SolidColorPaint(s_blue, 2),
- Fill = null,
- LineSmoothness = 0,
- ScalesYAt = 0,
- },
- new LineSeries
- {
- Name = Properties.Resources.Temperature +"2",
- Values = new DateTimePoint[]
- {
- new DateTimePoint(Convert.ToDateTime( "2024-01-01 09:08:00"), 424),
- new DateTimePoint(Convert.ToDateTime( "2024-01-02 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-03 09:08:00"), 647),
- new DateTimePoint(Convert.ToDateTime( "2024-01-04 09:08:00"), 532),
- new DateTimePoint(Convert.ToDateTime( "2024-01-05 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-06 09:08:00"), 287),
- new DateTimePoint(Convert.ToDateTime( "2024-01-07 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-8 09:08:00"), 17),
- },
- Fill = null,
- Stroke = new SolidColorPaint(s_blue, 2),
- GeometrySize = 2,
- GeometryStroke = new SolidColorPaint(s_blue, 2),
- LineSmoothness = 0,
- ScalesYAt = 0,
- },
-
- new LineSeries
- {
- Name = Properties.Resources.WaterLevel,
- Values = new DateTimePoint[]
- {
- new DateTimePoint(Convert.ToDateTime( "2024-01-01 09:08:00"), 4),
- new DateTimePoint(Convert.ToDateTime( "2024-01-02 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-03 09:08:00"), 647),
- new DateTimePoint(Convert.ToDateTime( "2024-01-04 09:08:00"), 5732),
- new DateTimePoint(Convert.ToDateTime( "2024-01-05 09:08:00"), 5457),
- new DateTimePoint(Convert.ToDateTime( "2024-01-06 09:08:00"), 2257),
- new DateTimePoint(Convert.ToDateTime( "2024-01-07 09:08:00"), 57),
- new DateTimePoint(Convert.ToDateTime( "2024-01-8 09:08:00"), 517),
- },
-
- Fill = null,
- Stroke = new SolidColorPaint(s_red, 2),
- GeometrySize = 2,
- GeometryStroke = new SolidColorPaint(s_red, 2),
- LineSmoothness = 0,
- ScalesYAt = 1,
-
- }
- };*/
public ISeries[] Series { get; set; }
//x轴时间格式
public Axis[] XAxes { get; set; } =
@@ -99,12 +38,22 @@ namespace DyeingComputer.ViewModel
},
};
//颜色
- private static readonly SKColor s_blue = new SKColor(25, 118, 210);
+ private static readonly SKColor s_blue = new SKColor(25, 118, 210);
+ private static readonly SKColor s_blue_0 = new SKColor(25, 18, 210);
+ private static readonly SKColor s_blue_1 = new SKColor(25, 118, 170);
+ private static readonly SKColor s_blue_2 = new SKColor(25, 118, 130);
+ private static readonly SKColor s_blue_3 = new SKColor(25, 118, 90);
+ private static readonly SKColor s_blue_4 = new SKColor(25, 118, 50);
private static readonly SKColor s_red = new SKColor(229, 57, 53);
+ private static readonly SKColor s_red_1 = new SKColor(189, 57, 53);
+ private static readonly SKColor s_red_2 = new SKColor(149, 57, 53);
+ private static readonly SKColor s_red_3 = new SKColor(109, 57, 53);
private static readonly SKColor s_yellow = new SKColor(198, 167, 0);
public ICartesianAxis[] YAxes { get; set; } ={
new Axis //y在此轴上缩放
- {
+ {
+ MinLimit =0,
+ MaxLimit =150,
Name = Properties.Resources.Temperature +" ( °C )",
NameTextSize = 24,
NamePaint = new SolidColorPaint(s_blue),
@@ -115,11 +64,13 @@ namespace DyeingComputer.ViewModel
TicksPaint = new SolidColorPaint(s_blue),
SubticksPaint = new SolidColorPaint(s_blue),
DrawTicksPath = true,
- CrosshairSnapEnabled = true
+ CrosshairSnapEnabled = true,
+ Position = LiveChartsCore.Measure.AxisPosition.Start
},//温度轴
new Axis // the "hundreds" series will be scaled on this axis
- {
- Name = Properties.Resources.Flowmeter +" ( L )",
+ {
+ MinLimit =0,
+ Name = Properties.Resources.WaterLevel +" ( L )",
NameTextSize = 24,
NamePaint = new SolidColorPaint(s_red),
NamePadding = new LiveChartsCore.Drawing.Padding(0, 20),
@@ -129,15 +80,42 @@ namespace DyeingComputer.ViewModel
TicksPaint = new SolidColorPaint(s_red),
SubticksPaint = new SolidColorPaint(s_red),
DrawTicksPath = true,
- ShowSeparatorLines = false,
CrosshairSnapEnabled = true,
Position = LiveChartsCore.Measure.AxisPosition.End
}, //液位轴
+ new Axis //
+ {
+ MinLimit =0,
+ MaxLimit =14,
+ Name = "PH ( pH )",
+ NameTextSize = 16,
+ NamePaint = new SolidColorPaint(s_yellow),
+ NamePadding = new LiveChartsCore.Drawing.Padding(0, 20),
+ Padding = new LiveChartsCore.Drawing.Padding(20, 0, 0, 0),
+ TextSize = 16,
+ LabelsPaint = new SolidColorPaint(s_yellow),
+ TicksPaint = new SolidColorPaint(s_yellow),
+ SubticksPaint = new SolidColorPaint(s_yellow),
+ DrawTicksPath = true,
+ CrosshairSnapEnabled = true,
+ Position = LiveChartsCore.Measure.AxisPosition.End
+ }, //PH轴
+
+ //new AnimatableAxisBounds
};
private readonly Random _r = new Random();
- private readonly ObservableCollection _values;
- private DateTimePoint _current;
+ 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 SQLiteHelper SQLiteHelpers = null; //定义数据库
private readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径
@@ -151,38 +129,190 @@ namespace DyeingComputer.ViewModel
SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where DYELOT = '" + MainWindowViewModel.WorkNumder + "'order by Time", null).Tables[0];
- CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart order by Time", null).Tables[0];
SQLiteHelpers.Close();
CDB_Count = CDB.Rows.Count;
- var items = new List();
+ var MTT_items = new List();
+ var MTL_items = new List();
+ var MTH_items = new List();
+ var MST_items = new List();
+ var MUT_items = new List();
+ var STTA_items = new List();
+ var STLA_items = new List();
+ var STTB_items = new List();
+ var STLB_items = new List();
+ var STTC_items = new List();
+ var STLC_items = new List();
for (var i = 0; i < CDB_Count; i++)
{
- // _current += _r.Next(-9, 10);
- // CDB.Rows[i].Field("varchar")
- items.Add(new DateTimePoint(Convert.ToDateTime(CDB.Rows[i].Field("Time")), CDB.Rows[i].Field("MTT")));
+ DateTime TIME = Convert.ToDateTime(CDB.Rows[i].Field("Time"));
+ MTT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTT")));
+ MTL_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTL")));
+ MTH_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTH")));
+ MST_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MST")));
+ MUT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MUT")));
+ if (MainWindowViewModel.SM01 == 1)
+ {
+ STTA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTA")));
+ STLA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLA")));
+ }
+ if (MainWindowViewModel.SM02 == 1)
+ {
+ STTB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTB")));
+ STLB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLB")));
+ }
+ if (MainWindowViewModel.SM03 == 1)
+ {
+ STTC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTC")));
+ STLC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLC")));
+ }
}
- _values = new ObservableCollection(items);
+ 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);
+ if (MainWindowViewModel.SM01 == 1)
+ {
+ STTA_values = new ObservableCollection(STTA_items);
+ STLA_values = new ObservableCollection(STLA_items);
+ }
+ if (MainWindowViewModel.SM02 == 1)
+ {
+ STTB_values = new ObservableCollection(STTB_items);
+ STLB_values = new ObservableCollection(STLB_items);
+ }
+ if (MainWindowViewModel.SM03 == 1)
+ {
+ STTC_values = new ObservableCollection(STTC_items);
+ STLC_values = new ObservableCollection(STLC_items);
+ }
Series = new ISeries[]
{
new LineSeries
{
- Name = Properties.Resources.Temperature +"1",
- Values = _values,
- Stroke = new SolidColorPaint(s_blue, 2),
- GeometrySize = 0,
- GeometryStroke = new SolidColorPaint(s_blue, 2),
+ Name = Properties.Resources.MasterCylinder +"PH",
+ Values = MTH_values,
+ Stroke = new SolidColorPaint(s_yellow, 2),
+ GeometrySize = 0,
+ GeometryStroke = new SolidColorPaint(s_yellow, 2),
+ Fill = null,
+ LineSmoothness = 0,
+ ScalesYAt = 2,
+ }, //PH
+ new LineSeries
+ {
+ Name = Resources.Target + Resources.Temperature,
+ Values = MST_values,
+ Stroke = new SolidColorPaint(s_blue_0, 2),
+ GeometrySize = 0,
+ GeometryStroke = new SolidColorPaint(s_blue_0, 2),
+ Fill = null,
+ LineSmoothness = 0,
+ ScalesYAt = 0,
+ }, //目标温度
+ new LineSeries
+ {
+ Name = Properties.Resources.Temperature +"1("+Properties.Resources.MasterCylinder+")",
+ Values = MTT_values,
+ Stroke = new SolidColorPaint(s_blue, 2),
+ GeometrySize = 0,
+ GeometryStroke = new SolidColorPaint(s_blue, 2),
+ Fill = null,
+ LineSmoothness = 0,
+ ScalesYAt = 0,
+ }, //主缸
+ new LineSeries
+ {
+ Name = Properties.Resources.Temperature +"2("+Properties.Resources.MasterCylinder+Properties.Resources.Bottom+")",
+ Values = MUT_values,
+ Stroke = new SolidColorPaint(s_blue_4, 2),
+ GeometrySize = 0,
+ GeometryStroke = new SolidColorPaint(s_blue_4, 2),
+ 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 液位
};
-
}
-
-
}
}
}
diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs
index c3d3e69..8f16b84 100644
--- a/ViewModel/MainWindowViewModel.cs
+++ b/ViewModel/MainWindowViewModel.cs
@@ -71,7 +71,36 @@ namespace DyeingComputer.ViewModel
UPort(); //启动串口
CountDown(); //启动循环任务
}
-
+ DataTable dt_con = new DataTable();
+ DataTable dt_sys = new DataTable();
+ public string Selet_con(string key)//配置缓存
+ {
+ try
+ {
+ DataRow[] arrRows = dt_con.Select("ParameterID ='" + key + "'");
+ string index = arrRows[0]["Value"].ToString();
+ return index;
+ }
+ catch (Exception ex)
+ {
+ LogGing.LogGingDATA(ex.ToString());
+ return "0";
+ }
+ }
+ public string Selet_sys(string key)//配置缓存
+ {
+ try
+ {
+ DataRow[] arrRows = dt_sys.Select("ParameterID ='" + key + "'");
+ string index = arrRows[0]["Value"].ToString();
+ return index;
+ }
+ catch (Exception ex)
+ {
+ LogGing.LogGingDATA(ex.ToString());
+ return "0";
+ }
+ }
private static int MT05;//主缸排水延时
private static int MT06;//主缸排水延时
private int MT12;
@@ -84,14 +113,13 @@ namespace DyeingComputer.ViewModel
private int MT41;//安全水位
private static int MU01;//呼叫操作员
private int S16;//机型
- private int SM01;//副缸
- private int SM02;//副缸
- private int SM03;//副缸
+ public static int SM01;//副缸
+ public static int SM02;//副缸
+ public static int SM03;//副缸
private double MS01;//1缸温度偏差
private double MS02;//2缸温度偏差
private double MS03;//3缸温度偏差
-
void SYS_SET()
{
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
@@ -127,36 +155,6 @@ namespace DyeingComputer.ViewModel
SM02 = Convert.ToInt16(Selet_sys("SM02"));//FG
SM03 = Convert.ToInt16(Selet_sys("SM03"));//FG
}
- DataTable dt_con = new DataTable();
- DataTable dt_sys = new DataTable();
- public string Selet_con(string key)//配置缓存
- {
- try
- {
- DataRow[] arrRows = dt_con.Select("ParameterID ='" + key + "'");
- string index = arrRows[0]["Value"].ToString();
- return index;
- }
- catch (Exception ex)
- {
- LogGing.LogGingDATA(ex.ToString());
- return "0";
- }
- }
- public string Selet_sys(string key)//配置缓存
- {
- try
- {
- DataRow[] arrRows = dt_sys.Select("ParameterID ='" + key + "'");
- string index = arrRows[0]["Value"].ToString();
- return index;
- }
- catch (Exception ex)
- {
- LogGing.LogGingDATA(ex.ToString());
- return "0";
- }
- }
public string work_Temp; //显示温度
public string Work_Temp //通知UI控件参数改变
@@ -278,10 +276,11 @@ namespace DyeingComputer.ViewModel
Dictionary Chart_new = new Dictionary();//缓存函数
Chart_new.Add("DYELOT", work_Numder);
Chart_new.Add("Time", sys_Time);
- Chart_new.Add("MST", string.Format(" {0:###.#}", TEMP_co));
+ Chart_new.Add("MST", string.Format(" {0:###.#}", TEMP_tar));
Chart_new.Add("MTT", Selet_dtm("1010"));
Chart_new.Add("MTL", Selet_dtm("1015"));
Chart_new.Add("MTH", Selet_dtm("1009"));
+ Chart_new.Add("MUT", Selet_dtm("1011"));
Chart_new.Add("STTA", Selet_dtm("1012"));
Chart_new.Add("STLA", Selet_dtm("1017"));
Chart_new.Add("STTB", Selet_dtm("1013"));