错误修正

This commit is contained in:
sc committed 2025-09-26 01:18:25 +08:00
commit 7c744f72f6
4 files changed
+198 -172

No files matched your search

+13 -16
View File
@@ -90,7 +90,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
CrosshairSnapEnabled = true,
Position = LiveChartsCore.Measure.AxisPosition.End
}, //液位轴
new Axis //
/* new Axis //
{
MinLimit =0,
MaxLimit =14,
@@ -106,7 +106,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
DrawTicksPath = true,
CrosshairSnapEnabled = true,
Position = LiveChartsCore.Measure.AxisPosition.End
}, //PH轴
},*/ //PH轴
};
private static Random _r = new Random();
@@ -136,10 +136,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
if (mode)
{
if (string.IsNullOrEmpty(w)) return;
SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where WorkOrder = '" + w + "'order by Time", null).Tables[0];
SQLiteHelpers.Close();
CDB = MainWindowViewModel.SQLiteChartAdress.ExecuteDataSet("select * from Chart where WorkOrder = '" + w + "'order by Time", null).Tables[0];
}
else
@@ -147,18 +144,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
if (string.IsNullOrEmpty(m)) return;
if (string.IsNullOrEmpty(s)) return;
if (string.IsNullOrEmpty(e)) return;
SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where Machine = '" + m + "'" +
// SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
// SQLiteHelpers.Open(); //打开数据库
CDB = MainWindowViewModel.SQLiteChartAdress.ExecuteDataSet("select * from Chart where Machine = '" + m + "'" +
" and Time > '" + s + "' and Time < '" + e + "' order by Time", null).Tables[0];
SQLiteHelpers.Close();
// SQLiteHelpers.Close();
}
CDB_Count = CDB.Rows.Count;
var MTT_items = new List<DateTimePoint>();
var MTL_items = new List<DateTimePoint>();
var MTH_items = new List<DateTimePoint>();
// var MTH_items = new List<DateTimePoint>();
var MST_items = new List<DateTimePoint>();
var MUT_items = new List<DateTimePoint>();
var STTA_items = new List<DateTimePoint>();
@@ -167,12 +164,12 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
var STLB_items = new List<DateTimePoint>();
var STTC_items = new List<DateTimePoint>();
var STLC_items = new List<DateTimePoint>();
for (var i = 0; i < CDB_Count; i++)
for (var i = 0; i < CDB_Count; i=i+10)
{
DateTime TIME = Convert.ToDateTime(CDB.Rows[i].Field<string>("Time"));
MTT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MTT")));
MTL_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MTL")));
MTH_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MTH")));
// MTH_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MTH")));
MST_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MST")));
MUT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("MUT")));
STTA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field<double>("STTA")));
@@ -186,7 +183,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
MTT_values = new ObservableCollection<DateTimePoint>(MTT_items);
MTL_values = new ObservableCollection<DateTimePoint>(MTL_items);
MTH_values = new ObservableCollection<DateTimePoint>(MTH_items);
// MTH_values = new ObservableCollection<DateTimePoint>(MTH_items);
MST_values = new ObservableCollection<DateTimePoint>(MST_items);
MUT_values = new ObservableCollection<DateTimePoint>(MUT_items);
STTA_values = new ObservableCollection<DateTimePoint>(STTA_items);
@@ -198,7 +195,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
Series = new ISeries[]
{
new LineSeries<DateTimePoint>
/* new LineSeries<DateTimePoint>
{
Name = Properties.Resources.MasterCylinder +"PH",
Values = MTH_values,
@@ -208,7 +205,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
Fill = null,
LineSmoothness = 0,
ScalesYAt = 2,
}, //PH
}, *///PH
new LineSeries<DateTimePoint>
{
Name = Resources.Target + Resources.Temperature,
+158 -150
View File
@@ -1062,8 +1062,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1")));
AsyncSerialPortClient._responseEvent.Set();
Thread myThread1 = new Thread(Port1_link);
myThread1.Start();
Port1_link();
}
if (Machines.Select("Type='false' AND Serial='PORT2'").Length > 0)
{
@@ -1075,8 +1074,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD2")));
AsyncSerialPortClient._responseEvent2.Set();
Thread myThread2 = new Thread(Port2_link);
myThread2.Start();
Port2_link();
}
if (Machines.Select("Type='false' AND Serial='PORT3'").Length > 0)
{
@@ -1087,9 +1085,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
, Configini.IniReadvalue("SYS", "COMP3")
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD3")));
AsyncSerialPortClient._responseEvent3.Set();
Thread myThread3 = new Thread(Port3_link);
myThread3.Start();
Port3_link();
}
if (Machines.Select("Type='false' AND Serial='PORT4'").Length > 0)
{
@@ -1100,194 +1097,205 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
, Configini.IniReadvalue("SYS", "COMP4")
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD4")));
AsyncSerialPortClient._responseEvent4.Set();
Thread myThread4 = new Thread(Port4_link);
myThread4.Start();
Port4_link();
}
}
private void Port1_link()
private async void Port1_link()
{
while (true)
await Task.Run(() =>
{
try
while (MachiensPortClient[0].Online )
{
if (stringQueueSerial_1.Count > 0) //信息发送队列
try
{
if (AsyncSerialPortClient._responseEvent.IsSet)
if (stringQueueSerial_1.Count > 0) //信息发送队列
{
QueueSerial t = stringQueueSerial_1.Dequeue();
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[0], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT1'"))
{
if (MachinesRow["State"].ToString() == "800")
if (AsyncSerialPortClient._responseEvent.IsSet)
{
stringQueueSerial_1.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
QueueSerial t = stringQueueSerial_1.Dequeue();
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[0], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(5));
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT1'"))
{
if (MachinesRow["State"].ToString() == "800")
{
stringQueueSerial_1.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(5));
}
}
}
}
catch (Exception)
{
}
finally
{
}
}
catch (Exception)
{
}
finally
{
}
}
});
}//发送
private void Port2_link()
private async void Port2_link()
{
while (true)
await Task.Run(() =>
{
try
while (MachiensPortClient[1].Online)
{
if (stringQueueSerial_2.Count > 0) //信息发送队列
try
{
if (AsyncSerialPortClient._responseEvent2.IsSet)
if (stringQueueSerial_2.Count > 0) //信息发送队列
{
QueueSerial t = stringQueueSerial_2.Dequeue();
AsyncSerialPortClient.SendCommandAndWait2(MachiensPortClient[1], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT2'"))
{
if (MachinesRow["State"].ToString() == "800")
if (AsyncSerialPortClient._responseEvent2.IsSet)
{
stringQueueSerial_2.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(5));
}
}
}
}
catch (Exception)
{
}
finally
{
}
}
}//发送
private void Port3_link()
{
while (true)
{
try
{
if (stringQueueSerial_3.Count > 0) //信息发送队列
{
if (AsyncSerialPortClient._responseEvent3.IsSet)
{
QueueSerial t = stringQueueSerial_3.Dequeue();
AsyncSerialPortClient.SendCommandAndWait3(MachiensPortClient[2], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT3'"))
{
if (MachinesRow["State"].ToString() == "800")
{
stringQueueSerial_3.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
QueueSerial t = stringQueueSerial_2.Dequeue();
AsyncSerialPortClient.SendCommandAndWait2(MachiensPortClient[1], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
}
}
catch (Exception)
{
}
finally
{
}
}
}//发送
private void Port4_link()
{
while (true)
{
try
{
if (stringQueueSerial_4.Count > 0) //信息发送队列
{
if (AsyncSerialPortClient._responseEvent4.IsSet)
{
QueueSerial t = stringQueueSerial_4.Dequeue();
AsyncSerialPortClient.SendCommandAndWait4(MachiensPortClient[3], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT2'"))
{
if (MachinesRow["State"].ToString() == "800")
{
stringQueueSerial_2.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(5));
}
}
}
}
else
catch (Exception)
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT4'"))
}
finally
{
}
}
});
}//发送
private async void Port3_link()
{
await Task.Run(() =>
{
while (MachiensPortClient[2].Online)
{
try
{
if (stringQueueSerial_3.Count > 0) //信息发送队列
{
if (MachinesRow["State"].ToString() == "800")
if (AsyncSerialPortClient._responseEvent3.IsSet)
{
stringQueueSerial_4.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
QueueSerial t = stringQueueSerial_3.Dequeue();
AsyncSerialPortClient.SendCommandAndWait3(MachiensPortClient[2], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT3'"))
{
if (MachinesRow["State"].ToString() == "800")
{
stringQueueSerial_3.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
}
}
catch (Exception)
{
}
finally
{
}
}
catch (Exception)
});
}//发送
private async void Port4_link()
{
await Task.Run(() =>
{
while (MachiensPortClient[3].Online)
{
try
{
if (stringQueueSerial_4.Count > 0) //信息发送队列
{
if (AsyncSerialPortClient._responseEvent4.IsSet)
{
QueueSerial t = stringQueueSerial_4.Dequeue();
AsyncSerialPortClient.SendCommandAndWait4(MachiensPortClient[3], t.DAT + "\n");
//MachiensPortClient[t.ID].Send(t.DAT);
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
else
{
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT4'"))
{
if (MachinesRow["State"].ToString() == "800")
{
stringQueueSerial_4.Enqueue(new QueueSerial
{
ID = Convert.ToInt16(MachinesRow["ID"]),
DAT = "SC800[" + MachinesRow["Station"] + "]"
});
}
else
{
Thread.Sleep(TimeSpan.FromMilliseconds(50));
}
}
}
}
catch (Exception)
{
}
finally
{
}
}
finally
{
}
}
});
}//发送
public static string SYS_WorkNumder; //工单号