diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs index 442706b..47b0cc3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs @@ -62,20 +62,10 @@ } catch (Exception ex) { - LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message); + LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getPeriod:" + ex.Message); return null; } } - - /* -* GPIB 频率:freq value -* 周期:pulse:period value -* output 0/1 -* 电压VOLTage 1V -* -* TCPIP 频率:MEAS:freq? -* 周期:MEAS:period? -* */ } } \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs index 442706b..47b0cc3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs @@ -62,20 +62,10 @@ } catch (Exception ex) { - LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message); + LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getPeriod:" + ex.Message); return null; } } - - /* -* GPIB 频率:freq value -* 周期:pulse:period value -* output 0/1 -* 电压VOLTage 1V -* -* TCPIP 频率:MEAS:freq? -* 周期:MEAS:period? -* */ } } \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs index 88dec18..c0192b3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs @@ -19,7 +19,7 @@ //启动output(一次)OUTPUT 0\OUTPUT 1 GPIB_TCPIP_OPERATIO.output(gPIBService); - //设置周期/频率、电压GPIB + //设置周期/频率、电压GPIB if (type == "freq") GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq); else if (type == "period") @@ -31,6 +31,13 @@ { //获取当前灵敏度 getVOLTageValue(counterCheckParam, ref currentVolTage); + + if (currentVolTage == null) + { + sensitivityContentParam.VolTage = "灵敏度超限"; + sensitivityContentParam.CheckTime = new DateTime(); + break; + } //设置当前灵敏度 GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay); @@ -44,18 +51,18 @@ currentValue = UnitConvertHelper.convertDt(currentValue_E); //检测数据是否在容差范围内 - bool errorCheckResult=satisfyCheck(counterCheckParam, sensitivityContentParam,currentValue,type); + bool errorCheckResult = satisfyCheck(counterCheckParam, sensitivityContentParam, currentValue, type); //返回满足容差的数据 if (errorCheckResult) { if (type == "freq") - sensitivityContentParam.ReFreq = currentValue; + sensitivityContentParam.ReFreq = UnitConvertHelper.hzConvert(sensitivityContentParam.Freq, currentValue); else if (type == "period") - sensitivityContentParam.RePeriod = currentValue; + sensitivityContentParam.RePeriod = UnitConvertHelper.sConvert(sensitivityContentParam.Period, currentValue); sensitivityContentParam.VolTage = currentVolTage; sensitivityContentParam.CheckTime = new DateTime(); - + lessTolerance = true; } } @@ -75,7 +82,14 @@ if (currentValue == "0") currentValue = counterCheckParam.SoEleFrequency; else - currentValue = (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString(); + { + double value = Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue); + if (value < Convert.ToDouble(counterCheckParam.SoEleAlarm)) + currentValue = (Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue)).ToString(); + else + currentValue = null; + } + } bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam, @@ -108,7 +122,7 @@ double errorPeriod = Math.Abs(cPeriod - bPeriod); - if (bPeriod > 12.5 * 1000 * 1000 * 1000) + if (bPeriod > 12.5 / 1000 / 1000 / 1000) return errorPeriod < periodThreshold2 ? true : false; else return errorPeriod < periodThreshold1 ? true : false; @@ -122,8 +136,7 @@ return false; } } - - + /** * * GPIBService gPIBService=new GPIBServiceImpl(); diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs index 442706b..47b0cc3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs @@ -62,20 +62,10 @@ } catch (Exception ex) { - LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message); + LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getPeriod:" + ex.Message); return null; } } - - /* -* GPIB 频率:freq value -* 周期:pulse:period value -* output 0/1 -* 电压VOLTage 1V -* -* TCPIP 频率:MEAS:freq? -* 周期:MEAS:period? -* */ } } \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs index 88dec18..c0192b3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs @@ -19,7 +19,7 @@ //启动output(一次)OUTPUT 0\OUTPUT 1 GPIB_TCPIP_OPERATIO.output(gPIBService); - //设置周期/频率、电压GPIB + //设置周期/频率、电压GPIB if (type == "freq") GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq); else if (type == "period") @@ -31,6 +31,13 @@ { //获取当前灵敏度 getVOLTageValue(counterCheckParam, ref currentVolTage); + + if (currentVolTage == null) + { + sensitivityContentParam.VolTage = "灵敏度超限"; + sensitivityContentParam.CheckTime = new DateTime(); + break; + } //设置当前灵敏度 GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay); @@ -44,18 +51,18 @@ currentValue = UnitConvertHelper.convertDt(currentValue_E); //检测数据是否在容差范围内 - bool errorCheckResult=satisfyCheck(counterCheckParam, sensitivityContentParam,currentValue,type); + bool errorCheckResult = satisfyCheck(counterCheckParam, sensitivityContentParam, currentValue, type); //返回满足容差的数据 if (errorCheckResult) { if (type == "freq") - sensitivityContentParam.ReFreq = currentValue; + sensitivityContentParam.ReFreq = UnitConvertHelper.hzConvert(sensitivityContentParam.Freq, currentValue); else if (type == "period") - sensitivityContentParam.RePeriod = currentValue; + sensitivityContentParam.RePeriod = UnitConvertHelper.sConvert(sensitivityContentParam.Period, currentValue); sensitivityContentParam.VolTage = currentVolTage; sensitivityContentParam.CheckTime = new DateTime(); - + lessTolerance = true; } } @@ -75,7 +82,14 @@ if (currentValue == "0") currentValue = counterCheckParam.SoEleFrequency; else - currentValue = (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString(); + { + double value = Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue); + if (value < Convert.ToDouble(counterCheckParam.SoEleAlarm)) + currentValue = (Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue)).ToString(); + else + currentValue = null; + } + } bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam, @@ -108,7 +122,7 @@ double errorPeriod = Math.Abs(cPeriod - bPeriod); - if (bPeriod > 12.5 * 1000 * 1000 * 1000) + if (bPeriod > 12.5 / 1000 / 1000 / 1000) return errorPeriod < periodThreshold2 ? true : false; else return errorPeriod < periodThreshold1 ? true : false; @@ -122,8 +136,7 @@ return false; } } - - + /** * * GPIBService gPIBService=new GPIBServiceImpl(); diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs index 7406c32..494085f 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs @@ -120,4 +120,4 @@ } } -} +} \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs index 442706b..47b0cc3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs @@ -62,20 +62,10 @@ } catch (Exception ex) { - LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message); + LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getPeriod:" + ex.Message); return null; } } - - /* -* GPIB 频率:freq value -* 周期:pulse:period value -* output 0/1 -* 电压VOLTage 1V -* -* TCPIP 频率:MEAS:freq? -* 周期:MEAS:period? -* */ } } \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs index 88dec18..c0192b3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs @@ -19,7 +19,7 @@ //启动output(一次)OUTPUT 0\OUTPUT 1 GPIB_TCPIP_OPERATIO.output(gPIBService); - //设置周期/频率、电压GPIB + //设置周期/频率、电压GPIB if (type == "freq") GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq); else if (type == "period") @@ -31,6 +31,13 @@ { //获取当前灵敏度 getVOLTageValue(counterCheckParam, ref currentVolTage); + + if (currentVolTage == null) + { + sensitivityContentParam.VolTage = "灵敏度超限"; + sensitivityContentParam.CheckTime = new DateTime(); + break; + } //设置当前灵敏度 GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay); @@ -44,18 +51,18 @@ currentValue = UnitConvertHelper.convertDt(currentValue_E); //检测数据是否在容差范围内 - bool errorCheckResult=satisfyCheck(counterCheckParam, sensitivityContentParam,currentValue,type); + bool errorCheckResult = satisfyCheck(counterCheckParam, sensitivityContentParam, currentValue, type); //返回满足容差的数据 if (errorCheckResult) { if (type == "freq") - sensitivityContentParam.ReFreq = currentValue; + sensitivityContentParam.ReFreq = UnitConvertHelper.hzConvert(sensitivityContentParam.Freq, currentValue); else if (type == "period") - sensitivityContentParam.RePeriod = currentValue; + sensitivityContentParam.RePeriod = UnitConvertHelper.sConvert(sensitivityContentParam.Period, currentValue); sensitivityContentParam.VolTage = currentVolTage; sensitivityContentParam.CheckTime = new DateTime(); - + lessTolerance = true; } } @@ -75,7 +82,14 @@ if (currentValue == "0") currentValue = counterCheckParam.SoEleFrequency; else - currentValue = (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString(); + { + double value = Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue); + if (value < Convert.ToDouble(counterCheckParam.SoEleAlarm)) + currentValue = (Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue)).ToString(); + else + currentValue = null; + } + } bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam, @@ -108,7 +122,7 @@ double errorPeriod = Math.Abs(cPeriod - bPeriod); - if (bPeriod > 12.5 * 1000 * 1000 * 1000) + if (bPeriod > 12.5 / 1000 / 1000 / 1000) return errorPeriod < periodThreshold2 ? true : false; else return errorPeriod < periodThreshold1 ? true : false; @@ -122,8 +136,7 @@ return false; } } - - + /** * * GPIBService gPIBService=new GPIBServiceImpl(); diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs index 7406c32..494085f 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs @@ -120,4 +120,4 @@ } } -} +} \ No newline at end of file diff --git a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe index 6934bef..9e6a4c7 100644 --- a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe +++ b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe Binary files differ diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs index 442706b..47b0cc3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs @@ -62,20 +62,10 @@ } catch (Exception ex) { - LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message); + LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getPeriod:" + ex.Message); return null; } } - - /* -* GPIB 频率:freq value -* 周期:pulse:period value -* output 0/1 -* 电压VOLTage 1V -* -* TCPIP 频率:MEAS:freq? -* 周期:MEAS:period? -* */ } } \ No newline at end of file diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs index 88dec18..c0192b3 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs @@ -19,7 +19,7 @@ //启动output(一次)OUTPUT 0\OUTPUT 1 GPIB_TCPIP_OPERATIO.output(gPIBService); - //设置周期/频率、电压GPIB + //设置周期/频率、电压GPIB if (type == "freq") GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq); else if (type == "period") @@ -31,6 +31,13 @@ { //获取当前灵敏度 getVOLTageValue(counterCheckParam, ref currentVolTage); + + if (currentVolTage == null) + { + sensitivityContentParam.VolTage = "灵敏度超限"; + sensitivityContentParam.CheckTime = new DateTime(); + break; + } //设置当前灵敏度 GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay); @@ -44,18 +51,18 @@ currentValue = UnitConvertHelper.convertDt(currentValue_E); //检测数据是否在容差范围内 - bool errorCheckResult=satisfyCheck(counterCheckParam, sensitivityContentParam,currentValue,type); + bool errorCheckResult = satisfyCheck(counterCheckParam, sensitivityContentParam, currentValue, type); //返回满足容差的数据 if (errorCheckResult) { if (type == "freq") - sensitivityContentParam.ReFreq = currentValue; + sensitivityContentParam.ReFreq = UnitConvertHelper.hzConvert(sensitivityContentParam.Freq, currentValue); else if (type == "period") - sensitivityContentParam.RePeriod = currentValue; + sensitivityContentParam.RePeriod = UnitConvertHelper.sConvert(sensitivityContentParam.Period, currentValue); sensitivityContentParam.VolTage = currentVolTage; sensitivityContentParam.CheckTime = new DateTime(); - + lessTolerance = true; } } @@ -75,7 +82,14 @@ if (currentValue == "0") currentValue = counterCheckParam.SoEleFrequency; else - currentValue = (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString(); + { + double value = Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue); + if (value < Convert.ToDouble(counterCheckParam.SoEleAlarm)) + currentValue = (Convert.ToDouble(currentValue) + Convert.ToDouble(counterCheckParam.SoEleAddValue)).ToString(); + else + currentValue = null; + } + } bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam, @@ -108,7 +122,7 @@ double errorPeriod = Math.Abs(cPeriod - bPeriod); - if (bPeriod > 12.5 * 1000 * 1000 * 1000) + if (bPeriod > 12.5 / 1000 / 1000 / 1000) return errorPeriod < periodThreshold2 ? true : false; else return errorPeriod < periodThreshold1 ? true : false; @@ -122,8 +136,7 @@ return false; } } - - + /** * * GPIBService gPIBService=new GPIBServiceImpl(); diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs index 7406c32..494085f 100644 --- a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs +++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs @@ -120,4 +120,4 @@ } } -} +} \ No newline at end of file diff --git a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe index 6934bef..9e6a4c7 100644 --- a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe +++ b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe Binary files differ diff --git a/RbFreqStandMeasure/tools/UnitConvertHelper.cs b/RbFreqStandMeasure/tools/UnitConvertHelper.cs index 0d6f620..e4f81a8 100644 --- a/RbFreqStandMeasure/tools/UnitConvertHelper.cs +++ b/RbFreqStandMeasure/tools/UnitConvertHelper.cs @@ -66,7 +66,54 @@ result = double.Parse(eData); } - return result.ToString() + return result.ToString(); + } + + + public static string hzConvert(string bfFreq, string freqValue) + { + string unit = Regex.Replace(bfFreq, @"\d", ""); + + double _freValue = Convert.ToDouble(freqValue); + + switch (unit) + { + case "μHz": + return _freValue * 1000 * 1000 + "μHz"; + case "mHz": + return _freValue * 1000 + "mHz"; + case "Hz": + return _freValue + "Hz"; + case "kHz": + return _freValue * 1000 + "kHz"; + case "MHz": + return _freValue * 1000 * 1000 + "MHz"; + default: + return "0"; + } + + } + + public static string sConvert(string period,string periodValue) + { + string unit = Regex.Replace(periodValue, @"\d", ""); + + double _periodValue = Convert.ToDouble(periodValue); + + switch (unit) + { + case "ns": + return _periodValue * 1000 * 1000 * 1000 + "ns"; + case "μs": + return _periodValue * 1000 * 1000 + "μs"; + case "ms": + return _periodValue * 1000 + "ms"; + case "s": + return _periodValue + "s"; + default: + return "0"; + } + } @@ -83,4 +130,4 @@ * * */ } -} +} \ No newline at end of file