コード例 #1
0
        protected bool ConfigWavelength(string dutcurrentchannel)
        {
            //string CurrnentWavelength = "";
            bool flag = false;

            string[] wavtemp = new string[4];
            Wavelength = Wavelength.Trim();
            wavtemp    = Wavelength.Split(new char[] { ',' });
            byte i = Convert.ToByte(Convert.ToInt16(dutcurrentchannel) - 1);

            try
            {
                //flag = MyIO.WriteString(":sense" + AttSlot + ":channel " + AttChannel + ":power:wavelength" + wavtemp[i] + "E-9");
                flag = MyIO.WriteString(":INP" + AttSlot + ":WAV " + wavtemp[i] + "nm");
                logger.AdapterLogString(0, "AttSlot is" + AttSlot + "Wavelength is" + wavtemp[i] + "nm");
                return(flag);
            }
            catch (Exception error)
            {
                logger.AdapterLogString(3, error.ToString());
                return(false);
            }
        }
コード例 #2
0
        protected bool ConfigWavelength(string dutcurrentchannel, int syn = 0)
        {
            lock (syncRoot)
            {
                //string CurrnentWavelength = "";
                bool     flag     = false;
                bool     flag1    = false;
                int      k        = 0;
                string   readtemp = "";
                double   waveinput;
                double   waveoutput;
                string[] wavtemp = new string[4];
                Wavelength = Wavelength.Trim();
                wavtemp    = Wavelength.Split(new char[] { ',' });
                byte i = Convert.ToByte(Convert.ToInt16(dutcurrentchannel) - 1);
                try
                {
                    if (syn == 0)
                    {
                        Log.SaveLogToTxt("AttSlot is" + AttSlot + ":Channel" + AttChannel + "Wavelength is" + wavtemp[i] + "nm");
                        return(this.WriteString(":INP" + AttSlot + ":Channel" + AttChannel + ":WAV " + wavtemp[i] + "nm"));
                    }
                    else
                    {
                        for (int j = 0; j < 3; j++)
                        {
                            flag1 = this.WriteString(":INP" + AttSlot + ":Channel" + AttChannel + ":WAV " + wavtemp[i] + "nm");
                            if (flag1 == true)
                            {
                                break;
                            }
                        }
                        if (flag1 == true)
                        {
                            for (k = 0; k < 3; k++)
                            {
                                this.WriteString(":INP" + AttSlot + ":Channel" + AttChannel + ":WAV?");
                                readtemp   = this.ReadString();
                                waveinput  = Convert.ToDouble(wavtemp[i]);
                                waveoutput = Convert.ToDouble(readtemp) * Math.Pow(10, 9);
                                if (waveinput == waveoutput)
                                {
                                    break;
                                }
                            }
                            if (k <= 3)
                            {
                                flag = true;
                                Log.SaveLogToTxt("AttSlot is" + AttSlot + ":Channel" + AttChannel + "Wavelength is" + wavtemp[i] + "nm");
                            }
                            else
                            {
                                Log.SaveLogToTxt("ATT set Wavelength wrong");
                            }
                        }

                        return(flag);
                    }
                }
                catch (InnoExCeption error)
                {
                    Log.SaveLogToTxt("ErrorCode=" + ExceptionDictionary.Code._Funtion_Fatal_0x05002 + "Reason=" + error.TargetSite.Name + "Fail");
                    throw error;
                }

                catch (Exception error)
                {
                    Log.SaveLogToTxt("ErrorCode=" + ExceptionDictionary.Code._Funtion_Fatal_0x05002 + "Reason=" + error.TargetSite.Name + "Fail");
                    throw new InnoExCeption(ExceptionDictionary.Code._Funtion_Fatal_0x05002, error.StackTrace);
                    // throw new InnoExCeption(ex);
                }
            }
        }
コード例 #3
0
        private bool ConfigWavelength(string dutCurrentChannel, int syn = 0)
        {
            lock (syncRoot)
            {
                bool     flag           = false;
                string[] wavelengthList = new string[4];
                byte     i = Convert.ToByte(Convert.ToInt16(dutCurrentChannel) - 1);

                Wavelength     = Wavelength.Trim();
                wavelengthList = Wavelength.Split(',');

                try
                {
                    if (syn == 0)
                    {
                        Log.SaveLogToTxt("AttSlot is " + AttSlot + ", DeviceChannel is "
                                         + DeviceChannel + ", Wavelength is " + wavelengthList[i] + "nm");
                        return(this.WriteString(":OUTP:WAV " + AttSlot + "," + DeviceChannel + "," + wavelengthList[i]));
                    }
                    else
                    {
                        bool   tempFlag = false;
                        string readtemp = "";
                        int    k        = 0;

                        for (int j = 0; j < 3; j++)
                        {
                            tempFlag = this.WriteString(":OUTP:WAV " + AttSlot + "," + DeviceChannel + "," + wavelengthList[i]);

                            if (tempFlag)
                            {
                                break;
                            }
                        }

                        if (tempFlag)
                        {
                            for (k = 0; k < 3; k++)
                            {
                                Thread.Sleep(100);
                                this.WriteString(":OUTP:WAV? " + AttSlot + "," + DeviceChannel);

                                readtemp = this.ReadString();
                                if (Convert.ToDouble(readtemp) == Convert.ToDouble(wavelengthList[i]))
                                {
                                    break;
                                }
                            }

                            if (k <= 2)
                            {
                                Log.SaveLogToTxt("AttSlot is " + AttSlot + ", DeviceChannel is "
                                                 + DeviceChannel + ", Wavelength is " + wavelengthList[i] + "nm");
                                flag = true;
                            }
                            else
                            {
                                Log.SaveLogToTxt("ConfigWavelength wrong");
                            }
                        }
                        return(flag);
                    }
                }
                catch (Exception error)
                {
                    Log.SaveLogToTxt(error.ToString());

                    return(false);
                }
            }
        }