Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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();
     }
 }
Ejemplo n.º 4
0
        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);
                        }
                    }
                }
            }
        }