diff --git a/UserClass/AsyncSerialPortClient.cs b/UserClass/AsyncSerialPortClient.cs index 0290bc1..c803d65 100644 --- a/UserClass/AsyncSerialPortClient.cs +++ b/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毫秒或直到收到响应 diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 41e3ecc..5aa95fb 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/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("Machines").ToString(); //string m= WorkOrderstepdata.Rows[k].Field("Machines"); if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'"))) - { + {//网络 //string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field("Machines").ToString(); DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" + WorkOrderstepdata.Select()[k].Field("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("WorkOrder").ToString() + "' AND ReDye ='"+ + WorkOrderstepdata.Select()[k].Field("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() + }); + } } } /*下传工单总览*/