Boolean CheckCanSend(int targetPort) { writeLog.Write("出口号:" + targetPort); int value = FinishOnlyGoroup.Read(targetPort - 1).CastTo <int>(-1); writeLog.Write(" value=" + value); if (value == 1) { return(true); } else { return(false); } }
private void button12_Click(object sender, EventArgs e) { DialogResult MsgBoxResult = MessageBox.Show("确定要退出程序?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { if (pIOPCServer != null) { Marshal.ReleaseComObject(pIOPCServer); pIOPCServer = null; } if (OnlyTaskGorup != null) { OnlyTaskGorup.Release(); } if (FinishOnlyGoroup != null) { FinishOnlyGoroup.Release(); } if (SpyBiaozhiGroup != null) { SpyBiaozhiGroup.Release(); } if (SpecialSmokeGroup1 != null) { SpecialSmokeGroup1.Release(); } if (SpecialSmokeGroup2 != null) { SpecialSmokeGroup2.Release(); } list_data.Items.Clear(); updateListBox("任务停止发送!"); writeLog.Write("任务停止发送!"); updateControlEnable(true, button10); } else { return; } // updateControlEnable(true, button10); }
public void Disconnect() { if (pIOPCServer != null) { Marshal.ReleaseComObject(pIOPCServer); pIOPCServer = null; } if (OnlyTaskGorup != null) { OnlyTaskGorup.Release(); } if (FinishOnlyGoroup != null) { FinishOnlyGoroup.Release(); } if (SpyBiaozhiGroup != null) { SpyBiaozhiGroup.Release(); } }
public void OnDataChange(int group, int[] clientId, object[] values) { #region // if (group == 4)//第一组烟仓完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // TaskFinishGroup1.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第一组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("第一组:" + tempvalue + "号任务已完成"); // writeLog.Write("第一组:" + tempvalue + "号任务已完成"); // } // // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // TaskFinishGroup1.Write(0, clientId[i] - 1); // } // } // } // else if (group == 5)//第二组烟仓完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // TaskFinishGroup2.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第二组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("第二组:" + tempvalue + "号任务已完成"); // writeLog.Write("第二组:" + tempvalue + "号任务已完成"); // } // //this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // TaskFinishGroup2.Write(0, clientId[i] - 1); // } // } // } // else if (group == 6)//烟柜完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // CabinetFinishTaskGroup.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取异形烟烟柜出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // //try // //{ // // PreSortInfoService.Add((decimal)tempvalue, sortgroupno2); // //} // //catch (Exception ex) // //{ } // updateListBox("异形烟烟柜:" + tempvalue + "号任务已完成"); // writeLog.Write("异形烟烟柜:" + tempvalue + "号任务已完成"); // } // // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // CabinetFinishTaskGroup.Write(0, clientId[i] - 1); // } // } // } // else if (group == 7)//合流完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // UnionTaskFinishGroup.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第一组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateUnionTask(listUnion,20); // writeLog.Write("任务号" + tempvalue + "合流数据数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("合流数据:" + tempvalue + "号任务已完成"); // writeLog.Write("合流数据:" + tempvalue + "号任务已完成"); // } // //this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // UnionTaskFinishGroup.Write(0, clientId[i] - 1); // } // } // } //else if (group == 8) //监控标志位 // { // for (int i = 0; i < clientId.Length; i++) // { // if (clientId[i] ==1)//一组烟仓 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in list1) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("第一组烟仓任务号:" + logstr + "已接收"); // updateListBox("第一组烟仓任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // // UnPokeService.UpdateStroageInout(list1); // } // sendTask1(); // //delSendTask task = sendTask1; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 2)//二组烟仓 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in list2) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("第二组烟仓任务号:" + logstr + "已接收"); // updateListBox("第二组烟仓任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // //UnPokeService.UpdateStroageInout(list1); // } // sendTask2(); // //delSendTask task = sendTask2; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 3)//烟柜 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in listCabinet) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("烟柜数据任务号:" + logstr + "已接收"); // updateListBox("烟柜数据任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // // UnPokeService.UpdateStroageInout(list1); // } // sendSixCabineTask(); // //delSendTask task = sendSixCabineTask; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 4)//合流 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in listUnion) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("合流数据:" + logstr + "已接收"); // updateListBox("合流数据:" + logstr + "已接收"); // } // UnPokeService.UpdateUnionTask(listUnion, 15); // sendUnionTask(); // //delSendTask task = sendUnionTask; // //task.BeginInvoke(null, null); // } // break; // } // } // } //else #endregion if (group == 2) //完成信号 { for (int i = 0; i < clientId.Length; i++) //"出口号:" + clientId[i] + ";任务号:" + taskno { try { int tempvalue = int.Parse((values[i].ToString())); if (tempvalue >= 1) //分拣完成 { writeLog.Write("从电控读取出口号:" + clientId[i] + ";任务号:" + tempvalue); UnPokeService.UpdateunTask(tempvalue, 20); //根据异形烟整包任务号更新poke表中状态 writeLog.Write("烟仓烟柜任务号" + tempvalue + "数据库更新完成"); if (tempvalue != 0) { updateListBox(" :" + tempvalue + "号任务已完成"); writeLog.Write(" :" + tempvalue + "号任务已完成"); } FinishOnlyGoroup.Write(0, clientId[i] - 1); // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 } } catch (NullReferenceException nullex) { writeLog.Write("空引用异常:" + nullex.Message); } catch (Exception ex) { writeLog.Write("集成错误 :" + ex.Message); } } } else if (group == 3)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1) { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; var list = listOnly.FirstOrDefault(); if (list != null) { logstr += list.SORTNUM + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟仓烟柜任务号:" + logstr + "已接收"); updateListBox("烟仓烟柜任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(listOnly, 15); } sendOnlyTask(); //delSendTask task = sendOnlyTask; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("烟仓烟柜异常信息" + ex.Message); } } if (clientId[i] == 2)//特异形烟 61,62道 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } string STR = ""; foreach (var item in listSS1B) { STR += item.POKEID + ","; } if (STR != null && STR.Length > 0) { writeLog.Write("1线61,62特异形烟任务号:" + STR + "已接收"); updateListBox("1线61,62特异形烟:" + STR + "已接收"); UnPokeService.UpdateSSTask(listSS1B, 15); } sendSSTask1(); //delSendTask task = sendSSTask1; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("1线61,62特异形烟异常信息" + ex.Message); } } if (clientId[i] == 3)//特异形烟 63,64道 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } string STR = ""; foreach (var item in listSS2A) { STR += item.POKEID + ","; } if (STR != null && STR.Length > 0) { writeLog.Write("2线63,64特异形烟任务号:" + STR + "已接收"); updateListBox("2线63,64特异形烟:" + STR + "已接收"); UnPokeService.UpdateSSTask(listSS2A, 15); } sendSSTask2(); //delSendTask task = sendSSTask2; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("2线63,64特异形烟异常信息" + ex.Message); } } } } }