Пример #1
0
 private void Child_Create(SortingLineTaskDetail sortingLineTaskDetail)
 {
     LoadProperty(IdProperty, Guid.NewGuid().ToString());
     LoadProperty(LINEBOXCODEProperty, sortingLineTaskDetail.LINEBOXCODE);
     LoadProperty(ADDRESSCODEProperty, sortingLineTaskDetail.ADDRESSCODE);
     LoadProperty(QTYProperty, sortingLineTaskDetail.QTY);
 }
Пример #2
0
        private void SetSortingStatus(int status)
        {
            string indexcolname = "";
            string custcolname  = "";

            foreach (DataGridViewColumn column in dataGridViewXs[superTabControl1.SelectedTab.Name].Columns)
            {
                if (column.DataPropertyName.ToUpper() == "INDEXNO")
                {
                    indexcolname = column.Name;
                }
                if (column.DataPropertyName.ToUpper() == "CUSTCODE")
                {
                    custcolname = column.Name;
                }
            }


            foreach (DataGridViewRow selectedRow in dataGridViewXs[superTabControl1.SelectedTab.Name].SelectedRows)
            {
                //改变任务状态
                string          indexcolvalue   = selectedRow.Cells[indexcolname].Value.ToString();
                string          custvalue       = selectedRow.Cells[custcolname].Value.ToString();
                SortingLineTask sortingLineTask = SortingLineTask.GetSortingLineByIndex(indexcolvalue);
                sortingLineTask.Status = status;
                if (status == 2)
                {
                    sortingLineTask.PLCADDRESS = 9;
                }
                if (status == 0)
                {
                    sortingLineTask.PLCADDRESS = 0;
                    SortingLineTaskDetail.SaveStatus(sortingLineTask.ID, "", 0);
                }

                sortingLineTask.SaveSortingTaskProcess(sortingLineTask.ID);



                //改变烟包状态
                //List<CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(custvalue, indexcolvalue,
                //    SortingLine.GetNonSortingLineCode());
                //foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList)
                //{
                //    if (status != 2)
                //    {
                //        CigBoxInfo.SaveProcess(cigBoxInfo.ID, 0);
                //    }
                //    else
                //    {
                //        CigBoxInfo.SaveProcess(cigBoxInfo.ID, status);
                //    }
                //}
            }
        }
Пример #3
0
 public static SortingTaskIssuedDetail NewSortingTaskIssuedDetail(SortingLineTaskDetail sortingLineTaskDetail)
 {
     return(DataPortal.CreateChild <SortingTaskIssuedDetail>(sortingLineTaskDetail));
 }
