コード例 #1
0
ファイル: Form1.cs プロジェクト: 18672200484/YNWLY_Applet
        /// <summary>
        /// 开始卸样操作
        /// </summary>
        /// <param name="UnloadSampleId">当前卸样命令id</param>
        private bool StartUnloadSample(string UnloadSampleId)
        {
            if (UnloadSampleId != string.Empty)
            {
                if (UnloadSamplerDAO.GetInstance().GetUnloadSamplerState(UnloadSampleId) == eEquInfCmdResultCode.成功)
                {
                    rTxtOutputer.Output("卸样完成!", eOutputType.Normal);
                    if (MessageBoxEx.Show("卸样完成,是否发送制样计划", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        SendMakePlan(this.currentCmcsRCSampling.Id, this.currentCmcsRCSampling.InfactoryBatchId);

                        currentUnloadSampleId  = string.Empty;
                        btnSendLoadCmd.Enabled = true;
                        btnSendMakeCmd.Enabled = true;
                        return(false);
                    }
                    else
                    {
                        currentUnloadSampleId  = string.Empty;
                        btnSendLoadCmd.Enabled = true;
                        btnSendMakeCmd.Enabled = true;
                        return(false);
                    }
                }
                else if (UnloadSamplerDAO.GetInstance().GetUnloadSamplerState(UnloadSampleId) == eEquInfCmdResultCode.失败)
                {
                    rTxtOutputer.Output("卸样失败!", eOutputType.Error);
                    currentUnloadSampleId  = string.Empty;
                    btnSendLoadCmd.Enabled = true;
                    btnSendMakeCmd.Enabled = true;
                    return(false);
                }
            }
            return(true);
        }
コード例 #2
0
        /// <summary>
        /// 根据批次Id加载采样单列表
        /// </summary>
        /// <param name="superGridControl"></param>
        /// <param name="batchId"></param>
        private void LoadRCSamplingList(SuperGridControl superGridControl, string batchId)
        {
            this.CurrentRCSampling = null;

            List <CmcsRCSampling> list = UnloadSamplerDAO.GetInstance().GetSamplings(batchId);

            superGridControl.PrimaryGrid.DataSource = list;
        }
コード例 #3
0
        /// <summary>
        /// 监听机械采样机返回结果
        /// </summary>
        /// <returns></returns>
        private void SendJxSamplerUnloadCmd()
        {
            taskSimpleScheduler = new TaskSimpleScheduler();

            autoResetEvent.Reset();

            taskSimpleScheduler.StartNewTask("卸样业务逻辑", () =>
            {
                this.IsWorking = true;

                // 发送卸样命令
                if (qcjxcySamplerDAO.SendSampleUnloadCmd(this.CurrentSampler.EquipmentCode, this.CurrentRCSampling.Id, this.currentSampleCode, (eEquInfSamplerUnloadType)Convert.ToInt16(flpanUnloadType.Controls.OfType <RadioButton>().First(a => a.Checked).Tag), out this.currentUnloadCmdId))
                {
                    rTxtOutputer.Output("卸样命令发送成功,等待采样机执行", eOutputType.Normal);

                    int waitCount = 0;
                    eEquInfCmdResultCode equInfCmdResultCode;
                    do
                    {
                        Thread.Sleep(10000);
                        if (waitCount % 5 == 0)
                        {
                            rTxtOutputer.Output("正在等待采样机返回结果", eOutputType.Normal);
                        }

                        waitCount++;

                        // 获取卸样命令的执行结果
                        equInfCmdResultCode = UnloadSamplerDAO.GetInstance().GetQCJXCYUnloadSamplerState(this.currentUnloadCmdId);
                    }while (equInfCmdResultCode == eEquInfCmdResultCode.默认);

                    if (equInfCmdResultCode == eEquInfCmdResultCode.成功)
                    {
                        rTxtOutputer.Output("采样机返回:卸样成功", eOutputType.Normal);

                        // 检测制样机系统状态
                        if (rbtnToMaker.Checked)
                        {
                            string makerSystemStatus = commonDAO.GetSignalDataValue(this.makerMachineCode, eSignalDataName.系统.ToString());
                            if (makerSystemStatus == eEquInfSamplerSystemStatus.就绪待机.ToString())
                            {
                                if (MessageBoxEx.Show("卸样成功,检测到制样机已就绪,立刻开始制样?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                                {
                                    if (SendMakePlan(this.CurrentRCSampling.Id, this.CurrentRCSampling.InFactoryBatchId))
                                    {
                                        rTxtOutputer.Output("制样命令发送成功", eOutputType.Normal);
                                    }
                                    else
                                    {
                                        rTxtOutputer.Output("制样命令发送失败", eOutputType.Error);
                                    }
                                }
                            }
                        }
                    }
                    else if (equInfCmdResultCode == eEquInfCmdResultCode.失败)
                    {
                        rTxtOutputer.Output("采样机返回:卸样失败", eOutputType.Error);
                    }
                }
                else
                {
                    rTxtOutputer.Output("卸样命令发送失败", eOutputType.Error);
                }

                this.IsWorking = false;

                LoadSampleBarrel(superGridControl1, this.CurrentSampler.EquipmentCode);
                LoadLatestSampleUnloadCmd(this.CurrentSampler);

                autoResetEvent.Set();
            });
        }
コード例 #4
0
        /// <summary>
        /// 监听采样机返回结果
        /// </summary>
        /// <returns></returns>
        private void SendSamplerUnloadCmd()
        {
            taskSimpleScheduler = new TaskSimpleScheduler();

            autoResetEvent.Reset();

            taskSimpleScheduler.StartNewTask("卸样业务逻辑", () =>
            {
                this.IsWorking = true;

                if (rbtnToMaker.Checked)
                {
                    #region 启动制样进料皮带
                    if (beltSamplerDAO.SendPDUnLoadCmd(this.CurrentMaker, "开始卸料"))
                    {
                        rTxtOutputer.Output("卸样皮带命令发送成功,等待制样机执行", eOutputType.Normal);

                        int waitCount = 0;
                        eEquInfCmdResultCode equInfCmdResultCode;
                        do
                        {
                            Thread.Sleep(10000);
                            if (waitCount % 5 == 0)
                            {
                                rTxtOutputer.Output("正在等待制样机返回结果", eOutputType.Normal);
                            }

                            waitCount++;

                            // 获取卸样命令的执行结果
                            equInfCmdResultCode = UnloadSamplerDAO.GetInstance().GetPDUnloadState();
                        }while (equInfCmdResultCode == eEquInfCmdResultCode.默认);
                        if (equInfCmdResultCode == eEquInfCmdResultCode.成功)
                        {
                            rTxtOutputer.Output("制样机返回:皮带启动成功", eOutputType.Normal);
                        }
                        else if (equInfCmdResultCode == eEquInfCmdResultCode.失败)
                        {
                            rTxtOutputer.Output("制样机返回:执行失败", eOutputType.Error);
                        }
                    }
                    else
                    {
                        rTxtOutputer.Output("卸样皮带命令发送失败", eOutputType.Error);
                    }
                    #endregion
                }

                #region 发送采样机卸样命令
                // 发送卸样命令
                if (beltSamplerDAO.SendSampleUnloadCmd(this.currentSampler.EquipmentCode, this.CurrentRCSampling.Id, this.currentSampleCode, (eEquInfSamplerUnloadType)Convert.ToInt16(flpanUnloadType.Controls.OfType <RadioButton>().First(a => a.Checked).Tag), out this.currentUnloadCmdId))
                {
                    rTxtOutputer.Output("卸样命令发送成功,等待采样机执行", eOutputType.Normal);

                    int waitCount = 0;
                    eEquInfCmdResultCode equInfCmdResultCode;
                    do
                    {
                        Thread.Sleep(10000);
                        if (waitCount % 5 == 0)
                        {
                            rTxtOutputer.Output("正在等待采样机返回结果", eOutputType.Normal);
                        }

                        waitCount++;

                        // 获取卸样命令的执行结果
                        equInfCmdResultCode = UnloadSamplerDAO.GetInstance().GetUnloadSamplerState(this.currentUnloadCmdId);
                    }while (equInfCmdResultCode == eEquInfCmdResultCode.默认);

                    if (equInfCmdResultCode == eEquInfCmdResultCode.成功)
                    {
                        rTxtOutputer.Output("采样机返回:卸样成功", eOutputType.Normal);
                    }
                    else if (equInfCmdResultCode == eEquInfCmdResultCode.失败)
                    {
                        rTxtOutputer.Output("采样机返回:卸样失败", eOutputType.Error);
                        return;
                    }
                }
                else
                {
                    rTxtOutputer.Output("卸样命令发送失败", eOutputType.Error);
                    return;
                }
                #endregion

                #region 停止制样机进料皮带
                if (beltSamplerDAO.SendPDUnLoadCmd(this.CurrentMaker, "停止卸料"))                //卸样完成后 卸料皮带停止
                {
                    rTxtOutputer.Output("卸样皮带停止命令发送成功,等待制样机执行", eOutputType.Normal);
                    int waitCount = 0;
                    eEquInfCmdResultCode equInfCmdResultCode;
                    do
                    {
                        Thread.Sleep(10000);
                        if (waitCount % 5 == 0)
                        {
                            rTxtOutputer.Output("正在等待制样机返回结果", eOutputType.Normal);
                        }

                        waitCount++;

                        // 获取卸样命令的执行结果
                        equInfCmdResultCode = UnloadSamplerDAO.GetInstance().GetPDUnloadState();
                    }while (equInfCmdResultCode == eEquInfCmdResultCode.默认);
                    if (equInfCmdResultCode == eEquInfCmdResultCode.成功)
                    {
                        rTxtOutputer.Output("制样机返回:皮带停止成功", eOutputType.Normal);
                    }
                    else if (equInfCmdResultCode == eEquInfCmdResultCode.失败)
                    {
                        rTxtOutputer.Output("制样机返回:执行失败", eOutputType.Error);
                        return;
                    }
                }
                else
                {
                    rTxtOutputer.Output("卸样皮带命令发送失败", eOutputType.Error);
                    return;
                }
                #endregion

                #region 检测制样机状态,若已就绪提示发送制样计划
                // 检测制样机系统状态
                if (rbtnToMaker.Checked && this.currentEquInfSampleBarrels != null && this.currentEquInfSampleBarrels[0].BarrelType == "底卸式")
                {
                    string makerSystemStatus = commonDAO.GetSignalDataValue(this.CurrentMaker, eSignalDataName.设备状态.ToString());
                    if (makerSystemStatus == eEquInfSamplerSystemStatus.就绪待机.ToString())
                    {
                        if (MessageBoxEx.Show("卸样成功,检测到制样机已就绪,立刻开始制样?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                        {
                            if (SendMakePlan(this.CurrentRCSampling.SampleCode, this.CurrentRCSampling.InFactoryBatchId))
                            {
                                rTxtOutputer.Output("制样命令发送成功", eOutputType.Normal);
                            }
                            else
                            {
                                rTxtOutputer.Output("制样命令发送失败", eOutputType.Error);
                            }
                        }
                    }
                }
                #endregion

                this.IsWorking = false;

                LoadBeltSampleBarrel(superGridControl1, this.CurrentSampler.EquipmentCode);
                LoadLatestSampleUnloadCmd(this.CurrentSampler.EquipmentCode);

                autoResetEvent.Set();
            });
        }