示例#1
0
        /// <summary>
        /// 把激光波数写入仪器
        /// </summary>
        /// <param name="waveNum"></param>
        /// <returns></returns>
        //public static bool Executed(string waveNum)
        //{
        //    lock (thisLock)
        //    {
        //        if (!isConnected)
        //        {
        //            ErrorCode = -11;
        //            return false;
        //        }
        //        ErrorCode = instrumentObject.Execute(waveNum.ToString());
        //        return ErrorCode == 0;
        //    }
        //}

        /// <summary>
        /// 把激光波数写入仪器
        /// </summary>
        /// <param name="waveNum"></param>
        /// <returns></returns>
        public static bool SetLaserWavelength(string laserWavelength)
        {
            lock (thisLock)
            {
                if (!isConnected)
                {
                    ErrorCode = -11;
                    return(false);
                }
                ErrorCode = instrumentObject.SetLaserWavelength(laserWavelength);
                return(ErrorCode == 0);
            }
        }
        /// <summary>
        /// 把激光波数写入仪器
        /// </summary>
        /// <param name="curPeak">当前峰位</param>
        /// <param name="targetPeak">目标峰位</param>
        /// <returns></returns>
        public bool?SetLaserWavelength(double curPeak, double targetPeak, ref double curLaser)
        {
            if (!isConnected)
            {
                errorCode = -11;
                return(false);
            }
            string paraString = GetParametersTable();

            if (paraString == null)
            {
                return(false);
            }
            JsonString.ParametersTable senser = JsonString.JsonToObj <JsonString.ParametersTable>(paraString);
            string tempString = string.Empty;

            try
            {
                tempString = (senser.laserWavelen * curPeak / targetPeak).ToString();
            }
            catch
            {
                return(false);
            }
            double tempValue = Convert.ToDouble(tempString.Substring(0, tempString.Length < 17 ? tempString.Length : 17));

            if (tempValue < 645 && tempValue > 635)
            {
                errorCode = instrumentObject.SetLaserWavelength(tempValue.ToString());
            }
            else
            {
                errorCode = -15;
            }
            return(errorCode == 0);
        }