Browse Source

工艺排程与工艺传输问题错误修正

master
sc 3 weeks ago
parent
commit
574f468a5e
  1. 4
      UserClass/AsyncSerialPortClient.cs
  2. 17
      View/DyeingPlanView.xaml.cs
  3. 10
      View/ProductionPlanningView.xaml.cs
  4. 48
      ViewModel/MainWindowViewModel.cs

4
UserClass/AsyncSerialPortClient.cs

@ -270,8 +270,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
return EasyTask.CompletedTask; ; return EasyTask.CompletedTask; ;
}; };
await portclient.SetupAsync(new TouchSocketConfig() await portclient.SetupAsync(new TouchSocketConfig()
.SetMaxBufferSize(1024 * 1024 * 100) .SetMaxBufferSize(1024 * 1024 * 10)
.SetMinBufferSize(1024 * 1024 * 10)
.SetSerialPortOption(new SerialPortOption() .SetSerialPortOption(new SerialPortOption()
{ {
BaudRate = BAUD,//波特率 BaudRate = BAUD,//波特率
@ -417,6 +416,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
{ {
try try
{ {
var t= CRCcheck16.ToCRC16(command);
_responseEvent.Reset(); _responseEvent.Reset();
serialPortClients.Send(command); // 发送指令 serialPortClients.Send(command); // 发送指令
// 等待500毫秒或直到收到响应 // 等待500毫秒或直到收到响应

17
View/DyeingPlanView.xaml.cs

@ -179,24 +179,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数 Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
for (int x = 0; x < dat.Rows.Count; x++) for (int x = 0; x < dat.Rows.Count; x++)
{ {
WorkOrder_DAT = MainWindowViewModel.SQLiteHelpers.ToDictionary(dat.Rows[x]);
WorkOrder_DAT.Add("WorkOrder", WorkOrder_); WorkOrder_DAT.Add("WorkOrder", WorkOrder_);
WorkOrder_DAT.Add("Dyelot", Dyelot_); WorkOrder_DAT.Add("Dyelot", Dyelot_);
WorkOrder_DAT.Add("ProgramID", dat.Rows[x]["ProgramID"]);
WorkOrder_DAT.Add("Program", dat.Rows[x]["Program"]);
WorkOrder_DAT.Add("Step", dat.Rows[x]["Step"]);
WorkOrder_DAT.Add("StepID", dat.Rows[x]["StepID"]);
WorkOrder_DAT.Add("StepName", dat.Rows[x]["StepName"]);
WorkOrder_DAT.Add("ParameterName", dat.Rows[x]["ParameterName"]);
WorkOrder_DAT.Add("Parameter1", dat.Rows[x]["Parameter1"]);
WorkOrder_DAT.Add("Parameter2", dat.Rows[x]["Parameter2"]);
WorkOrder_DAT.Add("Parameter3", dat.Rows[x]["Parameter3"]);
WorkOrder_DAT.Add("Parameter4", dat.Rows[x]["Parameter4"]);
WorkOrder_DAT.Add("Parameter5", dat.Rows[x]["Parameter5"]);
WorkOrder_DAT.Add("Parameter6", dat.Rows[x]["Parameter6"]);
WorkOrder_DAT.Add("Parameter7", dat.Rows[x]["Parameter7"]);
WorkOrder_DAT.Add("Parameter8", dat.Rows[x]["Parameter8"]);
WorkOrder_DAT.Add("Parameter9", dat.Rows[x]["Parameter9"]);
WorkOrder_DAT.Add("Parameter10", dat.Rows[x]["Parameter10"]);
MainWindowViewModel.SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入 MainWindowViewModel.SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
WorkOrder_DAT.Clear(); WorkOrder_DAT.Clear();
} }

10
View/ProductionPlanningView.xaml.cs

@ -280,7 +280,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{ {
DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
{ {
Interval = TimeSpan.FromSeconds(1)//秒 Interval = TimeSpan.FromSeconds(5)//秒
}; };
timer1s.Tick += Tick_Event_1S; timer1s.Tick += Tick_Event_1S;
timer1s.Start(); timer1s.Start();
@ -288,11 +288,11 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
public static bool UI; public static bool UI;
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
{ {
if (UI) // if (UI)
{ // {
GanttChartNEW(); GanttChartNEW();
UI= false; // UI= false;
} // }
} }
} }
} }

48
ViewModel/MainWindowViewModel.cs

@ -230,11 +230,11 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
DataTable WorkOrderstepdata = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where (State='111' or State='112') AND EndTime >'" + DataTable WorkOrderstepdata = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where (State='111' or State='112') AND EndTime >'" +
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++) for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++)
{//网络 {
string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString(); string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
//string m= WorkOrderstepdata.Rows[k].Field<string>("Machines"); //string m= WorkOrderstepdata.Rows[k].Field<string>("Machines");
if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'"))) if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'")))
{ {//网络
//string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString(); //string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" + DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null).Tables[0]; WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null).Tables[0];
@ -249,7 +249,43 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
} }
else else
{//串口 {//串口
DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "' AND ReDye ='"+
WorkOrderstepdata.Select()[k].Field<object>("ReDye").ToString() + "' AND Mode<> '201'", null).Tables[0];
int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderdata_m + "'").ToString());
if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT1")
{
stringQueueSerial_1.Enqueue(new QueueSerial
{
ID = index,
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + dataTable.Rows[0].ToJsonString()
});
}
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT2")
{
stringQueueSerial_2.Enqueue(new QueueSerial
{
ID = index,
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + dataTable.Rows[0].ToJsonString()
});
}
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT3")
{
stringQueueSerial_3.Enqueue(new QueueSerial
{
ID = index,
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + dataTable.Rows[0].ToJsonString()
});
}
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT4")
{
stringQueueSerial_4.Enqueue(new QueueSerial
{
ID = index,
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + dataTable.Rows[0].ToJsonString()
});
}
} }
} }
/*下传工单总览*/ /*下传工单总览*/
@ -339,7 +375,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
} }
} }
/*下传工单设置*/ /*下传工单设置*/
DataTable WorkOrderset_ = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where State='113' AND EndTime >'" + DataTable WorkOrderset_ = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where (State='113'or State='114') AND EndTime >'" +
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
for (int k = 0; k < WorkOrderset_.Rows.Count; k++) for (int k = 0; k < WorkOrderset_.Rows.Count; k++)
{ {
@ -362,8 +398,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
}); });
} }
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } }, SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 114 } },
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); "WorkOrder ='" + WorkOrderset_.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
} }
else else
{//串口 {//串口

Loading…
Cancel
Save