Compare commits

...

2 Commits

Author SHA1 Message Date
“hsc”
7250080a24 Merge branch 'master' of https://git.kaiyili-lab.com/huangsucan/ACP 2026-08-04 11:37:31 +08:00
“hsc”
537c4554ae 设备命令修改 2026-08-04 11:37:26 +08:00
2 changed files with 216 additions and 94 deletions

View File

@@ -21,7 +21,9 @@ namespace DeviceCommand.Devices
{ {
} }
#region 1. IEEE 488.2 #region
// ================= 1. IEEE 488.2 公共命令 =================
public virtual async Task (CancellationToken ct = default) public virtual async Task (CancellationToken ct = default)
{ {
@@ -48,9 +50,8 @@ namespace DeviceCommand.Devices
return await WriteReadAsync($":SYSTem:VERSion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($":SYSTem:VERSion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
#endregion
#region 2. // ================= 2. 系统远程与状态控制 =================
public virtual async Task (CancellationToken ct = default) public virtual async Task (CancellationToken ct = default)
{ {
@@ -77,9 +78,8 @@ namespace DeviceCommand.Devices
await SendAsync($"SYSTem:CLEar{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"SYSTem:CLEar{ScpiDelimiter}", ct); //[cite: 1]
} }
#endregion
#region 3. // ================= 3. 功能模式与优先级设置 =================
/// <summary> /// <summary>
/// 设置电源优先工作模式 (CV 电压优先 或 CC 电流优先) /// 设置电源优先工作模式 (CV 电压优先 或 CC 电流优先)
@@ -107,9 +107,8 @@ namespace DeviceCommand.Devices
return await WriteReadAsync($"FUNCTION:MODE?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($"FUNCTION:MODE?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
#endregion
#region 4. // ================= 4. 输出开关与保护清除 =================
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
@@ -127,12 +126,11 @@ namespace DeviceCommand.Devices
await SendAsync($"OUTPut:PROTection:CLEar{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"OUTPut:PROTection:CLEar{ScpiDelimiter}", ct); //[cite: 1]
} }
#endregion
#region 5. / // ================= 5. 基础设定 (正值代表输出,负值代表吸收) =================
/// <summary> /// <summary>
/// 设置输出电压 (仅在 CV 模式下生效) /// 设置输出/吸收电压 (仅在 CV 模式下生效)
/// </summary> /// </summary>
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
@@ -146,7 +144,7 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置输出电流 (仅在 CC 模式下生效) /// 设置输出/吸收电流 (仅在 CC 模式下生效。设定负值即作为负载吸收电流)
/// </summary> /// </summary>
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
@@ -160,21 +158,7 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置 CV 优先模式下的电流限制上限值 (I+, 限流保护) /// 设置电压上升/下降斜率 (单位: V/s)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:POSitive {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置电压上升/下降斜率 (单位: V/s, 数值越大变化越快)[cite: 1]
/// </summary> /// </summary>
public virtual async Task (double Vs, CancellationToken ct = default) public virtual async Task (double Vs, CancellationToken ct = default)
{ {
@@ -182,13 +166,9 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
#endregion
#region 6. (OVP, OCP, OPP) // ================= 6. 保护功能配置 (OVP, OCP, OPP) =================
/// <summary>
/// 开启或关闭过压保护 (OVP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -201,9 +181,6 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
/// <summary>
/// 开启或关闭过流保护 (OCP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -216,24 +193,20 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
/// <summary>
/// 开启或关闭过功率保护 (OPP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
await SendAsync($"POWER:PROTection:STATe {参数}{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"POWer:PROTection:STATe {参数}{ScpiDelimiter}", ct); //[cite: 1]
} }
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
string cmd = string.Format(CultureInfo.InvariantCulture, "POWER:PROTection {0:F2}{1}", , ScpiDelimiter); //[cite: 1] string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:PROTection {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
#endregion
#region 7. (MEASure FETCh) // ================= 7. 测量回读 (MEASure 与 FETCh) =================
[Monitorable("直流源载实际电压")] [Monitorable("直流源载实际电压")]
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
@@ -250,7 +223,7 @@ namespace DeviceCommand.Devices
[Monitorable("直流源载实际功率")] [Monitorable("直流源载实际功率")]
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
{ {
return await WriteReadAsync($"MEASure:POWER?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($"MEASure:POWer?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
@@ -265,12 +238,101 @@ namespace DeviceCommand.Devices
#endregion #endregion
#region 8. /CR模式设置 ( CC )
#region (Source)
/// <summary> /// <summary>
/// 开启或关闭恒阻 (CR) 负载模式[cite: 1] /// 设置 CV 优先模式下的电流限制上限值 (I+, 正向源限流)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:POSitive {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置 CC 优先模式下的电压限制上限值 (Vh, 正向源限压)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "VOLTage:LIMit:POSitive {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"VOLTage:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置功率上限值 (P+, 源模式功率限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:LIMit:POSitive {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"POWer:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
#endregion
#region (Load)
/// <summary>
/// 设置 CV 优先模式下的电流限制下限值 (I-, 载模式电流吸收限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:NEGative {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置 CC 优先模式下的电压限制下限值 (Vl, 载模式放电截止电压)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "VOLTage:LIMit:NEGative {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"VOLTage:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置功率下限值 (P-, 载模式吸收功率限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:LIMit:NEGative {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"POWer:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 开启或关闭恒阻 (CR) 负载模式 (执行前必须处于 CC 优先模式)
/// </summary> /// </summary>
/// <remarks>执行该指令前,必须确保设备处于 CC 优先模式,否则会报错</remarks>
public virtual async Task CR模式开关(bool , CancellationToken ct = default) public virtual async Task CR模式开关(bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -283,9 +345,8 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置恒阻 (CR) 模式下的电阻值 (单位: Ω)[cite: 1] /// 设置恒阻 (CR) 模式下的电阻值 (单位: Ω)
/// </summary> /// </summary>
/// <remarks>必须在先开启 CR 模式才能使用,设置为 0 相当于关闭 CR 模式</remarks>
public virtual async Task CR电阻值(double , CancellationToken ct = default) public virtual async Task CR电阻值(double , CancellationToken ct = default)
{ {
string cmd = string.Format(CultureInfo.InvariantCulture, "SINK:RESistance {0:F2}{1}", , ScpiDelimiter); //[cite: 1] string cmd = string.Format(CultureInfo.InvariantCulture, "SINK:RESistance {0:F2}{1}", , ScpiDelimiter); //[cite: 1]

View File

@@ -53,7 +53,9 @@ namespace DeviceCommand.Devices
{ {
} }
#region 1. IEEE 488.2 #region
// ================= 1. IEEE 488.2 公共命令 =================
public virtual async Task (CancellationToken ct = default) public virtual async Task (CancellationToken ct = default)
{ {
@@ -80,9 +82,8 @@ namespace DeviceCommand.Devices
return await WriteReadAsync($":SYSTem:VERSion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($":SYSTem:VERSion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
#endregion
#region 2. // ================= 2. 系统远程与状态控制 =================
public virtual async Task (CancellationToken ct = default) public virtual async Task (CancellationToken ct = default)
{ {
@@ -109,9 +110,8 @@ namespace DeviceCommand.Devices
await SendAsync($"SYSTem:CLEar{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"SYSTem:CLEar{ScpiDelimiter}", ct); //[cite: 1]
} }
#endregion
#region 3. // ================= 3. 功能模式与优先级设置 =================
/// <summary> /// <summary>
/// 设置电源优先工作模式 (CV 电压优先 或 CC 电流优先) /// 设置电源优先工作模式 (CV 电压优先 或 CC 电流优先)
@@ -139,9 +139,8 @@ namespace DeviceCommand.Devices
return await WriteReadAsync($"FUNCTION:MODE?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($"FUNCTION:MODE?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
#endregion
#region 4. // ================= 4. 输出开关与保护清除 =================
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
@@ -159,12 +158,11 @@ namespace DeviceCommand.Devices
await SendAsync($"OUTPut:PROTection:CLEar{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"OUTPut:PROTection:CLEar{ScpiDelimiter}", ct); //[cite: 1]
} }
#endregion
#region 5. / // ================= 5. 基础设定 (正值代表输出,负值代表吸收) =================
/// <summary> /// <summary>
/// 设置输出电压 (仅在 CV 模式下生效) /// 设置输出/吸收电压 (仅在 CV 模式下生效)
/// </summary> /// </summary>
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
@@ -178,7 +176,7 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置输出电流 (仅在 CC 模式下生效) /// 设置输出/吸收电流 (仅在 CC 模式下生效。设定负值即作为负载吸收电流)
/// </summary> /// </summary>
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
@@ -192,21 +190,7 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置 CV 优先模式下的电流限制上限值 (I+, 限流保护) /// 设置电压上升/下降斜率 (单位: V/s)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:POSitive {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置电压上升/下降斜率 (单位: V/s, 数值越大变化越快)[cite: 1]
/// </summary> /// </summary>
public virtual async Task (double Vs, CancellationToken ct = default) public virtual async Task (double Vs, CancellationToken ct = default)
{ {
@@ -214,13 +198,9 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
#endregion
#region 6. (OVP, OCP, OPP) // ================= 6. 保护功能配置 (OVP, OCP, OPP) =================
/// <summary>
/// 开启或关闭过压保护 (OVP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -233,9 +213,6 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
/// <summary>
/// 开启或关闭过流保护 (OCP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -248,24 +225,20 @@ namespace DeviceCommand.Devices
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
/// <summary>
/// 开启或关闭过功率保护 (OPP)[cite: 1]
/// </summary>
public virtual async Task (bool , CancellationToken ct = default) public virtual async Task (bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
await SendAsync($"POWER:PROTection:STATe {参数}{ScpiDelimiter}", ct); //[cite: 1] await SendAsync($"POWer:PROTection:STATe {参数}{ScpiDelimiter}", ct); //[cite: 1]
} }
public virtual async Task (double , CancellationToken ct = default) public virtual async Task (double , CancellationToken ct = default)
{ {
string cmd = string.Format(CultureInfo.InvariantCulture, "POWER:PROTection {0:F2}{1}", , ScpiDelimiter); //[cite: 1] string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:PROTection {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct); await SendAsync(cmd, ct);
} }
#endregion
#region 7. (MEASure FETCh) // ================= 7. 测量回读 (MEASure 与 FETCh) =================
[Monitorable("直流源载实际电压")] [Monitorable("直流源载实际电压")]
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
@@ -282,7 +255,7 @@ namespace DeviceCommand.Devices
[Monitorable("直流源载实际功率")] [Monitorable("直流源载实际功率")]
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
{ {
return await WriteReadAsync($"MEASure:POWER?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1] return await WriteReadAsync($"MEASure:POWer?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
} }
public virtual async Task<string> (CancellationToken ct = default) public virtual async Task<string> (CancellationToken ct = default)
@@ -297,12 +270,101 @@ namespace DeviceCommand.Devices
#endregion #endregion
#region 8. /CR模式设置 ( CC )
#region (Source)
/// <summary> /// <summary>
/// 开启或关闭恒阻 (CR) 负载模式[cite: 1] /// 设置 CV 优先模式下的电流限制上限值 (I+, 正向源限流)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:POSitive {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置 CC 优先模式下的电压限制上限值 (Vh, 正向源限压)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "VOLTage:LIMit:POSitive {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"VOLTage:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置功率上限值 (P+, 源模式功率限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:LIMit:POSitive {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"POWer:LIMit:POSitive?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
#endregion
#region (Load)
/// <summary>
/// 设置 CV 优先模式下的电流限制下限值 (I-, 载模式电流吸收限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CURRent:LIMit:NEGative {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"CURRent:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置 CC 优先模式下的电压限制下限值 (Vl, 载模式放电截止电压)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "VOLTage:LIMit:NEGative {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"VOLTage:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置功率下限值 (P-, 载模式吸收功率限制)
/// </summary>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "POWer:LIMit:NEGative {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"POWer:LIMit:NEGative?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 开启或关闭恒阻 (CR) 负载模式 (执行前必须处于 CC 优先模式)
/// </summary> /// </summary>
/// <remarks>执行该指令前,必须确保设备处于 CC 优先模式,否则会报错</remarks>
public virtual async Task CR模式开关(bool , CancellationToken ct = default) public virtual async Task CR模式开关(bool , CancellationToken ct = default)
{ {
string = ? "ON" : "OFF"; string = ? "ON" : "OFF";
@@ -315,9 +377,8 @@ namespace DeviceCommand.Devices
} }
/// <summary> /// <summary>
/// 设置恒阻 (CR) 模式下的电阻值 (单位: Ω)[cite: 1] /// 设置恒阻 (CR) 模式下的电阻值 (单位: Ω)
/// </summary> /// </summary>
/// <remarks>必须在先开启 CR 模式才能使用,设置为 0 相当于关闭 CR 模式</remarks>
public virtual async Task CR电阻值(double , CancellationToken ct = default) public virtual async Task CR电阻值(double , CancellationToken ct = default)
{ {
string cmd = string.Format(CultureInfo.InvariantCulture, "SINK:RESistance {0:F2}{1}", , ScpiDelimiter); //[cite: 1] string cmd = string.Format(CultureInfo.InvariantCulture, "SINK:RESistance {0:F2}{1}", , ScpiDelimiter); //[cite: 1]