diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * TCPIP 频率:MEAS:freq?
- * 周期:MEAS:period?
- * */
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
new file mode 100644
index 0000000..7406c32
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
@@ -0,0 +1,123 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ class TCPServiceImpl:GPIBService
+ {
+ public string[] getId()
+ {
+ string[] counterId;
+ try
+ {
+ counterId = PortUltility.FindAddresses(PortType.LAN);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ counterId = null;
+ }
+ return counterId;
+ }
+
+
+ private PortOperatorBase _portOperatorBase;
+ public int open(string ip)
+ {
+ int result = -1;
+ if (NewPortInstance(ip))
+ {
+ try
+ {
+ _portOperatorBase.Open();
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
+ result = -1;
+ }
+ }
+
+ return result;
+ }
+
+ private bool NewPortInstance(string id)
+ {
+ bool hasAddress = false;
+ bool hasException = false;
+
+ try
+ {
+ _portOperatorBase = new LANPortOperator(id);//TCPIP0::192.168.0.134::inst0::INSTR//"TCPIP0::" + sensitivityId + "::INSTR"
+
+ hasAddress = true;
+ }
+ catch (Exception ex)
+ {
+ hasException = true;
+ }
+
+ if (!hasException) _portOperatorBase.Timeout = 2000;
+ return hasAddress;
+ }
+
+ public int close()
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.Close();
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ result = -1;
+ }
+
+ return result;
+ }
+
+ public int write(string content)
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.WriteLine(content);
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+
+ result = -1;
+ }
+ return result;
+ }
+
+ public string read()
+ {
+ string content = "";
+ try
+ {
+ content = _portOperatorBase.ReadLine();
+
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ content = "";
+ }
+ return content;
+ }
+
+ }
+}
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
new file mode 100644
index 0000000..7406c32
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
@@ -0,0 +1,123 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ class TCPServiceImpl:GPIBService
+ {
+ public string[] getId()
+ {
+ string[] counterId;
+ try
+ {
+ counterId = PortUltility.FindAddresses(PortType.LAN);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ counterId = null;
+ }
+ return counterId;
+ }
+
+
+ private PortOperatorBase _portOperatorBase;
+ public int open(string ip)
+ {
+ int result = -1;
+ if (NewPortInstance(ip))
+ {
+ try
+ {
+ _portOperatorBase.Open();
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
+ result = -1;
+ }
+ }
+
+ return result;
+ }
+
+ private bool NewPortInstance(string id)
+ {
+ bool hasAddress = false;
+ bool hasException = false;
+
+ try
+ {
+ _portOperatorBase = new LANPortOperator(id);//TCPIP0::192.168.0.134::inst0::INSTR//"TCPIP0::" + sensitivityId + "::INSTR"
+
+ hasAddress = true;
+ }
+ catch (Exception ex)
+ {
+ hasException = true;
+ }
+
+ if (!hasException) _portOperatorBase.Timeout = 2000;
+ return hasAddress;
+ }
+
+ public int close()
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.Close();
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ result = -1;
+ }
+
+ return result;
+ }
+
+ public int write(string content)
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.WriteLine(content);
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+
+ result = -1;
+ }
+ return result;
+ }
+
+ public string read()
+ {
+ string content = "";
+ try
+ {
+ content = _portOperatorBase.ReadLine();
+
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ content = "";
+ }
+ return content;
+ }
+
+ }
+}
diff --git a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
index 9eb0d13..adc64db 100644
--- a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
@@ -10,8 +10,8 @@
interface SensitivityService
{
//单行检测
- void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam);
+ void beginTest(string type,GPIBService gPIBService,GPIBService tcpService,string freq,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam);
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
new file mode 100644
index 0000000..7406c32
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
@@ -0,0 +1,123 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ class TCPServiceImpl:GPIBService
+ {
+ public string[] getId()
+ {
+ string[] counterId;
+ try
+ {
+ counterId = PortUltility.FindAddresses(PortType.LAN);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ counterId = null;
+ }
+ return counterId;
+ }
+
+
+ private PortOperatorBase _portOperatorBase;
+ public int open(string ip)
+ {
+ int result = -1;
+ if (NewPortInstance(ip))
+ {
+ try
+ {
+ _portOperatorBase.Open();
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
+ result = -1;
+ }
+ }
+
+ return result;
+ }
+
+ private bool NewPortInstance(string id)
+ {
+ bool hasAddress = false;
+ bool hasException = false;
+
+ try
+ {
+ _portOperatorBase = new LANPortOperator(id);//TCPIP0::192.168.0.134::inst0::INSTR//"TCPIP0::" + sensitivityId + "::INSTR"
+
+ hasAddress = true;
+ }
+ catch (Exception ex)
+ {
+ hasException = true;
+ }
+
+ if (!hasException) _portOperatorBase.Timeout = 2000;
+ return hasAddress;
+ }
+
+ public int close()
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.Close();
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ result = -1;
+ }
+
+ return result;
+ }
+
+ public int write(string content)
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.WriteLine(content);
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+
+ result = -1;
+ }
+ return result;
+ }
+
+ public string read()
+ {
+ string content = "";
+ try
+ {
+ content = _portOperatorBase.ReadLine();
+
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ content = "";
+ }
+ return content;
+ }
+
+ }
+}
diff --git a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
index 9eb0d13..adc64db 100644
--- a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
@@ -10,8 +10,8 @@
interface SensitivityService
{
//单行检测
- void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam);
+ void beginTest(string type,GPIBService gPIBService,GPIBService tcpService,string freq,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam);
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/RbFreqStandMeasure.csproj b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
index 67682c6..0d2d8a3 100644
--- a/RbFreqStandMeasure/RbFreqStandMeasure.csproj
+++ b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
@@ -313,9 +313,13 @@
+
+
+
+
UserControl
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
new file mode 100644
index 0000000..7406c32
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
@@ -0,0 +1,123 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ class TCPServiceImpl:GPIBService
+ {
+ public string[] getId()
+ {
+ string[] counterId;
+ try
+ {
+ counterId = PortUltility.FindAddresses(PortType.LAN);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ counterId = null;
+ }
+ return counterId;
+ }
+
+
+ private PortOperatorBase _portOperatorBase;
+ public int open(string ip)
+ {
+ int result = -1;
+ if (NewPortInstance(ip))
+ {
+ try
+ {
+ _portOperatorBase.Open();
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
+ result = -1;
+ }
+ }
+
+ return result;
+ }
+
+ private bool NewPortInstance(string id)
+ {
+ bool hasAddress = false;
+ bool hasException = false;
+
+ try
+ {
+ _portOperatorBase = new LANPortOperator(id);//TCPIP0::192.168.0.134::inst0::INSTR//"TCPIP0::" + sensitivityId + "::INSTR"
+
+ hasAddress = true;
+ }
+ catch (Exception ex)
+ {
+ hasException = true;
+ }
+
+ if (!hasException) _portOperatorBase.Timeout = 2000;
+ return hasAddress;
+ }
+
+ public int close()
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.Close();
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ result = -1;
+ }
+
+ return result;
+ }
+
+ public int write(string content)
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.WriteLine(content);
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+
+ result = -1;
+ }
+ return result;
+ }
+
+ public string read()
+ {
+ string content = "";
+ try
+ {
+ content = _portOperatorBase.ReadLine();
+
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ content = "";
+ }
+ return content;
+ }
+
+ }
+}
diff --git a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
index 9eb0d13..adc64db 100644
--- a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
@@ -10,8 +10,8 @@
interface SensitivityService
{
//单行检测
- void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam);
+ void beginTest(string type,GPIBService gPIBService,GPIBService tcpService,string freq,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam);
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/RbFreqStandMeasure.csproj b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
index 67682c6..0d2d8a3 100644
--- a/RbFreqStandMeasure/RbFreqStandMeasure.csproj
+++ b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
@@ -313,9 +313,13 @@
+
+
+
+
UserControl
diff --git a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe
index e879a62..5d4acd6 100644
--- a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe
+++ b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe
Binary files differ
diff --git a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
index a4d0c95..71038a1 100644
--- a/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
+++ b/RbFreqStandMeasure/R_DataBase/Model/CounterCheckParam.cs
@@ -5,9 +5,7 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model
{
- ///
- /// 字典
- ///
+
public class CounterCheckParam
{
private long id;
@@ -15,9 +13,11 @@
private string soEleFrequency;
private string soEleAddValue;
private string soEleAlarm;
+
private string freThreshold1;
private string freThreshold2;
private string freEleAddValue;
+
private string cycThreshold1;
private string cycThreshold2;
private string cycEleAddValue;
diff --git a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
index beefbcc..d8e2187 100644
--- a/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
+++ b/RbFreqStandMeasure/R_DevService/Dto/SensitivityContentParam.cs
@@ -9,6 +9,7 @@
{
//当前测量模式0,频率;1周期
private string checkModel;
+
//当前频率
private string freq;
diff --git a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
index 4c3f336..d16c5da 100644
--- a/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/GPIBService.cs
@@ -5,9 +5,8 @@
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service
{
- interface GPIBService
+ public interface GPIBService
{
- #region GPIB
///
/// 获取GPIB设备
///
@@ -21,12 +20,6 @@
int write(string content);
string read();
- #endregion
-
- #region LAN
- int openLAN(string ip);
-
- #endregion
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
index 89df386..37251a3 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIBServiceImpl.cs
@@ -28,7 +28,7 @@
public int open(string id)
{
int result = -1;
- if (NewPortInstance("GPIB",id))
+ if (NewPortInstance(id))
{
try
{
@@ -45,17 +45,14 @@
return result;
}
- private bool NewPortInstance(string type,string sensitivityId)
+ private bool NewPortInstance(string sensitivityId)
{
bool hasAddress = false;
bool hasException = false;
try
{
- if (type == "GPIB")
- _portOperatorBase = new GPIBPortOperator(sensitivityId);
- else if (type == "LAN")
- _portOperatorBase = new LANPortOperator("TCPIP0::"+ sensitivityId + "::INSTR");
+ _portOperatorBase = new GPIBPortOperator(sensitivityId);
hasAddress = true;
}
@@ -119,33 +116,7 @@
return content;
}
- public int openLAN(string ip)
- {
- int result = -1;
- if (NewPortInstance("LAN", ip))
- {
- try
- {
- _portOperatorBase.Open();
- result = 0;
- }
- catch (Exception ex)
- {
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
- result = -1;
- }
- }
- return result;
- }
- /*
- * GPIB 频率:freq value
- * 周期:pulse:period value
- * output 0/1
- *
- * 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
new file mode 100644
index 0000000..442706b
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/GPIB_TCPIP_OPERATIO.cs
@@ -0,0 +1,81 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ public class GPIB_TCPIP_OPERATIO
+ {
+ public static void output(GPIBService gPIBService)
+ {
+ gPIBService.write("OUTPUT?");
+
+ string outputStatus = gPIBService.read();
+
+ if (outputStatus == "0")
+ gPIBService.write("OUTPUT 1");
+ }
+
+ public static void setFreq(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("FREQ " + value);
+ }
+
+ public static void setPeriod(GPIBService gPIBService,string value)
+ {
+ gPIBService.write("PULSE:PERIOD " + value);
+ }
+
+ public static void setVOLTage(GPIBService gPIBService, string value,string sleepTime)
+ {
+ gPIBService.write("VOLTage " + value);
+
+ Thread.Sleep(Convert.ToInt32(sleepTime));
+ }
+
+ public static string getFreq(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:FREQ?");
+
+ return tcpService.read();
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + ex.Message);
+ return null;
+ }
+ }
+
+ public static string getPeriod(GPIBService tcpService)
+ {
+ try
+ {
+ tcpService.write("MEAS:PERIOD?");
+
+ return tcpService.read();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getFreq:" + 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 bceec15..e66c214 100644
--- a/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/SensitivityServiceImpl.cs
@@ -1,60 +1,100 @@
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DevService.Dto;
using Casic.Birmm.RbFreqStandMeasure.Tools;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
-using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
-using System.Text;
namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
{
class SensitivityServiceImpl:SensitivityService
{
- public void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam)
+ public void beginTest(string type, GPIBService gPIBService, GPIBService tcpService,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam)
{
sensitivityContentParam = new SensitivityContentParam();
try
{
//启动output(一次)OUTPUT 0\OUTPUT 1
- gPIBService.write("OUTPUT?");
+ GPIB_TCPIP_OPERATIO.output(gPIBService);
- string outputStatus = gPIBService.read();
-
- if (outputStatus == "0")
- gPIBService.write("OUTPUT 1");
-
- //设置周期/频率、电压GPIB
- gPIBService.write("FREQ " + freq);
+ //设置周期/频率、电压GPIB
+ if (type == "freq")
+ GPIB_TCPIP_OPERATIO.setFreq(gPIBService, sensitivityContentParam.Freq);
+ else if (type == "period")
+ GPIB_TCPIP_OPERATIO.setPeriod(gPIBService, sensitivityContentParam.Period);
bool lessTolerance = false;
+ string currentVolTage = "0";
while (!lessTolerance)
{
+ //获取当前灵敏度
+ currentVolTage = getVOLTageValue(counterCheckParam, currentVolTage);
+ //设置当前灵敏度
+ GPIB_TCPIP_OPERATIO.setVOLTage(gPIBService, currentVolTage, counterCheckParam.SoOutDelay);
+ string checkResult = "";
//主动读取检测数据LAN
-
+ if (type == "freq")
+ checkResult = GPIB_TCPIP_OPERATIO.getFreq(tcpService);
+ else if (type == "period")
+ checkResult = GPIB_TCPIP_OPERATIO.getPeriod(tcpService);
//检测数据是否在容差范围内
+
+
//返回满足容差的数据
lessTolerance = true;
}
-
+
}
- catch(Exception ex)
+ catch (Exception ex)
{
- LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:"+ex.Message);
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "beginTest:" + ex.Message);
sensitivityContentParam = null;
}
}
+ string getVOLTageValue(CounterCheckParam counterCheckParam,string currentValue)
+ {
+ if (currentValue == "0")
+ return counterCheckParam.SoEleFrequency;
+ else
+ return (Convert.ToInt32(currentValue) + Convert.ToInt32(counterCheckParam.SoEleAddValue)).ToString();
+ }
+
+ bool satisfyCheck(CounterCheckParam counterCheckParams, SensitivityContentParam sensitivityContentParam,
+ string currentValue,string checkType)
+ {
+ bool satisfyResult = false;
+ try
+ {
+ if (checkType == "freq")
+ {
+
+
+ }
+ else if (checkType == "period")
+ {
+
+ }
+
+ satisfyResult = true;
+ }
+ catch(Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType,"statisfyCheck:"+ex.Message);
+ satisfyResult = false;
+ }
+ return satisfyResult;
+ }
+
+
/**
*
- * GPIBService gPIBService=new GPIBService();
+ * GPIBService gPIBService=new GPIBServiceImpl();
+ * GPIBService tcpService=new TCPServiceImpl();
* gPIBService.open();
* for(datagridview.row)
* {
@@ -63,7 +103,4 @@
* gPIBService.close();
* */
}
-}
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
new file mode 100644
index 0000000..7406c32
--- /dev/null
+++ b/RbFreqStandMeasure/R_DevService/Service/Impl/TCPServiceImpl.cs
@@ -0,0 +1,123 @@
+using Casic.Birmm.RbFreqStandMeasure.Tools;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Port;
+using Casic.Birmm.RbFreqStandMeasure.VISA.Ulitity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+
+namespace Casic.Birmm.RbFreqStandMeasure.R_DevService.Service.Impl
+{
+ class TCPServiceImpl:GPIBService
+ {
+ public string[] getId()
+ {
+ string[] counterId;
+ try
+ {
+ counterId = PortUltility.FindAddresses(PortType.LAN);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ counterId = null;
+ }
+ return counterId;
+ }
+
+
+ private PortOperatorBase _portOperatorBase;
+ public int open(string ip)
+ {
+ int result = -1;
+ if (NewPortInstance(ip))
+ {
+ try
+ {
+ _portOperatorBase.Open();
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "open:" + ex.Message);
+ result = -1;
+ }
+ }
+
+ return result;
+ }
+
+ private bool NewPortInstance(string id)
+ {
+ bool hasAddress = false;
+ bool hasException = false;
+
+ try
+ {
+ _portOperatorBase = new LANPortOperator(id);//TCPIP0::192.168.0.134::inst0::INSTR//"TCPIP0::" + sensitivityId + "::INSTR"
+
+ hasAddress = true;
+ }
+ catch (Exception ex)
+ {
+ hasException = true;
+ }
+
+ if (!hasException) _portOperatorBase.Timeout = 2000;
+ return hasAddress;
+ }
+
+ public int close()
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.Close();
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ result = -1;
+ }
+
+ return result;
+ }
+
+ public int write(string content)
+ {
+ int result = -1;
+ try
+ {
+ _portOperatorBase.WriteLine(content);
+
+ result = 0;
+ }
+ catch (Exception ex)
+ {
+
+ result = -1;
+ }
+ return result;
+ }
+
+ public string read()
+ {
+ string content = "";
+ try
+ {
+ content = _portOperatorBase.ReadLine();
+
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "getCounterId : " + ex.Message);
+ content = "";
+ }
+ return content;
+ }
+
+ }
+}
diff --git a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
index 9eb0d13..adc64db 100644
--- a/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
+++ b/RbFreqStandMeasure/R_DevService/Service/SensitivityService.cs
@@ -10,8 +10,8 @@
interface SensitivityService
{
//单行检测
- void beginTest(GPIBService gPIBService,string freq,CounterCheckParam counterCheckParam,
- out SensitivityContentParam sensitivityContentParam);
+ void beginTest(string type,GPIBService gPIBService,GPIBService tcpService,string freq,
+ CounterCheckParam counterCheckParam, out SensitivityContentParam sensitivityContentParam);
}
}
\ No newline at end of file
diff --git a/RbFreqStandMeasure/RbFreqStandMeasure.csproj b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
index 67682c6..0d2d8a3 100644
--- a/RbFreqStandMeasure/RbFreqStandMeasure.csproj
+++ b/RbFreqStandMeasure/RbFreqStandMeasure.csproj
@@ -313,9 +313,13 @@
+
+
+
+
UserControl
diff --git a/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe b/RbFreqStandMeasure/bin/Debug/RbFreqStandMeasure.exe
index e879a62..5d4acd6 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
new file mode 100644
index 0000000..e898f9c
--- /dev/null
+++ b/RbFreqStandMeasure/tools/UnitConvertHelper.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace Casic.Birmm.RbFreqStandMeasure.tools
+{
+ class UnitConvertHelper
+ {
+ double convertHZ(string currentFreq)
+ {
+ string unit= Regex.Replace(currentFreq, @"\d", "");
+
+ double value= Convert.ToDouble(Regex.Replace(currentFreq, @"[^\d.\d]", ""));
+
+ switch (unit)
+ {
+ case "μHz":
+ return value/1000/1000;
+ case "mHz":
+ return value/1000;
+ case "Hz":
+ return value;
+ case "kHz":
+ return value*1000;
+ case "MHz":
+ return value*1000*1000;
+ default:
+ return 0;
+ }
+ }
+
+ double convertS(string currentPeriod)
+ {
+ string unit = Regex.Replace(currentPeriod,@"\d","");
+
+ double value = Convert.ToDouble(Regex.Replace(currentPeriod, @"[^\d.\d]", ""));
+
+ switch (unit)
+ {
+ case "ns":
+ return value/1000/1000/1000;
+ case "μs":
+ return value/1000/1000;
+ case "ms":
+ return value/1000;
+ case "s":
+ return value;
+ default:
+ return 0;
+ }
+ }
+
+ /*int convertV(string currentVOLTage)
+ {
+
+ }
+ */
+
+ /**
+ *
+ * 50kHz "+5.00000082583410E+004" "+1.99999966521428E-005"
+ * 20 "+1.99999966774069E-008"
+ *
+ * */
+ }
+}