//string sortNum = "0"; public void OnDataChange(int group, int[] clientId, object[] values) { if (group == 5)//完成信号 { for (int i = 0; i < clientId.Length; i++) { string tempvalue = values[i].ToString(); if (decimal.Parse(tempvalue) >= 1)//分拣完成 { try { if (decimal.Parse(tempvalue) != 0) { WriteLog.GetLog().Write("从电控读取特异型烟任务号:" + tempvalue); //UnPokeClass.UpdateunTask(tempvalue, 20); //sortNum = tempvalue; UnPokeClass.UpdateunTask1(decimal.Parse(tempvalue), 20); try { sortnum = RelenishimentClass.GetMinSortNum(); } catch { } lblSortnum.Text = "当前任务:" + sortnum; //SpecialClass.UpdateSpecialState(decimal.Parse(tempvalue),2); WriteLog.GetLog().Write("特异型烟任务号" + tempvalue + "号任务已完成,数据库更新完成"); GetData(); } } catch (Exception ex) { WriteLog.GetLog().Write("服务器连接失败" + ex.Message.ToString()); return; } } opcServer.FinishOnlyGroup.Write(0, clientId[i] - 1); } } else if (group == 9)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1)//一线任务 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!opcServer.ConnectState) { Thread.Sleep(100); } int receivePackage = int.Parse(opcServer.OnlyTaskGroup.ReadD(i).ToString()); if (receivePackage != 0) { WriteLog.GetLog().Write("特异型烟任务号:" + receivePackage + "已接收"); UnPokeClass.UpdateTask(receivePackage, 15); //UnPokeClass.UpdateHunhe(receivePackage); } if (opcServer.IsSendOn)//如果任务已经在发送中则返回 { return; } StringBuilder outStr = new StringBuilder(); object[] data = RelenishimentClass.GetSendTasks(10, out outStr); DelSendTask task = new DelSendTask(opcServer.SendOnlyTask); IAsyncResult result = task.BeginInvoke(data, outStr, null, task); StringBuilder re = task.EndInvoke(result); if (re.ToString() == "特异型烟道暂无任务") { databaselinkcheck("特异型烟道暂无任务"); return; } WriteLog.GetLog().Write(re.ToString()); GetData(); } else { if (values[i] != null && int.Parse(values[i].ToString()) != 0) { WriteLog.GetLog().Write("补货读到标志位:" + values[i]); } } } catch (Exception ex) { WriteLog.GetLog().Write("补货异常信息" + ex.Message); } } } } }
public void OnDataChange(int group, int[] clientId, object[] values) { if (group == 5) //1线完成信号 { for (int i = 0; i < clientId.Length; i++) //"出口号:" + clientId[i] + ";任务号:" + taskno { int tempvalue = int.Parse((values[i].ToString())); if (tempvalue >= 1)//分拣完成 { try { if (tempvalue != 0) { WriteLog.GetLog().Write(ListLineNum[0] + "线从电控读取出口号:" + clientId[i] + ";任务号:" + tempvalue); UnPokeClass.UpdateunTask(tempvalue, 20); WriteLog.GetLog().Write(ListLineNum[0] + "线烟仓任务号" + tempvalue + "数据库更新完成"); GetTaskInfo(ListLineNum[0] + "线烟仓:" + tempvalue + "号任务已完成"); } } catch (Exception ex) { GetTaskInfo("服务器连接失败" + ex.Message.ToString()); return; } } opcServer.FinishOnlyGroup.Write(0, clientId[i] - 1); } } else if (group == 9)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1)//一线任务 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!opcServer.ConnectState) { Thread.Sleep(100); } int receivePackage = int.Parse(opcServer.OnlyTaskGroup.ReadD(i).ToString()); if (receivePackage != 0) { int row = UnPokeClass.UpdateTask1(receivePackage, 15); if (row > 0) { GetTaskInfo(ListLineNum[0] + "线烟仓任务包号:" + receivePackage + "已接收"); } else { GetTaskInfo("线烟仓任务包号:" + receivePackage + "已接收但未更新到数据库"); } } if (opcServer.IsSendOn)//如果任务已经在发送中则返回 { return; } StringBuilder outStr = new StringBuilder(); object[] data = UnPokeClass.GetOneDateBaseTask(10, "1", out outStr); DelSendTask task = new DelSendTask(opcServer.SendOnlyTask); IAsyncResult result = task.BeginInvoke(data, outStr, null, task); StringBuilder re = task.EndInvoke(result); GetTaskInfo(re.ToString()); } else { if (values[i] != null && int.Parse(values[i].ToString()) != 0) { WriteLog.GetLog().Write(ListLineNum[0] + "线烟仓读到标志位:" + values[i]); } } } catch (Exception ex) { WriteLog.GetLog().Write(ListLineNum[0] + "线烟仓异常信息" + ex.Message); } } } } }
public void OnDataChange(int group, int[] clientId, object[] values) { if (group == 5)//完成信号 { for (int i = 0; i < clientId.Length; i++) { string tempvalue = values[i].ToString(); if (decimal.Parse(tempvalue) >= 1)//分拣完成 { try { if (decimal.Parse(tempvalue) != 0) { WriteLog.GetLog().Write("从电控读取补货任务号:" + tempvalue); RelenishimentClass.Completed(tempvalue); sortnum = tempvalue; WriteLog.GetLog().Write("补货任务号" + tempvalue + "号任务已完成,数据库更新完成"); GetData(); } } catch (Exception ex) { WriteLog.GetLog().Write("服务器连接失败" + ex.Message.ToString()); return; } } opcServer.FinishOnlyGroup.Write(0, clientId[i] - 1); } } else if (group == 9)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1)//一线任务 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!opcServer.ConnectState) { Thread.Sleep(100); } int receivePackage = int.Parse(opcServer.OnlyTaskGroup.ReadD(i).ToString()); if (receivePackage != 0) { WriteLog.GetLog().Write("补货任务号:" + receivePackage + "已接收"); try { RelenishimentClass.UpdateReplanTask(receivePackage.ToString(), 15); } catch { } } if (opcServer.IsSendOn)//如果任务已经在发送中则返回 { return; } StringBuilder outStr = new StringBuilder(); object[] data = RelenishimentClass.GetSendTask(10, out outStr); DelSendTask task = new DelSendTask(opcServer.SendOnlyTask); IAsyncResult result = task.BeginInvoke(data, outStr, null, task); StringBuilder re = task.EndInvoke(result); //try //{ // RelenishimentClass.UpdateReplanTask(data[0].ToString(), 15); //} //catch { } WriteLog.GetLog().Write(re.ToString()); } else { if (values[i] != null && int.Parse(values[i].ToString()) != 0) { WriteLog.GetLog().Write("补货读到标志位:" + values[i]); } } } catch (Exception ex) { WriteLog.GetLog().Write("补货异常信息" + ex.Message); } } } } }