查询返回数据转double

This commit is contained in:
2026-08-19 20:04:10 +08:00
parent fb6e5b3cb1
commit 38f594e4aa
12 changed files with 283 additions and 248 deletions
+18 -13
View File
@@ -208,9 +208,10 @@ namespace DeviceCommand.Devices
/// <param name="ct">取消令牌</param>
/// <returns>实际电压测量值 (单位: V)</returns>
[Monitorable("交流电源电压")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:VOLTage?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:VOLTage?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
@@ -219,9 +220,10 @@ namespace DeviceCommand.Devices
/// <param name="ct">取消令牌</param>
/// <returns>实际电流测量值 (单位: A)</returns>
[Monitorable("交流电源电流")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:CURRent?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:CURRent?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
@@ -230,9 +232,10 @@ namespace DeviceCommand.Devices
/// <param name="ct">取消令牌</param>
/// <returns>实际有功功率测量值 (单位: W)</returns>
[Monitorable("交流电源功率")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:POWer?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:POWer?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
@@ -240,9 +243,10 @@ namespace DeviceCommand.Devices
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>视在功率测量值 (单位: VA)</returns>
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:POWer:APParent?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:POWer:APParent?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
@@ -250,9 +254,10 @@ namespace DeviceCommand.Devices
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>实际频率测量值 (单位: Hz)</returns>
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:FREQuency?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:FREQuency?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
@@ -260,11 +265,11 @@ namespace DeviceCommand.Devices
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>功率因数测量值</returns>
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
return await WriteReadAsync($":MEASure:POWer:PFACtor?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
string response = await WriteReadAsync($":MEASure:POWer:PFACtor?{ScpiDelimiter}", ScpiDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
#endregion
#region 5.