|
|
@ -79,6 +79,7 @@ namespace DyeingComputer.UserClass |
|
|
|
service.Closed = (client, e) => { return EasyTask.CompletedTask; };//有客户端断开连接
|
|
|
|
service.Received = (client, e) => |
|
|
|
{ |
|
|
|
MainWindowViewModel.RX++; |
|
|
|
string SYSAPI = e.ByteBlock.Span.ToString(Encoding.ASCII).Substring(0,5); |
|
|
|
string DAT = e.ByteBlock.Span.ToString(Encoding.UTF8).Substring(5); |
|
|
|
string SYSDAT ="";// = e.ByteBlock.Span.ToString(Encoding.ASCII).Substring(5);
|
|
|
@ -94,6 +95,7 @@ namespace DyeingComputer.UserClass |
|
|
|
Chart_new.Add("SYSKEY", MainWindowViewModel.SYSKEY); |
|
|
|
Chart_new.Add("TIME", MainWindowViewModel.SYSTime); |
|
|
|
client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
else if (SYSAPI == "SC810") |
|
|
|
{ |
|
|
@ -104,23 +106,23 @@ namespace DyeingComputer.UserClass |
|
|
|
Dictionary<string, object> WorkOrder_dat; |
|
|
|
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT); |
|
|
|
//WorkOrder_dat.GetValue("WorkOrder");
|
|
|
|
bool dat_w= SQLDATA.WorkOrder( |
|
|
|
WorkOrder_dat.GetValue("WorkOrder").ToString(), |
|
|
|
bool dat_w = SQLDATA.WorkOrder( |
|
|
|
WorkOrder_dat.GetValue("WorkOrder").ToString(), |
|
|
|
WorkOrder_dat.GetValue("ProcessName").ToString(), |
|
|
|
WorkOrder_dat.GetValue("StartTime").ToString(), |
|
|
|
WorkOrder_dat.GetValue("EndTime").ToString(), |
|
|
|
WorkOrder_dat.GetValue("Time").ToString(), |
|
|
|
WorkOrder_dat.GetValue("EndTime").ToString(), |
|
|
|
WorkOrder_dat.GetValue("Time").ToString(), |
|
|
|
WorkOrder_dat.GetValue("Remark").ToString(), |
|
|
|
WorkOrder_dat.GetValue("lock").ToString(), |
|
|
|
WorkOrder_dat.GetValue("lock").ToString(), |
|
|
|
WorkOrder_dat.GetValue("State").ToString(), |
|
|
|
WorkOrder_dat.GetValue("ProcessID").ToString()); |
|
|
|
if (!dat_w) { client.SendAsync("SC910"); } |
|
|
|
else { client.SendAsync("SC810" + SYSKEY +SYSDAT); } |
|
|
|
WorkOrder_dat.GetValue("ProcessID").ToString()); |
|
|
|
if (!dat_w) { client.SendAsync("SC910"); } |
|
|
|
else { client.SendAsync("SC810" + SYSKEY + SYSDAT); MainWindowViewModel.TX++; } |
|
|
|
} |
|
|
|
catch |
|
|
|
catch |
|
|
|
{ |
|
|
|
client.SendAsync("SC990"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//WorkOrder表信息检查写入
|
|
|
@ -134,7 +136,7 @@ namespace DyeingComputer.UserClass |
|
|
|
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT); |
|
|
|
bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat); |
|
|
|
if (!dat_w) { client.SendAsync("SC911"); } |
|
|
|
else { client.SendAsync("SC811" + SYSKEY + SYSDAT); } |
|
|
|
else { client.SendAsync("SC811" + SYSKEY + SYSDAT); MainWindowViewModel.TX++; } |
|
|
|
} |
|
|
|
catch |
|
|
|
{ |
|
|
@ -157,6 +159,7 @@ namespace DyeingComputer.UserClass |
|
|
|
SetLocalDateTime(dt); |
|
|
|
} |
|
|
|
client.SendAsync("SC820" + "[" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "]"); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
catch { client.SendAsync("SC920"); } |
|
|
|
} |
|
|
@ -185,7 +188,7 @@ namespace DyeingComputer.UserClass |
|
|
|
} |
|
|
|
else if (dat_821.GetValue("INSTRUCTION").ToString() == "CONTINUE") |
|
|
|
{ |
|
|
|
MainWindowViewModel.WORK_RUN = 2;//暂停
|
|
|
|
MainWindowViewModel.WORK_RUN = 2;//
|
|
|
|
} |
|
|
|
else if (dat_821.GetValue("INSTRUCTION").ToString() == "JUMP") |
|
|
|
{ |
|
|
@ -252,12 +255,13 @@ namespace DyeingComputer.UserClass |
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
client.SendAsync("SC831" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_TP.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
}//插入
|
|
|
|
else if (dat_821.GetValue("INSTRUCTION").ToString() == "EDIT") |
|
|
|
{ |
|
|
|
int n = Convert.ToInt16(dat_821.GetValue("ID").ToString()); |
|
|
|
/**编辑行信息**/ |
|
|
|
DataRow dr =MainWindowViewModel.dt_TP.Rows[n - 1]; |
|
|
|
DataRow dr = MainWindowViewModel.dt_TP.Rows[n - 1]; |
|
|
|
dr.BeginEdit(); |
|
|
|
dr["StepID"] = dat_821.GetValue("StepID").ToString(); |
|
|
|
dr["StepName"] = dat_821.GetValue("StepName").ToString(); |
|
|
@ -270,7 +274,7 @@ namespace DyeingComputer.UserClass |
|
|
|
dr.EndEdit(); |
|
|
|
|
|
|
|
var _TechnologicalProcessView = Application.Current.Windows.Cast<UserControl>().FirstOrDefault(window => window is TechnologicalProcessView) as TechnologicalProcessView;//跨页面
|
|
|
|
// _TechnologicalProcessView.Grid.ItemsSource = TechnologicalProcessView.sql.Tables[0].DefaultView;
|
|
|
|
// _TechnologicalProcessView.Grid.ItemsSource = TechnologicalProcessView.sql.Tables[0].DefaultView;
|
|
|
|
_TechnologicalProcessView.Grid.SelectedIndex = -1; |
|
|
|
/**存入信息**/ |
|
|
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
@ -294,16 +298,17 @@ namespace DyeingComputer.UserClass |
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
client.SendAsync("SC831" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_TP.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
}//编辑
|
|
|
|
else if (dat_821.GetValue("INSTRUCTION").ToString() == "DELETE") |
|
|
|
{ |
|
|
|
int d = Convert.ToInt16(dat_821.GetValue("ID")); |
|
|
|
MainWindowViewModel.dt_TP.Rows.RemoveAt(d - 1); |
|
|
|
TechnologicalProcessView.Dat(); |
|
|
|
/**存入信息**/ |
|
|
|
TechnologicalProcessView.Dat(); |
|
|
|
/**存入信息**/ |
|
|
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
SQLiteHelpers.Open(); //打开数据库
|
|
|
|
SQLiteHelpers.Delete("RUN", null, null); |
|
|
|
SQLiteHelpers.Delete("RUN", null, null); |
|
|
|
DataTable data_t = MainWindowViewModel.dt_TP.Clone(); |
|
|
|
for (int i = 0; i < MainWindowViewModel.dt_TP.Rows.Count; i++) |
|
|
|
{ |
|
|
@ -318,10 +323,11 @@ namespace DyeingComputer.UserClass |
|
|
|
drT.EndEdit(); |
|
|
|
|
|
|
|
SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
|
|
|
|
} |
|
|
|
} |
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
client.SendAsync("SC831" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_TP.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
@ -336,25 +342,29 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
Dictionary<string, object> Chart_new = new Dictionary<string, object>();//缓存函数
|
|
|
|
Chart_new.Add("Status", MainWindowViewModel.StatusStr); |
|
|
|
Chart_new.Add("Machine", MainWindowViewModel.S01); |
|
|
|
Chart_new.Add("WorkNumder", MainWindowViewModel.WorkNumder); |
|
|
|
Chart_new.Add("Time", MainWindowViewModel.SYSTime); |
|
|
|
Chart_new.Add("Process", MainWindowViewModel.ProgramName); |
|
|
|
Chart_new.Add("Step", MainWindowViewModel.Process_step); |
|
|
|
Chart_new.Add("MST", MainWindowViewModel.TEMP_co); |
|
|
|
Chart_new.Add("MTT", MainWindowViewModel.Selet_dtm("1010")); |
|
|
|
Chart_new.Add("MTL", MainWindowViewModel.Selet_dtm("1015")); |
|
|
|
Chart_new.Add("MTH", MainWindowViewModel.Selet_dtm("1009")); |
|
|
|
Chart_new.Add("MUT", MainWindowViewModel.Selet_dtm("1011")); |
|
|
|
Chart_new.Add("STTA", MainWindowViewModel.Selet_dtm("1012")); |
|
|
|
Chart_new.Add("STLA", MainWindowViewModel.Selet_dtm("1017")); |
|
|
|
Chart_new.Add("STTB", MainWindowViewModel.Selet_dtm("1013")); |
|
|
|
Chart_new.Add("STLB", MainWindowViewModel.Selet_dtm("1018")); |
|
|
|
Chart_new.Add("STTC", MainWindowViewModel.Selet_dtm("1014")); |
|
|
|
Chart_new.Add("STLC", MainWindowViewModel.Selet_dtm("1019")); |
|
|
|
client.SendAsync("SC830" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString()); |
|
|
|
try { |
|
|
|
Dictionary<string, object> Chart_new = new Dictionary<string, object>();//缓存函数
|
|
|
|
Chart_new.Add("Status", MainWindowViewModel.StatusStr); |
|
|
|
Chart_new.Add("Machine", MainWindowViewModel.S01); |
|
|
|
Chart_new.Add("WorkNumder", MainWindowViewModel.WorkNumder); |
|
|
|
Chart_new.Add("Time", MainWindowViewModel.SYSTime); |
|
|
|
Chart_new.Add("Process", MainWindowViewModel.ProgramName); |
|
|
|
Chart_new.Add("Step", MainWindowViewModel.Process_step); |
|
|
|
Chart_new.Add("MST", MainWindowViewModel.TEMP_co); |
|
|
|
Chart_new.Add("MTT", MainWindowViewModel.Selet_dtm("1010")); |
|
|
|
Chart_new.Add("MTL", MainWindowViewModel.Selet_dtm("1015")); |
|
|
|
Chart_new.Add("MTH", MainWindowViewModel.Selet_dtm("1009")); |
|
|
|
Chart_new.Add("MUT", MainWindowViewModel.Selet_dtm("1011")); |
|
|
|
Chart_new.Add("STTA", MainWindowViewModel.Selet_dtm("1012")); |
|
|
|
Chart_new.Add("STLA", MainWindowViewModel.Selet_dtm("1017")); |
|
|
|
Chart_new.Add("STTB", MainWindowViewModel.Selet_dtm("1013")); |
|
|
|
Chart_new.Add("STLB", MainWindowViewModel.Selet_dtm("1018")); |
|
|
|
Chart_new.Add("STTC", MainWindowViewModel.Selet_dtm("1014")); |
|
|
|
Chart_new.Add("STLC", MainWindowViewModel.Selet_dtm("1019")); |
|
|
|
client.SendAsync("SC830" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
catch { client.SendAsync("SC931"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//当前信息
|
|
|
@ -362,7 +372,12 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
client.SendAsync("SC831" + "[" + MainWindowViewModel.S01 + "]" +MainWindowViewModel.dt_TP.ToJsonString()); |
|
|
|
try |
|
|
|
{ |
|
|
|
client.SendAsync("SC831" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_TP.ToJsonString()); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
catch { client.SendAsync("SC931"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//当前工作表
|
|
|
@ -372,15 +387,22 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
try |
|
|
|
{ client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.SYSlog); |
|
|
|
} catch (Exception) { } } |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
catch { client.SendAsync("SC932"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//当前细节信息
|
|
|
|
else if (SYSAPI == "SC833") |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
|
|
|
|
client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + "sc833"); |
|
|
|
try |
|
|
|
{ |
|
|
|
client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + "sc833"); |
|
|
|
MainWindowViewModel.TX++; |
|
|
|
} |
|
|
|
catch { client.SendAsync("SC933"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//当前领料单
|
|
|
@ -388,7 +410,11 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
client.SendAsync("SC851" + "[" + MainWindowViewModel.S01 + "]" + JsonConvert.SerializeObject(MainWindowViewModel.dt_d));//数字开关信息
|
|
|
|
try |
|
|
|
{ |
|
|
|
client.SendAsync("SC851" + "[" + MainWindowViewModel.S01 + "]" + JsonConvert.SerializeObject(MainWindowViewModel.dt_d));//数字开关信息
|
|
|
|
} |
|
|
|
catch { client.SendAsync("SC951"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//数字开关表
|
|
|
@ -396,7 +422,11 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
client.SendAsync("SC852" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_a.ToJsonString());//寄存器信息
|
|
|
|
try |
|
|
|
{ |
|
|
|
client.SendAsync("SC852" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_a.ToJsonString());//寄存器信息
|
|
|
|
} |
|
|
|
catch { client.SendAsync("SC952"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//寄存器表
|
|
|
@ -404,7 +434,11 @@ namespace DyeingComputer.UserClass |
|
|
|
{ |
|
|
|
if (SYSKEY == MainWindowViewModel.SYSKEY) |
|
|
|
{ |
|
|
|
client.SendAsync("SC853" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_m.ToJsonString());//缓存信息
|
|
|
|
try |
|
|
|
{ |
|
|
|
client.SendAsync("SC853" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_m.ToJsonString());//缓存信息
|
|
|
|
} |
|
|
|
catch { client.SendAsync("SC953"); } |
|
|
|
} |
|
|
|
else { client.SendAsync("SC999"); } |
|
|
|
}//缓存表
|
|
|
|