Пример #4
0
        private void timer2_Elapsed_1(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                LineBoxStatus hanglineboxstatus;
                LineBoxStatus lineboxstatus;


                if (OperateOpcAndSoft.plc != null)
                {
                    //hanglineboxstatus = opert.SubLineStatus();
                    //if (hanglineboxstatus != null && hanglineboxstatus.status == 1)
                    //{

                    //    if (hanglineboxstatus.lineboxcode.ToString() != labblockbox.Text)
                    //    {
                    //        try
                    //        {
                    //            SortingFault.SaveFaultBoxStatus(hanglineboxstatus.lineboxcode,hanglineboxstatus.status);

                    //            OperationLog operationLog = OperationLog.NewOperationLog();
                    //            operationLog.OPERATIONCODE = "挂烟";
                    //            operationLog.OPERATIONNAME = hanglineboxstatus.lineboxcode.ToString();
                    //            operationLog.Save();
                    //        }
                    //        catch
                    //        { }


                    //        labblockbox.Text = hanglineboxstatus.lineboxcode.ToString();
                    //        labblockbox.ForeColor = Color.Red;
                    //        labboxstatus.ForeColor = Color.Red;
                    //        labblockname.ForeColor = Color.Red;
                    //        if (SortingLineTaskDetail.GetSortingLineBoxCigNumber(hanglineboxstatus.lineboxcode) == 1)
                    //        {
                    //            labblockname.Text = SortingLineTaskDetail.GetSortingLineBoxCigName(hanglineboxstatus.lineboxcode);
                    //        }
                    //        else
                    //        {
                    //            labblockname.Text = "混仓品牌";
                    //        }

                    //        if (hanglineboxstatus.status == 1)
                    //        {
                    //            labboxstatus.Text = "挂烟";
                    //        }

                    //        Thread thread = new Thread(new ParameterizedThreadStart(PlayHangSound));
                    //        thread.Start(hanglineboxstatus);
                    //    }

                    //}

                    lineboxstatus = opert.GetLineBoxException();
                    if (lineboxstatus != null)
                    {
                        if (lineboxstatus.lineboxcode.ToString() != labblockbox.Text)
                        {
                            try
                            {
                                SortingFault.SaveFaultBoxStatus(lineboxstatus.lineboxcode, lineboxstatus.status, lineboxstatus.putnum);

                                OperationLog operationLog = OperationLog.NewOperationLog();
                                if (lineboxstatus.status == 8)
                                {
                                    operationLog.OPERATIONCODE = "卡烟";

                                    //发送当前已打出的条烟到数码管
                                    //SendTaskPutNiLight(lineboxstatus.lineboxcode);
                                    //Thread thread = new Thread(new ParameterizedThreadStart(SendTaskPutNiLight));
                                    //thread.Start(lineboxstatus.lineboxcode);
                                }
                                if (lineboxstatus.status == 4)
                                {
                                    operationLog.OPERATIONCODE = "缺烟";
                                }

                                if (lineboxstatus.status == 16)
                                {
                                    operationLog.OPERATIONCODE = "挂烟";
                                }

                                operationLog.OPERATIONNAME = lineboxstatus.lineboxcode.ToString();
                                operationLog.Save();
                            }
                            catch
                            { }


                            labblockbox.Text       = lineboxstatus.lineboxcode.ToString();
                            labblockbox.ForeColor  = Color.Red;
                            labboxstatus.ForeColor = Color.Red;
                            labblockname.ForeColor = Color.Red;
                            if (SortingLineTaskDetail.GetSortingLineBoxCigNumber(lineboxstatus.lineboxcode) == 1)
                            {
                                labblockname.Text = SortingLineTaskDetail.GetSortingLineBoxCigName(lineboxstatus.lineboxcode);
                            }
                            else
                            {
                                labblockname.Text = "混仓品牌";
                            }

                            if (lineboxstatus.status == 4)
                            {
                                labboxstatus.Text = "缺烟";
                            }
                            if (lineboxstatus.status == 8)
                            {
                                labboxstatus.Text = "卡烟";
                            }
                            if (lineboxstatus.status == 16)
                            {
                                labboxstatus.Text = "挂烟";
                            }
                            Thread thread1 = new Thread(new ParameterizedThreadStart(PlayBlockSound));
                            thread1.Start(lineboxstatus);
                            //发送当前已打出的条烟到数码管
                            SendTaskPutNiLight(lineboxstatus.lineboxcode);
                        }
                    }
                    //if (hanglineboxstatus == null && lineboxstatus == null)
                    if (lineboxstatus == null && labboxstatus.Text != "正常")
                    {
                        SortingFault.SaveFaultBoxStatus(0, 0, 0);
                        labboxstatus.Text      = "正常";
                        labboxstatus.ForeColor = Color.Green;
                        labblockbox.Text       = "无";
                        labblockbox.ForeColor  = Color.Green;
                        labblockname.Text      = "无";
                        labblockname.ForeColor = Color.Green;
                        Nixielight ni = new Nixielight();
                        ni.SendNull();
                    }
                }
                else
                {
                    try
                    {
                        OpcPlc opcPlc = new OpcPlc();
                        OperateOpcAndSoft.plc = opcPlc;
                    }
                    catch
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                try
                {
                    OperationLog operationLog = OperationLog.NewOperationLog();
                    operationLog.OPERATIONCODE = "出现异常";
                    operationLog.OPERATIONNAME = ex.Message;
                    operationLog.Save();
                }
                catch (Exception)
                {
                }
            }
        }
