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

17
View/DyeingPlanView.xaml.cs

@ -179,24 +179,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
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("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);//行插入
WorkOrder_DAT.Clear();
}

10
View/ProductionPlanningView.xaml.cs

@ -280,7 +280,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{
DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
{
Interval = TimeSpan.FromSeconds(1)//秒
Interval = TimeSpan.FromSeconds(5)//秒
};
timer1s.Tick += Tick_Event_1S;
timer1s.Start();
@ -288,11 +288,11 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
public static bool UI;
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
{
if (UI)
{
// if (UI)
// {
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 >'" +
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++)
{//网络
{
string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
//string m= WorkOrderstepdata.Rows[k].Field<string>("Machines");
if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'")))
{
{//网络
//string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null).Tables[0];
@ -249,7 +249,43 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
}
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]; //读取表写入缓存
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 } },
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 114 } },
"WorkOrder ='" + WorkOrderset_.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
}
else
{//串口

Loading…
Cancel
Save