/// <summary>
        /// 初始化仪器操作接口
        /// </summary>
        /// <param name="ins">1,光纤,2:积分球,6:积分球+透射</param>
        private static bool InitInstrumentObject(int type)
        {
            info = new InstrumentInterface.InstrumentInfo();
            info.instrumentFactor = FTNirInterface.enumInstrumentFactor.Vspec;
            //判断仪器是否是积分球类型
            string jsonString = GetParametersTable();

            if (jsonString != null)
            {
                JsonString.ParametersTable par = JsonString.JsonToObj <JsonString.ParametersTable>(jsonString);
                info.serialNumber = par.serialNum;
            }
            switch (type)
            {
            case 1:
                baseObj             = new Types.Fiber();
                info.instrumentType = FTNirInterface.enumInstrumentType.Fiber;
                return(true);

            case 2:
                baseObj             = new Types.IntegratingSphere();
                info.instrumentType = FTNirInterface.enumInstrumentType.IntegratingSphere;
                return(true);

            case 6:
                baseObj             = new Types.IntegratingSphereTrans();
                info.instrumentType = FTNirInterface.enumInstrumentType.QuasIR;
                return(true);

            default:
                errorCode = -19; return(false);
            }
        }
        /// <summary>
        /// 返回当前执行的错误
        /// </summary>
        /// <returns></returns>
        //public static string GetError() { return ErrorString; }

        /// <summary>
        /// 连接仪器
        /// </summary>
        /// <returns></returns>
        public static bool Connect()
        {
            if (instrumentObject == null)
            {
                instrumentObject = new VspecNIRObject();
            }

            if (instrumentObject == null)
            {
                errorCode = -10;
                return(false);
            }
            errorCode   = instrumentObject.Connect();
            isConnected = (errorCode == 0);
            //判断仪器是否是积分球类型
            string jsonString = "";

            errorCode = instrumentObject.GetParametersTable(ref jsonString);
            if (errorCode == 0 && jsonString != "")
            {
                JsonString.ParametersTable par = JsonString.JsonToObj <JsonString.ParametersTable>(jsonString);
                InitInstrumentObject(par.systemType);
            }
            return(isConnected);
        }
        /// <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);
        }