diff --git a/View/Whole.xaml.cs b/View/Whole.xaml.cs index a945b52..382bfec 100644 --- a/View/Whole.xaml.cs +++ b/View/Whole.xaml.cs @@ -126,7 +126,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View if ((t30S > 10)&&(State_!="800")) { t30S = 0; - inf[i].DataAdd(dateTime,(double)Selet_Machines(MainWindowViewModel.Machines, "Temperature", i)); + inf[i].DataAdd(dateTime,Convert.ToDouble( Selet_Machines(MainWindowViewModel.Machines, "Temperature", i))); // DataRow whole_Dat = MainWindowViewModel.Whole_dat.NewRow(); // whole_Dat["Machine"] = Selet_Machines(MainWindowViewModel.Machines, "NAME", i).ToString(); diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 130fb76..857b984 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -120,9 +120,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel USERCapacity(App.USER_Purview);//App.USER_Purview); UPort();//启动串口 CountDown(); + ClientNEW(); TcpClientNEW(); PortClientNEW(); - ClientNEW(); SQL_LINK(); } public static void USERCapacity(string user) //权限 @@ -360,13 +360,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel /*下传工单信息*/ SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径 WorkOrderSQL.Open(); //打开数据库 - DataTable WorkOrderstepdata = WorkOrderSQL.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]; //读取表写入缓存 + DataTable WorkOrderstepdata = WorkOrderSQL.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++) { - if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "ID='" + 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(); + //string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field("Machines").ToString(); DataTable dataTable = WorkOrderSQL.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" + WorkOrderstepdata.Select()[k].Field("WorkOrder").ToString() + "'", null).Tables[0]; int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderdata_m + "'").ToString()); @@ -384,13 +386,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } } /*下传工单总览*/ - DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100' or State='110'" + - "AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 + DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where (State='100' or State='110') AND EndTime >'" + + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 for (int k = 0; k < WorkOrderdata.Rows.Count; k++) { - if (Convert.ToBoolean( Selet_Machines(Machines, "Type", "ID='" + k + "'"))) + string WorkOrderdata_m = WorkOrderdata.Select()[k].Field("Machines").ToString(); + //string m = WorkOrderdata.Rows[k].Field("Machines"); + if (Convert.ToBoolean( Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'"))) { - string WorkOrderdata_m = WorkOrderdata.Select()[k].Field("Machines").ToString(); + //string WorkOrderdata_m = WorkOrderdata.Select()[k].Field("Machines").ToString(); string State = Selet_Machines(Machines, "State", "Name='" + WorkOrderdata_m + "'").ToString(); if ((State == "101") || (State == "201") || (State == "202") || (State == "309")) @@ -415,7 +419,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } else { - string WorkOrderdata_m = WorkOrderdata.Select()[k].Field("Machines").ToString(); + //string WorkOrderdata_m = WorkOrderdata.Select()[k].Field("Machines").ToString(); string State = Selet_Machines(Machines, "State", "Name='" + WorkOrderdata_m + "'").ToString(); string POR = Selet_Machines(Machines, "Serial", "ID='" + k + "'").ToString(); @@ -441,13 +445,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } } /*下传工单设置*/ - DataTable WorkOrderset_ = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='113'"+ - "AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 + DataTable WorkOrderset_ = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='113' 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++) { - if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "ID='" + k + "'"))) + string WorkOrderset_m = WorkOrderset_.Select()[k].Field("Machines").ToString(); + //string m = WorkOrderset_.Rows[k].Field("Machines"); + if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderset_m + "'"))) { - string WorkOrderset_m = WorkOrderset_.Select()[k].Field("Machines").ToString(); + //string WorkOrderset_m = WorkOrderset_.Select()[k].Field("Machines").ToString(); string WorkOrderset_w = WorkOrderset_.Select()[k].Field("WorkOrder").ToString(); int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderset_m + "'").ToString()); @@ -467,7 +473,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } else { - string WorkOrderset_m = WorkOrderset_.Select()[k].Field("Machines").ToString(); + //string WorkOrderset_m = WorkOrderset_.Select()[k].Field("Machines").ToString(); string WorkOrderset_w = WorkOrderset_.Select()[k].Field("WorkOrder").ToString(); string POR = Selet_Machines(Machines, "Serial", "ID='" + k + "'").ToString(); @@ -578,7 +584,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel }); } - Updata_Machines(Machines, "State", "ID='" + MachinesRow["ID"] + "'", "101"); + // Updata_Machines(Machines, "State", "ID='" + MachinesRow["ID"] + "'", "800"); } int m_run =Convert.ToInt16( MachinesRow["WORK_RUN"]); @@ -636,7 +642,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel stringQueue.Enqueue(new QueueString { ID = Convert.ToInt16(MachinesRow["ID"]), - DAT = "SC800:SCCM[" + MachinesRow["IP"] + ";" + MachinesRow["Prot"] + "]" + DAT = "SC800:SCCM[" + MachinesRow["IP"] + ";" + MachinesRow["PORT"] + "]" });//信息插入队列 } @@ -943,8 +949,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } } - public static TcpClient[] MachiensTcpClient = new TcpClient[999]; - public static DataRow[] machinesdata = new DataRow[999]; + public static TcpClient[] MachiensTcpClient = new TcpClient[99]; + public static SerialPortClient[] MachiensPortClient = new SerialPortClient[99]; + //public static DataRow[] machinesdata = new DataRow[999]; public void ClientNEW() { foreach (DataRow dataRow in Machines.Rows) @@ -981,9 +988,29 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel { if (!Convert.ToBoolean(dataRow["Type"])) { - // MachiensTcpClient[Convert.ToInt16(dataRow["ID"])] = new TcpClient(); - // _ = AsyncTcpClient.TcpClient(MachiensTcpClient[Convert.ToInt16(dataRow["ID"])] //建立tcp连接 - // , dataRow["IP"].ToString(), dataRow["PORT"].ToString()); + string Serial_ = dataRow["Serial"].ToString(); + + if (Serial_ == "PORT1") + { + MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient(); + _ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接 + , Configini.IniReadvalue("SYS", "COMP1") + , Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1"))); + } + else if (Serial_ == "PORT2") + { + MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient(); + _ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接 + , Configini.IniReadvalue("SYS", "COMP2") + , Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD2"))); + } + else if (Serial_ == "PORT3") + { + MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient(); + _ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接 + , Configini.IniReadvalue("SYS", "COMP3") + , Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD3"))); + } } } }