Пример #5
0
        private void timer2_Elapsed_1(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                LineBoxStatus hanglineboxstatus;
                LineBoxStatus lineboxstatus;


                //hanglineboxstatus = SortingFault.GetFaultLineBoxStatus();

                //if (hanglineboxstatus != null && hanglineboxstatus.status == 1)
                //{

                //    if (hanglineboxstatus.lineboxcode.ToString() != labblockbox.Text)
                //    {
                //        try
                //        {
                //            OperationLog operationLog = OperationLog.NewOperationLog();
                //            operationLog.OPERATIONCODE = "挂烟";
                //            operationLog.OPERATIONNAME = hanglineboxstatus.lineboxcode.ToString();
                //            operationLog.Save();
                //        }
                //        catch
                //        {
                //        }


                //        labblockbox.Text = hanglineboxstatus.lineboxcode.ToString();
                //        labblockbox.ForeColor = Color.Red;
                //        labboxstatus.ForeColor = Color.Red;
                //        labblockname.ForeColor = Color.Red;
                //        if (SortingLineTaskDetail.GetSortingLineBoxCigNumber(hanglineboxstatus.lineboxcode) == 1)
                //        {
                //            labblockname.Text =
                //                SortingLineTaskDetail.GetSortingLineBoxCigName(hanglineboxstatus.lineboxcode);
                //        }
                //        else
                //        {
                //            labblockname.Text = "混仓品牌";
                //        }

                //        if (hanglineboxstatus.status == 1)
                //        {
                //            labboxstatus.Text = "挂烟";
                //        }

                //        Thread thread = new Thread(new ParameterizedThreadStart(PlayHangSound));
                //        thread.Start(hanglineboxstatus);
                //    }

                //}


                lineboxstatus = SortingFault.GetFaultLineBoxStatus();
                if (lineboxstatus != null && (lineboxstatus.status == 4 || lineboxstatus.status == 8 || lineboxstatus.status == 16))
                {
                    if (lineboxstatus.lineboxcode.ToString() != labblockbox.Text)
                    {
                        try
                        {
                            //OperationLog operationLog = OperationLog.NewOperationLog();
                            //if (lineboxstatus.status == 8)
                            //{
                            //    operationLog.OPERATIONCODE = "卡烟";

                            //}
                            //if (lineboxstatus.status == 4)
                            //{
                            //    operationLog.OPERATIONCODE = "缺烟";
                            //}
                            //if (lineboxstatus.status == 16)
                            //{
                            //    operationLog.OPERATIONCODE = "挂烟";
                            //}
                            //operationLog.OPERATIONNAME = lineboxstatus.lineboxcode.ToString();
                            //operationLog.Save();
                        }
                        catch
                        {
                        }


                        labblockbox.Text       = lineboxstatus.lineboxcode.ToString();
                        labblockbox.ForeColor  = Color.Red;
                        labboxstatus.ForeColor = Color.Red;
                        labblockname.ForeColor = Color.Red;
                        if (SortingLineTaskDetail.GetSortingLineBoxCigNumber(lineboxstatus.lineboxcode) == 1)
                        {
                            labblockname.Text = SortingLineTaskDetail.GetSortingLineBoxCigName(lineboxstatus.lineboxcode);
                        }
                        else
                        {
                            labblockname.Text = "混仓品牌";
                        }

                        if (lineboxstatus.status == 4)
                        {
                            labboxstatus.Text = "缺烟";
                            labputnum.Text    = lineboxstatus.putnum.ToString();
                        }
                        if (lineboxstatus.status == 8)
                        {
                            labboxstatus.Text = "卡烟";
                            labputnum.Text    = lineboxstatus.putnum.ToString();
                        }
                        if (lineboxstatus.status == 16)
                        {
                            labboxstatus.Text = "挂烟";
                            labputnum.Text    = lineboxstatus.putnum.ToString();
                        }

                        Thread thread = new Thread(new ParameterizedThreadStart(PlayBlockSound));
                        thread.Start(lineboxstatus);
                    }
                }
                if (lineboxstatus == null)
                {
                    labboxstatus.Text      = "正常";
                    labboxstatus.ForeColor = Color.Green;
                    labblockbox.Text       = "无";
                    labblockbox.ForeColor  = Color.Green;
                    labblockname.Text      = "无";
                    labblockname.ForeColor = Color.Green;
                    labputnum.Text         = "0";
                }
            }
            catch (Exception ex)
            {
                OperationLog operationLog = OperationLog.NewOperationLog();
                operationLog.OPERATIONCODE = "出现异常";
                operationLog.OPERATIONNAME = ex.Message.Substring(0, 250);
                operationLog.Save();
            }
        }
Пример #6
0
        /// <summary>
        /// 分拣任务到达出口流程
        /// </summary>
        public void FinishTask()
        {
            //到达任务只要开始后就不会停止
            while (true)
            {
                SortingTaskIssued sortingTaskIssued = SortingTaskIssued.GetSortingTaskIssued("0");

                if (ATOPTagSdk.Tags != null)
                {
                    //提示前台界面已按下的数量
                    if (OnUpdateCSortingMainNumEvent != null)
                    {
                        OnUpdateCSortingMainNumEvent.Invoke(null, new UpdateCSortingMainNumEventArgs(ATOPTagSdk.Tags));
                    }
                }


                //按钮按完进行后续操作
                if (ATOPTagSdk.instance.GetPlcPressTagReady())
                {
                    if (sortingTaskIssued.PLCFLAG != 0)
                    {
                        if (ATOPTagSdk.Tags != null)
                        {
                            foreach (KeyValuePair <int, Tag> tag in ATOPTagSdk.Tags)
                            {
                                SortingLineTaskDetail.SaveStatus(tag.Value.TaskNo, tag.Value.LineboxCode.ToString(), 2);
                            }
                            SortingLineTaskQueue.GetInstance().SaveTaskFinish();

                            //更改下达任务标识为可下达
                            sortingTaskIssued = SortingTaskIssued.GetSortingTaskIssued("0");
                            if (sortingTaskIssued.PLCFLAG != 0)
                            {
                                sortingTaskIssued.PLCFLAG = 0;
                                sortingTaskIssued.Save();

                                //播放语音提示
                                SoundPlayer player = new SoundPlayer();
                                player.SoundLocation = Application.StartupPath + "\\Sound\\订单完成.wav";
                                player.Load();
                                player.Play();
                            }
                        }
                    }

                    //发送当前分拣完成信号给PLC,让小车移动
                    //判断是否可以更改PLC的当前分拣完成信号
                    //判断PLC中订单序号等于系统中队尾的序号
                    //if (operateOpcAndSoft.GetCubeRun() == FJMainForm.Instance.CSortingMain.c_Cubes.Last().labindexno)
                    //{
                    //operateOpcAndSoft.SetCubeRun();
                    //}

                    if (OnTaskMoved != null)
                    {
                        OnTaskMoved.Invoke(null, new EventArgs());
                    }

                    //清除所有电子标签内容
                    ATOPTagSdk.Tags = null;
                }

                Thread.Sleep(500);
            }
        }