Beispiel #1
0
        /// <summary>
        /// 通道快捷菜单单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BruiseChannelcontextMenuStrip_Click(object sender, EventArgs e)
        {
            try
            {
                ToolStripMenuItem menuItem = (ToolStripMenuItem)sender;
                m_CurrentBruiseChannelIndex = this.BruiseChannelcontextMenuStrip.Items.IndexOf(menuItem);
                //m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]));
                if (GlobalDataInterface.nVer == 1)            //版本号判断 add by xcw 20200604
                {
                    //m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPMChannel(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]));
                    m_BruiseCurrentIPM_ID = m_BruiseChanelIDList[m_CurrentBruiseChannelIndex];
                }

                else if (GlobalDataInterface.nVer == 0)
                {
                    m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]));
                }
                stCameraNum cameraNum = new stCameraNum(true);

                switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo) //Modify by ChengSk - 20190520
                {
                case 64:                                                     //NIR2-右
                    cameraNum.cCameraNum = 0;
                    break;

                case 128:     //NIR2-中
                    cameraNum.cCameraNum = 0;
                    break;

                case 256:     //NIR2-左
                    cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                    break;

                case 1:       //彩色-右
                    cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                    break;
                }
                if (GlobalDataInterface.global_IsTestMode)
                {
                    GlobalDataInterface.TransmitParam(m_BruiseCurrentIPM_ID, (int)HC_FSM_COMMAND_TYPE.HC_CMD_GRADEINFO_OFF, null);
                    GlobalDataInterface.TransmitParam(m_BruiseCurrentIPM_ID, (int)HC_IPM_COMMAND_TYPE.HC_CMD_SINGLE_SAMPLE_SPOT, cameraNum);
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine("QualityParamSetForm-BruiseSetFormt中函数BruiseChannelcontextMenuStrip_Click出错" + ex);
#if REALEASE
                GlobalDataInterface.WriteErrorInfo("QualityParamSetForm-BruiseSetFormt中函数BruiseChannelcontextMenuStrip_Click出错" + ex);
#endif
            }
        }
Beispiel #2
0
        /// <summary>
        /// 上传水果等级信息刷新
        /// </summary>
        /// <param name="fruitGradeInfo"></param>
        public void OnUpFruitGradeInfo(stFruitGradeInfo fruitGradeInfo)
        {
            if (GlobalDataInterface.nVer == 0)
            {
                try
                {
                    if (this == Form.ActiveForm)//是否操作当前窗体
                    {
                        if (this.InvokeRequired)
                        {
                            this.BeginInvoke(new GlobalDataInterface.FruitGradeInfoEventHandler(OnUpFruitGradeInfo), fruitGradeInfo);
                        }
                        else
                        {
                            int ChannelInIPMIndex = Commonfunction.ChanelInIPMIndex(m_ChannelIDList[m_CurrentChannelIndex]);
                            if (fruitGradeInfo.param[Index].unGrade == 0x7f7f7f7f)
                            {
                                return;
                            }
                            uint   SizeGradeIndex, QualfGradeIndex;
                            byte[] temp = new byte[ConstPreDefine.MAX_TEXT_LENGTH];
                            string GradeName;
                            //通道1
                            if (fruitGradeInfo.param[Index].unGrade != 0x7f7f7f7f)
                            {
                                if (this.DiametertextBox1.Enabled == true)
                                {
                                    this.DiametertextBox1.Text = fruitGradeInfo.param[Index].visionParam.unSelectBasis.ToString("0.0");//直径
                                }
                                if (this.AreatextBox1.Enabled == true)
                                {
                                    this.AreatextBox1.Text = fruitGradeInfo.param[Index].visionParam.unArea.ToString();//投影面积
                                }
                                if (this.VolumetextBox1.Enabled == true)
                                {
                                    this.VolumetextBox1.Text = fruitGradeInfo.param[Index].visionParam.unVolume.ToString();//体积
                                }
                                if (this.ColorRate0textBox1.Enabled == true)
                                {
                                    this.ColorRate0textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate0 / 2).ToString();//颜色比例1
                                }
                                if (this.ColorRate1textBox1.Enabled == true)
                                {
                                    this.ColorRate1textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate1 / 2).ToString();//颜色比例2
                                }
                                if (this.ColorRate2textBox1.Enabled == true)
                                {
                                    this.ColorRate2textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate2 / 2).ToString();//颜色比例3
                                }
                                if (this.FlawAreatextBox1.Enabled == true)
                                {
                                    this.FlawAreatextBox1.Text = fruitGradeInfo.param[Index].visionParam.unFlawArea.ToString();//瑕疵面积
                                }
                                if (this.FlawNumtextBox1.Enabled == true)
                                {
                                    this.FlawNumtextBox1.Text = fruitGradeInfo.param[Index].visionParam.unFlawNum.ToString(); //瑕疵个数
                                }
                                if (this.VerticalAxistextBox1.Enabled == true)                                                //Add by ChengSk - 20180802
                                {
                                    //Modify by ChengSk - 20190923
                                    //this.VerticalAxistextBox1.Text = fruitGradeInfo.param.visionParam.unVertiSACenterD.ToString("0.000");//垂轴径
                                }
                                if (this.DiameterRatiotextBox1.Enabled == true)
                                {
                                    this.DiameterRatiotextBox1.Text = fruitGradeInfo.param[Index].visionParam.fDiameterRatio.ToString();//横径比
                                }
                                if (this.MinDRatiotextBox.Enabled == true)
                                {
                                    this.MinDRatiotextBox.Text = fruitGradeInfo.param[Index].visionParam.fMinDRatio.ToString();//扁椭型横径比
                                }
                                if (this.BruiseAreatextBox1.Enabled == true)
                                {
                                    this.BruiseAreatextBox1.Text = fruitGradeInfo.param[Index].uvParam.unBruiseArea.ToString("0.00");//擦伤面积
                                }
                                if (this.BruiseNumtextBox1.Enabled == true)
                                {
                                    this.BruiseNumtextBox1.Text = fruitGradeInfo.param[Index].uvParam.unBruiseNum.ToString("0.00");//擦伤个数
                                }
                                if (this.RotAreatextBox1.Enabled == true)
                                {
                                    this.RotAreatextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRotArea.ToString("0.00");//腐烂面积
                                }
                                if (this.RotNumtextBox1.Enabled == true)
                                {
                                    this.RotNumtextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRotNum.ToString("0.00");//腐烂个数
                                }
                                if (this.WeighttextBox1.Enabled == true)
                                {
                                    this.WeighttextBox1.Text = fruitGradeInfo.param[Index].fWeight.ToString("0.00");//重量
                                }
                                if (this.DensitytextBox1.Enabled == true)
                                {
                                    this.DensitytextBox1.Text = fruitGradeInfo.param[Index].fDensity.ToString("0.00");//密度
                                }
                                if (this.SugartextBox1.Enabled == true)
                                {
                                    if (fruitGradeInfo.param[Index].nirParam.fSugar == 0x7f7f7f7f)
                                    {
                                        this.SugartextBox1.Text = "0.00";//糖度
                                    }
                                    else
                                    {
                                        this.SugartextBox1.Text = fruitGradeInfo.param[Index].nirParam.fSugar.ToString("0.00");//糖度
                                    }
                                }
                                if (this.AciditytextBox1.Enabled == true)
                                {
                                    if (fruitGradeInfo.param[Index].nirParam.fAcidity == 0x7f7f7f7f)
                                    {
                                        this.AciditytextBox1.Text = "0.00";
                                    }
                                    else
                                    {
                                        this.AciditytextBox1.Text = fruitGradeInfo.param[Index].nirParam.fAcidity.ToString("0.00");//酸度
                                    }
                                }
                                if (this.HollowtextBox1.Enabled == true)
                                {
                                    this.HollowtextBox1.Text = fruitGradeInfo.param[Index].nirParam.fHollow.ToString("0.00");//空心
                                }
                                if (this.SkintextBox1.Enabled == true)
                                {
                                    this.SkintextBox1.Text = fruitGradeInfo.param[Index].nirParam.fSkin.ToString("0.00");//浮皮
                                }
                                if (this.BrowntextBox1.Enabled == true)
                                {
                                    this.BrowntextBox1.Text = fruitGradeInfo.param[Index].nirParam.fBrown.ToString("0.00");//褐变
                                }
                                if (this.TangxintextBox1.Enabled == true)
                                {
                                    this.TangxintextBox1.Text = fruitGradeInfo.param[Index].nirParam.fTangxin.ToString("0.00");//糖心
                                }
                                if (this.RigiditytextBox1.Enabled == true)
                                {
                                    this.RigiditytextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRigidity.ToString("0.00");//硬度
                                }
                                if (this.WatertextBox1.Enabled == true)
                                {
                                    this.WatertextBox1.Text = fruitGradeInfo.param[Index].uvParam.unWater.ToString("0.00");//含水率
                                }
                                //等级名称
                                //if ((GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 57) > 0 && (GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 7) > 0)//品质与尺寸或者品质与重量
                                if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType > 0)//品质与尺寸或者品质与重量
                                {
                                    SizeGradeIndex = fruitGradeInfo.param[Index].unGrade & 15;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');

                                    QualfGradeIndex = (fruitGradeInfo.param[Index].unGrade & 240) >> 4;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName += "." + Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                //else if (GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 1)//品质
                                else if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 0) //只有品质
                                {
                                    QualfGradeIndex = fruitGradeInfo.param[Index].unGrade & 240;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                else//尺寸
                                {
                                    SizeGradeIndex = fruitGradeInfo.param[Index].unGrade & 15;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                this.GradetextBox1.Text = GradeName;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Trace.WriteLine("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex);
#if REALEASE
                    GlobalDataInterface.WriteErrorInfo("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex);
#endif
                }
            }
            else
            {
                try
                {
                    if (this == Form.ActiveForm)//是否操作当前窗体
                    {
                        if (this.InvokeRequired)
                        {
                            this.BeginInvoke(new GlobalDataInterface.FruitGradeInfoEventHandler(OnUpFruitGradeInfo), fruitGradeInfo);
                        }
                        else
                        {
                            int ChannelInIPMIndex = Commonfunction.ChanelInIPMIndex(m_ChannelIDList[m_CurrentChannelIndex]);

                            if (fruitGradeInfo.param[ChannelInIPMIndex].unGrade == 0x7f7f7f7f)
                            {
                                return;
                            }
                            uint   SizeGradeIndex, QualfGradeIndex;
                            byte[] temp = new byte[ConstPreDefine.MAX_TEXT_LENGTH];
                            string GradeName;
                            //通道1
                            if (fruitGradeInfo.param[ChannelInIPMIndex].unGrade != 0x7f7f7f7f)
                            {
                                if (this.DiametertextBox1.Enabled == true)
                                {
                                    this.DiametertextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unSelectBasis.ToString("0.0");//直径
                                }
                                if (this.AreatextBox1.Enabled == true)
                                {
                                    this.AreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unArea.ToString();//投影面积
                                }
                                if (this.VolumetextBox1.Enabled == true)
                                {
                                    this.VolumetextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unVolume.ToString();//体积
                                }
                                if (this.ColorRate0textBox1.Enabled == true)
                                {
                                    this.ColorRate0textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate0 / 2).ToString();//颜色比例1
                                }
                                if (this.ColorRate1textBox1.Enabled == true)
                                {
                                    this.ColorRate1textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate1 / 2).ToString();//颜色比例2
                                }
                                if (this.ColorRate2textBox1.Enabled == true)
                                {
                                    this.ColorRate2textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate2 / 2).ToString();//颜色比例3
                                }
                                if (this.FlawAreatextBox1.Enabled == true)
                                {
                                    this.FlawAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unFlawArea.ToString();//瑕疵面积
                                }
                                if (this.FlawNumtextBox1.Enabled == true)
                                {
                                    this.FlawNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unFlawNum.ToString(); //瑕疵个数
                                }
                                if (this.VerticalAxistextBox1.Enabled == true)                                                            //Add by ChengSk - 20180802
                                {
                                    //Modify by ChengSk - 20190923
                                    //this.VerticalAxistextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unVertiSACenterD.ToString("0.000");//垂轴径
                                }
                                if (this.DiameterRatiotextBox1.Enabled == true)
                                {
                                    this.DiameterRatiotextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.fDiameterRatio.ToString();//横径比
                                }
                                if (this.MinDRatiotextBox.Enabled == true)
                                {
                                    this.MinDRatiotextBox.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.fMinDRatio.ToString();//扁椭型横径比
                                }
                                if (this.BruiseAreatextBox1.Enabled == true)
                                {
                                    this.BruiseAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unBruiseArea.ToString("0.00");//擦伤面积
                                }
                                if (this.BruiseNumtextBox1.Enabled == true)
                                {
                                    this.BruiseNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unBruiseNum.ToString("0.00");//擦伤个数
                                }
                                if (this.RotAreatextBox1.Enabled == true)
                                {
                                    this.RotAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRotArea.ToString("0.00");//腐烂面积
                                }
                                if (this.RotNumtextBox1.Enabled == true)
                                {
                                    this.RotNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRotNum.ToString("0.00");//腐烂个数
                                }
                                if (this.WeighttextBox1.Enabled == true)
                                {
                                    this.WeighttextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].fWeight.ToString("0.00");//重量
                                }
                                if (this.DensitytextBox1.Enabled == true)
                                {
                                    this.DensitytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].fDensity.ToString("0.00");//密度
                                }
                                if (this.SugartextBox1.Enabled == true)
                                {
                                    if (fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSugar == 0x7f7f7f7f)
                                    {
                                        this.SugartextBox1.Text = "0.00";//糖度
                                    }
                                    else
                                    {
                                        this.SugartextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSugar.ToString("0.00");//糖度
                                    }
                                }
                                if (this.AciditytextBox1.Enabled == true)
                                {
                                    if (fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fAcidity == 0x7f7f7f7f)
                                    {
                                        this.AciditytextBox1.Text = "0.00";
                                    }
                                    else
                                    {
                                        this.AciditytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fAcidity.ToString("0.00");//酸度
                                    }
                                }
                                if (this.HollowtextBox1.Enabled == true)
                                {
                                    this.HollowtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fHollow.ToString("0.00");//空心
                                }
                                if (this.SkintextBox1.Enabled == true)
                                {
                                    this.SkintextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSkin.ToString("0.00");//浮皮
                                }
                                if (this.BrowntextBox1.Enabled == true)
                                {
                                    this.BrowntextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fBrown.ToString("0.00");//褐变
                                }
                                if (this.TangxintextBox1.Enabled == true)
                                {
                                    this.TangxintextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fTangxin.ToString("0.00");//糖心
                                }
                                if (this.RigiditytextBox1.Enabled == true)
                                {
                                    this.RigiditytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRigidity.ToString("0.00");//硬度
                                }
                                if (this.WatertextBox1.Enabled == true)
                                {
                                    this.WatertextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unWater.ToString("0.00");//含水率
                                }
                                //等级名称
                                //if ((GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 57) > 0 && (GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 7) > 0)//品质与尺寸或者品质与重量
                                if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType > 0)//品质与尺寸或者品质与重量
                                {
                                    SizeGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 15;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');

                                    QualfGradeIndex = (fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 240) >> 4;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName += "." + Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                //else if (GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 1)//品质
                                else if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 0) //只有品质
                                {
                                    QualfGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 240;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                else//尺寸
                                {
                                    SizeGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 15;
                                    Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH);
                                    GradeName = Encoding.Default.GetString(temp).TrimEnd('\0');
                                }
                                this.GradetextBox1.Text = GradeName;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Trace.WriteLine("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex);
#if REALEASE
                    GlobalDataInterface.WriteErrorInfo("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex);
#endif
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// 腐烂参数设置子界面快捷键事件
        /// </summary>
        /// <param name="selectchannelNo"></param>
        private void TabControlSelectedIndex4Event(int selectchannelNo)
        {
            int SelectChannelNo = selectchannelNo;

            if (SelectChannelNo > 0 && SelectChannelNo <= ChannelNum)
            {
                try
                {
                    m_CurrentRotChannelIndex = SelectChannelNo - 1;
                    //m_RotCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]));
                    if (GlobalDataInterface.nVer == 1)            //版本号判断 add by xcw 20200604
                    {
                        m_RotCurrentIPM_ID = m_RotChanelIDList[m_CurrentRotChannelIndex];

                        //m_RotCurrentIPM_ID = Commonfunction.EncodeIPMChannel(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]));
                    }
                    else if (GlobalDataInterface.nVer == 0)
                    {
                        m_RotCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]));
                    }
                    stCameraNum cameraNum = new stCameraNum(true);
                    // cameraNum.bChannelIndex = (byte)Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]);
                    //switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo)
                    //{
                    //    case 1:
                    //        cameraNum.cCameraNum = 0;
                    //        break;
                    //    case 2:
                    //        cameraNum.cCameraNum = 0;
                    //        break;
                    //    case 4:
                    //        cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                    //        break;
                    //    case 8:
                    //        cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                    //        break;
                    //}
                    switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo) //Modify by ChengSk - 20190520
                    {
                    case 64:                                                     //NIR2-右
                        cameraNum.cCameraNum = 0;
                        break;

                    case 128:     //NIR2-中
                        cameraNum.cCameraNum = 0;
                        break;

                    case 256:     //NIR2-左
                        cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                        break;

                    case 1:       //彩色-右
                        cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM);
                        break;
                    }
                    if (GlobalDataInterface.global_IsTestMode)
                    {
                        GlobalDataInterface.TransmitParam(m_RotCurrentIPM_ID, (int)HC_FSM_COMMAND_TYPE.HC_CMD_GRADEINFO_OFF, null);
                        GlobalDataInterface.TransmitParam(m_RotCurrentIPM_ID, (int)HC_IPM_COMMAND_TYPE.HC_CMD_SINGLE_SAMPLE_SPOT, cameraNum);
                    }
                }
                catch (Exception ex)
                {
                    Trace.WriteLine("QualityParamSetForm中函数TabControlSelectedIndex4Event出错" + ex + "\n" + ex.StackTrace);
#if REALEASE
                    GlobalDataInterface.WriteErrorInfo("QualityParamSetForm中函数TabControlSelectedIndex4Event出错" + ex + "\n" + ex.StackTrace);
#endif
                }
            }
        }