Compare commits

...
15 Commits
Author SHA1 Message Date
huangsucan 7a56eb98d2 测试报告导出修改 2026-08-30 15:36:57 +08:00
huangsucan 61d7293afb 测试报告导出优化 2026-08-27 14:51:15 +08:00
huangsucan 47b4d3837b 弹窗添加 2026-08-27 14:26:22 +08:00
huangsucan 6a59552bc7 现场优化7 2026-08-27 11:08:36 +08:00
huangsucan 38f594e4aa 查询返回数据转double 2026-08-19 20:04:10 +08:00
huangsucan fb6e5b3cb1 现场优化6 2026-08-17 15:52:48 +08:00
huangsucan 2bb8313f99 现场优化5 2026-08-15 23:28:19 +08:00
huangsucan 92eab2f626 现场优化4 2026-08-15 18:43:38 +08:00
huangsucan 8d941d92f0 现场优化3 2026-08-15 10:54:28 +08:00
huangsucan e392527592 现场优化2 2026-08-13 13:35:43 +08:00
huangsucan 30f5f6f8d6 现场程序优化 2026-08-12 18:16:50 +08:00
huangsucan b43090e56e stepmanager的UI更新优化 2026-08-10 11:56:50 +08:00
huangsucan a9355087ad 子程序优化 2026-08-07 16:30:13 +08:00
huangsucan 8daa1df8e9 串口连接修复 2026-08-03 13:07:03 +08:00
huangsucan 7776e6c7ab 加载配置文件逻辑优化 2026-07-30 13:23:59 +08:00
91 changed files with 32700 additions and 801 deletions
+57 -2
View File
@@ -1,4 +1,5 @@
using Common;
using Command;
using ADP.ViewModels;
using ADP.ViewModels.Dialogs;
using ADP.Views;
@@ -12,6 +13,8 @@ using Service.Interface;
using System.Configuration;
using System.Data;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using UIShare.PubEvent;
using static System.Runtime.InteropServices.JavaScript.JSType;
@@ -23,6 +26,7 @@ using DeviceCommand.Base;
using AutoMapper;
using Microsoft.Extensions.Logging.Abstractions;
using ADP.Profiles;
using Prism.Dialogs;
using ;
namespace ADP
@@ -60,6 +64,56 @@ namespace ADP
}
protected override void OnInitialized()
{
// 向命令库 CommandDialog 注入弹窗能力(命令库是纯 .NET 类库,不引用 WPF,这里通过委托实现依赖倒置)
var dialogService = Container.Resolve<IDialogService>();
CommandDialog. = (, , , , ct) =>
{
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
CancellationTokenRegistration registration = default;
if ()
{
registration = ct.Register(() => tcs.TrySetCanceled(ct));
}
// 命令可能在后台线程执行,统一切回 UI 线程弹窗
Application.Current.Dispatcher.Invoke(() =>
{
var param = new DialogParameters
{
{ "Title", switch
{
CommandDialog.DialogType.Warning => "警告",
CommandDialog.DialogType.Error => "错误",
_ => "信息提示"
} },
{ "Message", ?? string.Empty },
{ "Icon", switch
{
CommandDialog.DialogType.Warning => "warn",
CommandDialog.DialogType.Error => "error",
_ => "info"
} },
{ "ShowOk", true },
{ "AutoCloseSeconds", (double) }
};
if ()
{
// 阻塞:用户手动关闭或自动关闭后才继续执行步骤
dialogService.ShowDialog("MessageBox", param, _ =>
{
registration.Dispose();
tcs.TrySetResult(true);
});
}
else
{
// 非阻塞:弹出后步骤立即继续(不等关闭回调)
dialogService.Show("MessageBox", param, _ => { });
tcs.TrySetResult(true);
}
});
return tcs.Task;
};
// 配置全局日志分发器:按 CurrentScope 路由到对应 LogArea
var globalInfo = Container.Resolve<GlobalInfo>();
LoggerHelper.Progress = new ScopeLogDispatcher(globalInfo);
@@ -84,8 +138,8 @@ namespace ADP
return;
}
string strUserSn = "ACA89B2C1194650D4E93D97BE189FFCC";
string strApiKey = "C6D01BCD442347822876F8232245DE9422643C167B8C61CE4DF6049990E7395588675A8FC6AA4BF7AD353D669C993236BEA83F77551753885A47AF34185CC3A7";
string strUserSn = "ACC77E6F627236F3D02FA8EA1BE35794";
string strApiKey = "9185203127F9DE4FB4BC2F073F6CC583D9BED1B6713EF00A0C06625EDD0FAE862164280F5B2AADC090C4878E96DDFE05DDE3952F9B6F1FA483A340FB34A5D83B";
Byte[] buffer = new Byte[256];
buffer = System.Text.Encoding.Default.GetBytes(strUserSn);
@@ -152,6 +206,7 @@ namespace ADP
//注册服务
containerRegistry.Register<IMonitorValueService, MonitorValueService>();
containerRegistry.Register<ITestReportService, TestReportService>();
containerRegistry.Register<ITestCheckRecordService, TestCheckRecordService>();
}
//指定模块加载方式(需要手动将模块生成的dll放入Modules文件夹中)
protected override IModuleCatalog CreateModuleCatalog()
@@ -1,7 +1,9 @@
using UIShare.PubEvent;
using UIShare.ViewModelBase;
using System;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Threading;
namespace ADP.ViewModels.Dialogs
{
@@ -69,6 +71,11 @@ namespace ADP.ViewModels.Dialogs
public DialogCloseListener RequestClose { get; set; }
/// <summary>
/// 自动关闭定时器:自动关闭秒数大于 0 时启动,到时自动关闭弹窗(同时解除阻塞等待)
/// </summary>
private DispatcherTimer _autoCloseTimer;
public MessageBoxViewModel(IContainerProvider containerProvider):base(containerProvider)
{
YesCommand = new DelegateCommand(OnYes);
@@ -93,6 +100,7 @@ namespace ADP.ViewModels.Dialogs
public override void OnDialogClosed()
{
_autoCloseTimer?.Stop();
_eventAggregator.GetEvent<OverlayEvent>().Publish(false);
}
@@ -117,6 +125,21 @@ namespace ADP.ViewModels.Dialogs
ShowNo = parameters.GetValue<bool>("ShowNo");
ShowOk = parameters.GetValue<bool>("ShowOk");
ShowCancel = parameters.GetValue<bool>("ShowCancel");
// 自动关闭:秒数大于 0 时启动定时器,到时自动关闭(供命令库 弹窗 命令的自动关闭参数使用)
if (parameters.TryGetValue("AutoCloseSeconds", out double autoCloseSeconds) && autoCloseSeconds > 0)
{
_autoCloseTimer = new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(autoCloseSeconds)
};
_autoCloseTimer.Tick += (s, e) =>
{
_autoCloseTimer.Stop();
RequestClose.Invoke(new DialogResult(ButtonResult.OK));
};
_autoCloseTimer.Start();
}
}
#endregion
}
+38 -2
View File
@@ -154,6 +154,24 @@ namespace ADP.ViewModels
public ICommand MonitorValueSettingCommand { get; set; }
public ICommand GetFileStringCommand { get; set; }
public ICommand SilenceBuzzerCommand { get; set; }
public ICommand GoBackCommand { get; set; }
#endregion
#region
public bool CanGoBack =>
(CurrentContext?.MainNav.CanGoBack ?? false) ||
(CurrentContext?.ErrorNav.CanGoBack ?? false);
private void OnGoBack()
{
var ctx = CurrentContext;
if (ctx == null) return;
// 工具栏按钮同时重置两个 Tab 的导航
ctx.MainNav.Reset(ctx.Program, "主程序");
ctx.ErrorNav.Reset(ctx.Program, "错误程序");
}
#endregion
public ShellViewModel(IContainerProvider containerProvider)
@@ -188,6 +206,7 @@ namespace ADP.ViewModels
MonitorValueSettingCommand = new DelegateCommand(MonitorValueSetting);
GetFileStringCommand = new DelegateCommand(GetFileString);
SilenceBuzzerCommand = new AsyncDelegateCommand(SilenceBuzzer);
GoBackCommand = new DelegateCommand(OnGoBack);
_globalInfo.ContextDic.Add("default", new ScopedContext());
@@ -457,6 +476,9 @@ namespace ADP.ViewModels
LoggerHelper.InfoWithNotify(runningScope, $"{_globalInfo.UserName} 执行工位 [{runningScope}] 复位命令");
// 重置导航栈,回到根程序界面
targetContext.ResetNavigation();
_executionTasks.TryGetValue(runningScope, out var currentTask);
_errorExecutionTasks.TryGetValue(runningScope, out var errorTask);
@@ -465,9 +487,22 @@ namespace ADP.ViewModels
targetRunner.stepCTS.Cancel();
targetRunner.errorStepCTS.Cancel();
await Task.Delay(200);
// 💡 等待旧任务真正结束,而不是只等 200ms
if (currentTask != null)
{
try { await currentTask; } catch { /* 取消导致的异常忽略 */ }
}
if (errorTask != null)
{
try { await errorTask; } catch { /* 取消导致的异常忽略 */ }
}
// 💡 彻底复位:替换 CTS、清理任务字典、停止计时器、归零状态
targetRunner.stepCTS = new CancellationTokenSource();
targetRunner.errorStepCTS = new CancellationTokenSource();
_executionTasks.TryRemove(runningScope, out _);
_errorExecutionTasks.TryRemove(runningScope, out _);
// 💡 彻底复位:停止当前工位的计时器,并且完全归零(Reset)
targetContext.SW.Reset();
targetContext.RunningTime = TimeSpan.Zero;
@@ -573,6 +608,7 @@ namespace ADP.ViewModels
targetContext.Program.Parameters.Clear();
targetContext.Program.StepCollection.Clear();
targetContext.Program.ErrorStepCollection.Clear();
targetContext.ResetNavigation();
foreach (var item in CurrentConfig.ParameterList)
{
var param = CurrentConfig.SharedParameterList.FirstOrDefault(x => x.ParameterName == item.Name);
+10
View File
@@ -226,6 +226,16 @@ Command="{Binding GetFileStringCommand}">
Foreground="Black" />
</MenuItem.Icon>
</MenuItem>
<Separator/>
<!-- 返回上一级程序 -->
<MenuItem Header="返回上一级程序"
Foreground="Black"
Command="{Binding GoBackCommand}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="ArrowLeftBold"
Foreground="Black" />
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="切换九宫格"
FontSize="13"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,932 @@
{
"ID": "ccc7621f-6e03-429d-968a-ce36b5646a25",
"StepCollection": [
{
"ID": "9dc37d8e-e536-426b-9af1-8c097a6aac9c",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "d7f9ee6f-05c1-41b7-8310-0a8eecf79c1b",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 4,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2e6a892a-21ca-4281-ad5e-4604ae2ebf11",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e2e7c9f8-a894-4244-83ab-9bd3155778f5",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "736132bf-c760-4856-bc35-60935a8a41ec",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c06e9185-4c40-49a1-9d34-2649cfdd2341",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "13f97997-0d92-4b2e-8d4f-6efc43e5f113",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f5f164b7-11b2-480c-99a5-348b11a4f9ea",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "53130b01-9cf3-4868-9b40-b7bacf802bb2",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6523d771-d585-4901-a08b-fedc42185cbb",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "709a5f65-6b27-46a2-ba79-2d52fbf9106e",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "02fa59ca-e70b-4e0e-9142-e001ffe29ee5",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e53820f0-be29-469a-ab4d-f74c49cd5b9c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a73ab236-2119-432b-862e-7ee767914ea8",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e62ab3b9-af36-49fc-aaf0-cecd4bb1a345",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "33988bca-1dc2-4dbc-9f85-0a474a6a1e98",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "afe86cd5-6f56-4caa-8eda-8e8ef1320bae",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "30225545-f70f-4c90-aa31-218d6fc5b7c4",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0cf03cff-f297-4711-b548-800820a22613",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "1a8a673b-8bcf-4587-9919-14488b7c2355",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "03cc1eb0-4c78-4220-b1bf-1759e98d40ea",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "75bc52eb-66dd-4fd8-b40e-f7a4341aaf3a",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e9fa812b-6cd0-4d0e-8f47-1721bb581d57",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "29559982-d6e0-4cab-accd-a7c0be11071c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8c700b55-5fe9-4be0-91cf-31b283be569e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a5ad3b4f-98ca-4c89-bde8-04de51f1ed7a",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "03c50c9d-a381-4ef8-9ed9-42f3c47a0a40",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cb01da4f-94d7-4e44-bd0c-619186a1d019",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4ef0bdc2-f484-4d89-9acc-93bf9c3641e4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "dfa005ea-b70b-49e5-a3f7-20f55e3db5ce",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "60c9d111-4046-4541-a23e-b5fab106967e",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "175fd4f9-b6c3-43b6-9455-637f8927f795",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9c563754-a65b-4037-a606-696c82b13227",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "946fddb3-21aa-4748-ae98-863e154c735b",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2710f963-5509-4857-a7a3-6b75e623ad0e",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "5019bd1c-2deb-4f58-bdf5-7ec46c7b798c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a2dc90c5-7d9c-4728-937e-ca6321916cbc",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "905ca132-7712-455a-b073-05827b3e8e64",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ee0bdb30-951a-4dd5-b591-a4277f73c921",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "78d25df0-b53c-4cfd-99ea-f59e8a7a29ea",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9f7e60f2-de5e-4c87-97d5-bc3c5ed618e6",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "da88e445-fb4e-4c12-ac77-aad94437ae89",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7f340882-3b1a-41b5-a00b-b585141599d1",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "47945a08-1d36-4e2d-b561-46934777919a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cca17eef-444f-4254-8c85-c47cbdf019e2",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5456db17-d063-43a2-a52d-bd480e757a2e",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b8e309f0-3190-48dc-861f-8c167e33b768",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a2a1c8c4-a2d6-487c-ac2d-bea18be2a03b",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "db8f8f82-f14d-4306-8f5d-b4830ae6a1bd",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "1026df5d-df48-4134-950b-c5b98f41b916",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f8f092e2-e90a-4011-acf7-5ca00fe92eb3",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "95d99a98-d1ec-4828-b7b9-670d0d1cd813",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9efa5c1c-b7de-416a-9072-b6edc2ea1c5d",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6b28a1e1-0edd-4ff7-b882-791c4d9f6d84",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "52c683c0-a6d2-4d99-b045-ef6139e7862c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7529748d-0890-4de9-a256-c6493cdaf807",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": []
}
@@ -0,0 +1,933 @@
{
"ID": "a3e71a62-6d32-4de1-8175-eb50a362201f",
"StepCollection": [
{
"ID": "9b958036-628b-4a5a-8527-2a01ef9cbe8e",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "5f2d2664-5af5-430f-9981-e360193e76a5",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "625e3534-1063-442b-ad34-33586ce6e6d3",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f00b6a91-2c2c-4e32-8763-e2953194f90f",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "90d11e2c-5d5e-409f-9713-5213c514ea01",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2349d844-d6a7-4ccc-9faf-37326e1d6fb1",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "354cba91-9163-48c6-81bd-d5cd221dba56",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d63f595c-cc3a-4745-b48f-089e9ac4d06d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3cb0bb0a-550d-4755-bc23-de3120973a3f",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f4037ea8-a48c-4615-a466-4f819dbe6bcc",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a3deb867-a22a-4d7c-a42e-0dbbd573326c",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "10b9c7a2-415d-4370-a350-dd99d5877467",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2c80693a-69ed-4343-862c-d3176a1725dd",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b64744e9-f991-4ade-a3cb-cad597e1cec7",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a5133c35-e5e1-494a-8d45-a5061774bbe3",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ef253f6d-8c75-4852-9f56-169da4cd335e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "802d9686-8d6e-418c-85e4-339cf1d30cee",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3e870d94-9dcc-47ad-8bad-9f7ab347dc99",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "4816ce8c-a894-4b22-bea4-cac5e83e9bb4",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "aa882ea9-9097-4a35-9582-1fccea8bbd42",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "13a80ac0-b640-45b3-b5bb-5065c811919e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d997d714-d333-44be-abbf-c3dbff3d7853",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "37e108fc-e2ad-4112-88ff-8522c4e798be",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ecc23e23-9fbd-4c8d-bbe5-5633b09e13bf",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bbc28e5e-007f-47b2-903d-a3ac0a56055b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "16de7d1b-df6c-4850-8c3b-8ee961bb3c76",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ef5e3cb9-94cc-4c3c-85c9-4aca6d2ffbe6",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "613fd7f3-9712-48a5-be04-7754797889a0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6e33fb85-f4e0-4500-b80a-a27d55cc2b50",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "55ddb144-7b79-44e2-8b44-c60038025299",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "93e2fd8d-1339-427e-afb9-8e95a0445dc8",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "5d0dc32d-3298-4f8a-b439-6232f389496b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e63320b3-d36d-4845-a098-64b61d038b1c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "69e987da-b33f-4043-bcec-85a44fe89894",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "36a83f4b-56b9-430d-8ef5-bf8bdf89eaa5",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "476a724b-ba83-4d54-82fb-4aed95d4e967",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "493010cf-0646-4bff-b908-2067f68101f7",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "86b468db-a03d-41ca-9554-1ec7fa384e3f",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f8b304d1-b550-4e5c-ad08-7f996db75e4e",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "9fa6b1ac-4c6d-49f6-99c1-8ed6f14702f4",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1d75c778-0830-4e9a-b79b-f166180d28d1",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8c633e49-88e7-4169-b8d3-d9be6786ebce",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "71f3f390-51bb-4d8a-bd06-0253d1a78436",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "7254b77f-2572-4d16-b834-2ff624c147f9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e3739e61-6b66-4c3f-b44d-13124c0affb0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3c49f60f-9d3e-44e1-b78d-d0e6c64d1a03",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "697a241c-2b1d-4348-bbae-795c36299d03",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "70163f97-f2fb-4d77-a059-c404852895f8",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "96213f78-6a8b-4a2c-8668-e58c3c6cd361",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "e0de8625-b719-4763-95e2-de240023358c",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b63544c4-5219-4751-9997-6eb20e1958e2",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "386c9aef-c505-4b8f-8104-968fa977db6c",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3780caf1-1fd4-4395-9380-19e426b5b254",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "80546cd8-5ef9-4859-9fb9-6b0652c0f56f",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ee256ad0-b3e5-474b-9a85-786c9ed7b2ec",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "189cc396-d70a-40f1-ad6e-1e5930afa8d9",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "输入频率范围45~65Hz,系统输出正常"
}
@@ -0,0 +1,933 @@
{
"ID": "96e67cec-a3af-49bb-8e74-e470b0d7754b",
"StepCollection": [
{
"ID": "530751bf-5cbd-4f05-8ade-b10b53680a67",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "373d2945-8c8f-4cea-885d-cc4d8ad3bda7",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9cdcd48e-a212-447d-814c-c976981877c2",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bf2dbb0c-d527-4922-a5ca-da454f4a9425",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "052fa491-bf84-4c73-94e4-bd07eb7dbdae",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1df7f9bd-0a99-4f49-8222-4adc04bbd4b7",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "162c43a7-f5b2-40ef-b4e4-1583a580824e",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f3e6f4a7-89f8-4b75-85ef-8f51d92f713f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c069b514-ed18-47e2-a42d-05a8c77839ea",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e63b8b6a-056e-46f5-8df5-d6513b55e3cd",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "4bd56d7f-8b21-4426-8150-ebffb2b973e9",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "941b7155-b309-4b1e-a894-80d332023963",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "130aa39b-5bf1-4044-869c-1a2b2c8af415",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ec0a6973-6d6c-4a3e-b6e4-d62336b07674",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f286fd31-7760-4aab-99d7-ec9031e7bc94",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "4a37d0bd-3d68-4281-ac2e-421fcc17bd71",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c045c597-750a-49a4-b2df-544cdbbce8e9",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "836352e3-268e-4e62-8ed2-7f0f9141d616",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "184ad35a-f792-4e87-b9e7-362982fa935d",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "8c17e860-e62e-40b9-a5d7-bf9c4fae1b04",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "07664086-ec80-4567-ac7d-0c50112484b1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "25e0bc83-c8fa-472c-af5c-a41f64bfb338",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "efd12fcc-c676-4fb4-a1e6-357a97fe9a06",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "dc592a25-44c4-46e1-bc4b-1914dd752e71",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "91ae5f80-d118-4296-b617-27509cb86b6d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "554c7399-d562-433b-8754-e0798a0df922",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "817f3816-642f-4eee-bd99-f790df07d96c",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "720a3ba1-4783-41ae-b8eb-6666eddb5168",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1707bc62-b74b-44e4-8a3e-b009b98538d4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "267ea073-b0d9-4e62-9ce8-05df006ba699",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b865e207-ef04-430e-8d30-6fc8ab78fbf0",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "198f155b-7c98-4139-9cd1-9c990f80b75b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d1611330-2b0b-43f7-a050-cb8fb7935d24",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "de179236-8379-45d2-b3cf-e2f7e97d1d52",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8579ee2f-c7f5-4d37-a4b3-0763a3401db8",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "25bffcdf-0b73-4391-ac2a-5eeca4f9ca7e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5bf4c7e6-edee-4e15-be77-ed3391e17594",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6df32e86-54e3-4658-8ea3-3c995cc28f3f",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3f944034-25b3-4f8e-8a11-f593b5f8aa51",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "85c4bfc8-0967-496a-817d-f029b4f3c8fa",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "293af100-b82c-406f-8657-8121ec860d55",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "56fe5358-a517-4406-8bf2-3a974f03c6f1",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c5804ce7-6061-484c-a108-e7266bf682ce",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "ec8e15ca-993d-4462-9d04-7e1df3a60054",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3a2de27b-0e23-456a-84ee-d658ce6061e8",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "24a440da-b3d9-48a3-b6f9-6ef0a795d563",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6bfe6509-fe97-409a-a95c-a04ec25833dc",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "778fecb1-6f87-4147-ad8e-d88a2e97851e",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8c0b47b9-00d9-4dc0-821b-5db9e2edfb97",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "18c14aa0-eee7-4722-93e3-6882b9321188",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "50bbadc5-4907-40b7-8482-b71b83fa1c6f",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "42bf1614-3c05-496c-b880-fb682b809d8e",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c3920953-b816-4bfb-b6f6-5e1128bfe6f4",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8f199eaf-748b-4dc2-a436-f61529046633",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c320d427-5858-4f36-b23d-72772286c866",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "192c0afc-5b0e-447c-9713-4b1a966e5f92",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "满载效率≥95%"
}
@@ -0,0 +1,933 @@
{
"ID": "63de8545-7ceb-47dd-8e50-660ba9de4983",
"StepCollection": [
{
"ID": "7fed9b43-b8f4-44d3-a362-9bfc8847606e",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "92935211-a2eb-4aef-93d7-0019833a6042",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2929776e-a25a-4d04-9dc3-a77f852b0e8e",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8aa487de-c259-4b8f-898e-25cda00875bf",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "f07a8aec-fe2b-489e-b92b-53d3a3907779",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b4151b4f-ff28-4935-a06b-d3c3f74ae7f3",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f2d59c59-9c95-4f9c-b482-35d1bd0f4564",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c0c1e207-134e-4e09-a63b-0eb380b55470",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "967cb924-c11b-46bb-b7b1-55971c68c89b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6e0a4e34-4636-4247-98b6-818fc4d9eb72",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0b6f9990-d1c3-4f07-b061-5f57325f5970",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ab1e2773-8d91-4134-99f4-ec1707a26b99",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f74f953b-a747-4549-a8e9-48fa23cba42e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "eb349249-becb-4ca4-8374-391510388462",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7dcdd4f1-f855-4aaa-85f0-0a5792a7886e",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a78b2b89-de69-4cfa-808b-612bac8f55d3",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fabfb080-853b-4654-96cd-0bda8c7508ff",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7aab0f27-08d4-45c4-8faa-7b0b841a7d86",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "30f119ea-fb4e-4b41-87c9-f2077485b57d",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d5213f5c-470b-4100-ba4c-f641c2ed4b80",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "19e12409-a557-4898-bd1b-bbdf56b2125e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7dc937bf-2774-4765-a37d-3be8faa528c5",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "82eb7c98-723d-4e80-bfcf-15ecac2dd367",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "aae9714f-ec94-4ee9-b7f1-ea8d384697ab",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "592efa26-d376-45d5-90e6-c9e1335586e7",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "07340d29-0004-41ed-9f4f-6e3b44f68fd7",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "219e1559-1cbe-4d50-b0af-44fff503f2e2",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "69d999f2-84f9-4b3e-acdb-09b05eca5fea",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "17850c6c-fce4-471e-a200-a8a8159f93cf",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "444ffe2b-0a5a-4c64-8a33-f8ee1dffd41d",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0948fdf9-0320-4ddf-bab8-db52be1def8e",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "61120b04-e8b5-40ae-844c-e42331127969",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "35477836-e183-4ee2-afa7-eac59226df76",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "657b3e2a-bbc5-40e7-803e-b0ef454b61a8",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7483afa3-014a-4d38-93c2-623f2f695b91",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "6350503e-b8b0-4d87-b637-cbd3f3a72a48",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "36ab0b8d-ab93-4921-b791-846ef7929e10",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "79d8a5c8-bab3-47e5-8840-9523d976d339",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "57c23707-fcf0-4342-b2dc-c31dfa6ca14a",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "a23d62cd-04a2-4b22-a3db-662dd0d4f6f0",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "93b06538-b67b-4d2f-8fb3-e18b1d3d03b8",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "17102a37-6aed-4582-ac06-eedc676edaaf",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7fa5d6aa-ff6b-4948-a0c7-d249ebe88412",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "c703947a-d6bf-455c-8b59-9a9ca0319f75",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b3861c85-da9c-4edb-a069-8ca01431a387",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "382175fa-157c-456e-a00b-a0b930096f88",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ee9d4258-edaf-45e2-85ae-441090035d4d",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b11799d7-543c-4400-807c-738b3bcdeb01",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a79e8833-4b22-4999-a6f4-79d4241876ee",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "27644051-dd46-4d67-abff-b2b7fdc08ead",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5d41ff0c-6904-4a9b-8d25-3d1b4b097a7d",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "344d3aae-f842-4aa6-bbe9-97017c92d035",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e6d12ff4-1b33-48ed-a193-e6a6be2be60c",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "82ce2f43-8fee-4a6b-9084-e2f920329e48",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ba2fe72d-21db-4953-90f3-0c8d41922b46",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "550f4768-dc61-4160-82d7-c5944653ea2d",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "满载功率因数≥0.99"
}
@@ -0,0 +1,933 @@
{
"ID": "bbdb1cd0-5e71-4981-be56-6f8221e92a4d",
"StepCollection": [
{
"ID": "0a246547-2fd0-46aa-b7c5-e5391933e0fa",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "f9df25d9-8087-4cb9-9d85-7ce24149191d",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a1f43591-91c5-4166-9c03-28b9be9fafec",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8e1e558d-2cc5-4aa0-96c9-6ebdd8052ec6",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "07e966b8-db6d-4667-9b19-bb814f1d8f84",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "30701798-e265-439a-9c46-3916bd6056c7",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a259ffb5-8b1e-40bb-baa6-0c1ba0f2aa27",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "362b97a6-65b7-4f8e-a83f-654d78a63aa6",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d818a78d-76d2-4105-bc4f-2c4a98668e1b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9172529e-e634-44d4-aeee-00e2a3861e80",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "abeccf11-6ec1-4b12-a9de-b149b81d9d9f",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "97f96126-5463-4613-b558-3bf2cc898389",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3eedff42-3ccb-439c-88ec-312e202606fe",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "19314c1b-f3f4-4c4a-8961-1c88460fd49c",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "550d3860-97b4-4708-b654-e55be764e50d",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "5f5e18fb-a775-4ee4-b1d3-b37edde8ee7f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "29d7fb75-badb-4c04-b106-dd00127ddf73",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f0a16870-a4ee-46b3-9c09-c9196935b8e8",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c9f0c2ca-55d9-4826-9bad-305053124a17",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "9fb3825d-9e60-4242-891c-7a2c3e62ddcb",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "872d7bdd-1d01-4491-b843-e0cc972ced7d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a1df6e3b-7853-43a6-8581-5c1e47a37d7d",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "262a608b-465c-4124-9e14-a198ec684d75",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "1b6f4d47-1da9-47fe-ad0c-1753e9be5c7b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "36965b7a-9eae-40c9-a4de-ba273fc540ef",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "39690584-40ad-4c88-a548-bd559faa8727",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e35c68e1-1ede-41ad-89c0-6fcc0bf6f24d",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "44965ab7-b2f0-4386-8e64-409435c1d67f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "490c8791-4757-46b4-925c-40c08346285a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "880495be-c902-45f5-b03e-b1d5d2736bed",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f88f22b6-e9a4-4039-b208-93f7a4f0c309",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "de67c4da-2d0e-4497-b34c-6869aa11e7e4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "95cae63d-1442-43ed-9cad-28603c9fb10d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cb13c9ae-fa9a-4c10-b81c-4b6b6c1191ba",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "21848bc3-a837-4c74-9597-27316c010918",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f13756a9-bcdd-4d7d-91e6-ec7ed34f7d57",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "02a3afcb-3216-4ae0-9709-b6a9a82bc7b8",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b006a3db-6563-4d40-8146-9385db97ba32",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "89c22d8d-79e3-4aa1-93a6-8f49b7e40351",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "c53756b1-7035-4dae-99e8-f7867b3278ff",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d1ffb648-2c1f-4c2a-9818-6dfeaf6bbb3f",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e840a80f-9218-4d50-a524-152bfe5d602e",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "accfa8f4-5c85-40e1-83c5-d11195f71913",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "67422d07-30f8-4481-a177-aa9e19e9ad49",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d136a9af-d442-4d67-b5af-aac8264c4f27",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7e8ec0ef-ea67-4ad3-a5a0-61576d4c18e3",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "209a652d-9f85-4e79-a342-6bebadb0e76d",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3d6b0444-771d-41ca-8fbd-1dce3f1dc523",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7d82f3b1-80da-4772-ba35-93dd9ce72d34",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "13a132d2-d187-43f0-a9af-2959a5bab9fa",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "dc3f048f-1f20-483c-92ff-63348ef26026",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e06cf19f-a5c4-40c5-92e5-347566522727",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "55ad6be7-ed6e-49c9-b9d6-c389e880a5e0",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "140c750c-d2e8-43f2-b564-400d28000761",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "acd542f4-53df-4584-8968-19526acfaf10",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "22410e58-77b9-4636-8e6b-034cce0d553d",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "谐波满足IEC61000-3-2标准"
}
@@ -0,0 +1,933 @@
{
"ID": "a18e7eb1-f7e1-43b8-ac3c-6a046e90119e",
"StepCollection": [
{
"ID": "7fface34-56c9-4f11-88b2-5780016cb39f",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "81e2a153-dbe8-43db-839b-f80d37ae49d0",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3fa3eb1a-5f12-4ed4-b7e9-756a4c1521fa",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "212176ef-860c-4e06-9397-1cc5cfac21ff",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "a8a94baf-eec9-4e13-b7c1-cb06c5f4a120",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2b14d130-926d-4287-82ef-dbb0d41b5479",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "29b45367-84da-41c2-9d04-02217c0e2eff",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "7e995013-91f3-4f77-9928-330bafdca0ec",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "af91a27e-287b-40a1-a8a8-23cb369e1af3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "55681df4-1dc0-4c61-ad2a-5e91db610167",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6083ac7c-2b70-46b7-9677-0d48dc268cbe",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c784fa7f-28f9-4121-ab1d-4b80da75eef4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4b5b091d-646d-4ee5-b066-083b795993c0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "18a4aad2-ee5b-4ff8-899a-2e3e18a566f2",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5e949707-bba0-4711-ad7c-87986cd12e51",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "9f50b71c-f2b5-4afa-a67d-2d8b80e17915",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d47c2505-3b68-4292-ac51-b59385ff124b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "274e0307-1db5-4c42-998f-94099b517e1a",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "edc7ff8b-da1f-44ff-a474-1ef7e9fe5336",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d5ea0907-bd7e-4250-936c-34c3dce00ae7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e4672796-2265-450f-9a47-080d97df13d0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "948612b5-7a60-4b07-a19e-59d9a11fc469",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b10c3053-f98b-4dfb-8c12-324a44b1d46a",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b291a16e-f16a-4667-9378-1013f966241b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "08583b7d-951e-4057-9696-ded8d22b39f4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8d4e8581-d521-4261-8fed-086e780b59ad",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1e5e710b-f188-4be3-970b-70d8f347886f",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ef0363bc-106e-41bf-8cd0-26df543fade0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b0deec7c-9270-4838-84e9-180c3e7ac138",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2126ef43-33bb-4bda-bd8c-7c2aef5c7074",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8082f719-5b4f-43ed-9d40-b5f24912b385",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e3749909-8857-4e39-8c50-d03ddea271d0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b4b7ef32-a67f-42ad-908d-a1fea7682ff0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "07bcc036-2517-4552-a88c-7766a0b144c7",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "40a6fbfc-cbc9-44e3-9450-5f8ff9f29b55",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "7eccd094-a9cc-42ee-bc52-027468203f12",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0232d4ec-e5f4-4b07-9a5c-7a8a26313521",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a24f46aa-319f-4c4e-8848-f6eada85a959",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d763b035-8493-4baf-b6ab-1660f3580afd",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "bb9f25ac-6d4b-43a1-b2a3-213220a9fbc0",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2faff909-f73f-4784-8933-818bda2ad9aa",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "73da5279-ece9-4a26-8fd7-3257393a90e3",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "11458a95-9db7-42bc-bdf0-96e1db6853b7",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "4c933cf9-40a0-4673-80f4-c8488e4ee5eb",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2177d1d2-36a6-44cc-aeb3-1593532bf0e3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "66279846-584e-4869-9a1f-777c9693fd33",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a8ffa5f4-2d60-4184-bd7f-2cfd3818bd82",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "519618f4-a591-4644-b1fe-5e5b5b10f2f0",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c5229eab-4dfa-4ff2-bcc7-073a20607440",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "1153821f-c4c1-40af-8169-025bd4f5d3a9",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "42226eed-8876-43cf-86cb-3d5821016935",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f3d6768a-098d-4424-af11-833d407c3ebe",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a6048e56-0d93-4581-b9cf-821d05dd54bb",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "050e7e1c-a014-430f-973c-7196a416fc73",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "015dc8c2-1e63-4e1f-97d0-f5e427b309a2",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1e8d4659-e61f-45d7-8074-7f478c607338",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "输出电压范围220~490V"
}
@@ -0,0 +1,933 @@
{
"ID": "7042ed72-b5e0-4f93-9992-fa85bef1c415",
"StepCollection": [
{
"ID": "990bc64c-8b5c-45aa-acbe-1d8a9e591dec",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "935841c2-6e5e-4ca3-9aa9-206ae40a9fb2",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bb283f31-dae2-4016-8abd-673a901166fa",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2c4e22da-c0cd-4f37-bd57-b5de326b7ee7",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "e9aa3cb3-7a79-49b0-943f-5a43b8da1609",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7ac27362-c4a2-46db-b7c0-7fbf3810ce35",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2a634e9e-5e44-47f3-865b-3bfc5edbfa58",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "77cd6668-382a-4a5f-82ff-c597fc514798",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6ba5f63b-92bc-46ef-948e-516e738e6756",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e0cb0e80-1a42-465f-afba-9426a11864c8",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f026bf8c-3fb7-45ba-90cb-02bdae955e3c",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a0dddf4c-020f-4bf5-9d09-d26405eda75d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "688df897-c811-4b59-8e89-3800ef8abc1a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "33606744-b0cc-4a03-ba95-ede1d5e7a84d",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a97ffac3-6431-4a15-a8cd-586ec5a0d38a",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c66f9c53-1d4b-4239-b6ed-4b6da05d9f78",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d2659efd-3372-41b4-a82d-dbe062738f15",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "267ad88f-b9a7-4351-9809-0508a4f72440",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5a59d13f-b75f-4694-8615-cbebc3c2f741",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d6e3c7fc-a5d9-482d-9fd1-8f8f21e0b3b2",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ce34eb66-c6bb-4124-bf65-750a1a5ddebf",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3e0f1b4d-0180-4221-a90e-ab80b5fdf60a",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fd33b833-6527-487f-ae46-11e70b90a06b",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e8570464-9b3d-471f-87a6-1ed02b51953e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c94d4f51-355b-4c67-9711-3178b5bfa956",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f6432385-4e93-4e66-9f89-035d40d2c27e",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8c043ede-61a7-46e4-adae-60aca01e3093",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a134175b-03f4-4947-832c-f75b6a1d30f3",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a63ed8e9-cfe4-41db-b809-dca4351e3fa5",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "dd589a0c-a733-4218-9a59-7ba2194f456d",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b5e70ae2-22d4-4f8b-9194-da33dccbe021",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "bcdbd783-0462-4689-bfa3-bfa651292504",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "64eae477-3808-4ca7-9100-18135a2d91ee",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f13c4ff1-2720-431a-9c1f-3485ab66e188",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e8cc36e5-adbe-47e4-97b3-ba71cf1e1252",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ab622016-2c2e-4cf3-a6ef-fb5f42cfeb71",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "03887b33-b0b2-4e03-9c86-c6a8e026a302",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "581f24cb-11aa-451b-a362-103f2d0ddb6a",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f43ee562-bfb9-41b1-a48e-55c944063ff5",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "7050d4f0-12c5-4b4a-9eed-5df81698ca82",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5046ebeb-963f-45db-8a81-71535214bbd3",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3ffa4fb4-dcde-465d-a6db-e1934199b0de",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "12b85fa1-38d7-4b0e-b5cb-ef10204f4860",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "0c524ba7-dabb-4b34-ad7e-1d408e1f1693",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f03610b1-c7be-4330-84f3-eefc2dcbf7a1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "53d35a04-e0d3-44ca-a0af-344bb0394407",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7f99228e-37f1-4aa0-a38c-7b8797948009",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "4c0a201d-56a0-4689-97a0-0cbdbe08a692",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f08dda5b-d15e-4e74-a2ec-a8e940043f14",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "9418874a-5d8e-4ee0-a78c-b9deade40a6d",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "58b781c3-ee47-4951-83df-7e345094d3c4",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "31ffdd48-322b-4730-b11f-18d079c37dce",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "da92b1b4-880d-49d6-b0f2-27e8fdb3b7c6",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "dd6de645-19fd-4648-ad71-cd210f954625",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ada8500f-5637-41f0-a545-acfd15a7ea05",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5ad7bccb-0852-4569-8910-bc1f7da58988",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "输出电流范围0~33A"
}
@@ -0,0 +1,933 @@
{
"ID": "d6b8c7ce-a9c6-4ea3-adc1-bbb2b02cbf88",
"StepCollection": [
{
"ID": "da5ff1fb-e777-4454-9b8e-fb963eb581a4",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "7c2f4e07-cf9c-48e2-b2b7-7c63caee3c20",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7ce715ad-8031-4e35-a532-c449f45495a5",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "13889fea-0b42-452d-aff2-d21a8c9cffdb",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "5f890767-7f6e-4da8-9a04-5cd2f0342044",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "582f4b4c-bf6c-4ff9-8d72-d10da9a03e65",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "95d5d389-9d72-43a8-852c-1437f499074d",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "1928d2cc-cef7-4c3c-bbf6-c6e521e0430e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e3633f7c-dc22-4b98-935b-2ff42a5aca7d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0e958a6c-b231-4e30-93fc-9bc4792ba194",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "30ce6f6b-6942-4082-8dcd-e21ce65416f2",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "578f6f73-0396-44f1-86b2-5a9ec83efdde",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fcc3f633-061b-42d3-ad83-ef5536f2327e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ec12946f-ec81-4252-9e05-e4d11eede69d",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2d519686-fe4b-47c1-a1b9-2cd8b81e9b96",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "4c61547d-9453-4f5e-aad9-042ecb87f93a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3e2ddfa2-91e7-4533-81e9-fd5a3246eba6",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "63a3dc64-eb1b-4d41-907b-a09e05f75100",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bfbc6b68-f20b-4fed-8541-30ae157ef510",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "6cad82ac-4432-4f98-a215-f37cb45af3c9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "494ca7ba-1f44-46d9-a1fb-dffd9f35557a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a7846ec3-fe34-4771-a6e0-c63c8485bce5",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5f660a5c-1a06-4018-a5e9-b5c631a91d6d",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e7ba99ba-0749-46cd-a531-d2644eb19fc3",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "29bf6719-6440-47b2-ae37-d03ba5a96896",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7b7a1422-d56b-41b9-92de-0be990222cde",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8ea7eaa5-87fb-4930-9294-48cf39a4c61d",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "6b3d7ec4-743e-4a7d-b6c4-51578c4195ea",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fe6f0370-bd21-427b-ab6e-86771b8c65d8",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a4395823-54fa-4aac-9ffb-397941c30713",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fc4b4340-4ad2-47cf-be3f-08b7bad12755",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b3378fa1-1e82-4f1f-bc96-7c41f2e6c98a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "040a12df-5fda-42e8-820d-474c157c6028",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8ae9e22c-effc-4c6b-b14c-137c6f805d80",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3a90b504-2567-4f0d-a844-383e51898810",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "fc4b3e91-6c09-4068-b2e4-f31c8242df41",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "89fe014a-ef77-4aa0-a082-35d8c2be9b6e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "50a497e6-1214-4f58-ac32-e8ff7cb49a5c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0376d7a4-2a0c-4b92-9cc1-915b52221da9",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "fd9612f6-2292-4b6e-85f4-84e55450ce5a",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "412cd66c-7335-4baf-bafb-ca3595b9f326",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2b002360-f97a-4974-be01-c0a41122b665",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e5ef7426-6078-4709-bb0e-034739e14b14",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "11326f44-5460-4b0c-8f22-7d158b1a7a48",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b2eee685-2268-4ce8-8bd3-816d5fa435c1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "97989324-9992-4ebc-b55d-aa00bd68f639",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d60bb910-af78-43ad-bbc3-bac0b1c26152",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ae0a1dc5-8f74-4161-ae16-7b22e2adda0c",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ccf81d60-a2a6-421f-9949-8c589140fa4d",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "d78bc02c-4b71-49c6-9ed5-8f96ea81aa29",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0bfe9095-7283-4de4-a6e3-27f2d50f7ccb",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ec91331e-cebc-4851-9aa7-95feaab80324",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9ea8fd1e-c9c9-44eb-b23f-2017fb26c85e",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "79db466c-4c13-4691-b2fb-94336a4f342b",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "032c30de-9445-4961-bcdb-e9fb079d19da",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b62f6b3e-1099-4c3f-bbd8-825795eae41f",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "输出电流纹波≤±5%"
}
@@ -0,0 +1,933 @@
{
"ID": "cc807464-d103-46e8-bc6b-9362fd4e316f",
"StepCollection": [
{
"ID": "fff7ce15-cc63-4def-8bfc-ed671ecbc7e6",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "31f595fe-fc92-42c4-91a4-5976207bd868",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "88f3e6b5-7f43-4171-adf5-5775f0c905c1",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e69b06d9-0af5-4f41-802f-6e41ba6f745e",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "b3b0b285-37b8-4dd6-83db-cb7e098015e9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "dc4516bf-fedc-4b39-8d51-596fbdb13686",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "da4f5d2f-7a79-42a6-b07b-f4e8b25ac3cc",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "8ee39363-99a0-4b90-b86f-1cd39380972b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "21c1bbdf-6069-46c0-943c-aae2d70710ef",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "afbf7bc0-87fe-49ff-9ab3-d5a8149638ec",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cd94fd1b-09bc-4d39-a7f6-38426b640144",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f3995c7b-3a55-4505-b950-93f599d5a647",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6377e476-ee15-43c5-b4e4-fbc128be5039",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1d6a0103-1578-4da2-baf5-1c495a2c8340",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6879feff-9135-4b47-abac-470000511f35",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "eb3d8f43-abf1-4d61-acf9-03583d47d827",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a144b418-9948-40d0-b348-791f7d3785ac",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a964d3b0-f48f-4d59-8fa7-6856d3c7833e",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "77bf00ab-694f-415a-9492-5c9dc1b4b452",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "18e6baf0-e9bd-4c4a-889a-80c11739b686",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5ba3c543-9634-4a97-8dda-3d6e0a70fa8c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ac3ad9f5-4da5-4dfb-a02e-60d5de17ffca",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "88aaa68d-ceea-46a7-a2f8-f5654b51e2cd",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "30539f2b-c88f-4263-8ee8-4606b12be9b4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4bd8fa35-b975-4230-b4b3-36a3b98d1558",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b2b8ba81-05da-427f-99aa-18ee96f5ff5b",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "686ec53f-1657-45b6-bd66-55787950fb40",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "dae60953-c8bd-4d8a-8ffa-97e48d27fb19",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "aa46730b-f0e7-41aa-ba01-778cbb47fae3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0d2660c9-794d-4dda-a425-f2a954df28d2",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0517a257-d40b-4893-b79b-9b5c8a59a224",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "894a5ff4-46f4-4264-9171-ac27182b9569",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9cbae842-f790-4ee7-bbc2-6479e34b3e89",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5314ee8c-87ec-418e-a779-3f8554d17a52",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "dc386d9e-4080-4cd7-8965-a4b06bf62114",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "06d45d3c-82ce-4f07-a3d0-5b1d7449a3bb",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8cdf5617-2481-4a7e-b931-648ccbd03a26",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0f4daebd-e63a-42b4-8eaa-b8ac87e88748",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "51cf50c5-f85a-4ae8-b187-05d3bb76b951",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "11bc97da-62bd-4acc-aa52-39e021673737",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c8e8cfc4-eaf2-43c2-8568-8dcee649145f",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d077fbac-b772-4539-8499-53080f2eb4b6",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "4b37958c-e676-49cf-a8dc-a8d59bdfe8bd",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "80683521-05d7-4d02-91bd-52ed58d848c1",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "374de1a3-0f99-4026-aace-7d168181f090",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "85905554-a6c1-4b8c-9c9e-9f4e703d6e4e",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "db980a2c-14ff-48dc-92b6-fb7a5fb6308c",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "294bd434-2180-4b44-9468-a2920d5ef86b",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cfcd377e-e151-40a1-994c-9f4991b4cf82",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "427ff448-ec80-4f8f-bc22-f2ef7ff1130a",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fe732df1-da66-4c46-9173-a7cb7394407b",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2b75d8eb-548f-4dfe-b737-575a83a0fe5f",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bf1ce95c-0da2-4327-ba11-60281e9d78ff",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4d28fd7b-f795-4fad-ab12-e4fbfd8a958a",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "29d85182-4402-4879-bda0-bdb7ccc87e73",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e3b9c3f3-ceb8-4ad2-a6c5-8f7dad2c3ff5",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "过压保护点≥500V"
}
@@ -0,0 +1,933 @@
{
"ID": "bdf34b84-df63-4b6b-89c2-8b1c2e380989",
"StepCollection": [
{
"ID": "56e5df0a-cf85-4dd1-bfe9-a1395c4be448",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "b065a449-eea2-4477-af4f-ef24d25e6ece",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e5f793c1-7a28-4eef-922e-25b1bab2eeb4",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fb9ca7a0-1a49-4037-b9e8-01b50fbea88b",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "6c412ab4-e013-4878-9ec7-55285a21fda8",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a4fa8c90-f5c6-4e25-89e6-aa3ddf9401f6",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cf67d5af-d43d-4351-a8f4-ecf34f4921d2",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a5cd8b9e-87a7-4581-912a-55d45844f20d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "22ce6956-b1a0-4cd9-8a6c-0adc72ab3b87",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1df06787-44c5-4f18-a78d-2896814ee91c",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "aac385b4-3799-40a4-bd6e-e3c092cb30f7",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "eefe3174-ae71-4a80-a434-4e5dc942b05a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1bb09065-8b40-4422-91f1-10ddb4d73afa",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7d6983d6-f1de-4a96-b8b9-ef40b5abdb74",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "becc53f9-f811-4fa3-b610-67d8ad597729",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "82935955-0777-4f56-927d-5748c68be406",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b7bd7853-f69b-4189-a5fa-9fa6562ea19b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f98da07a-1f9f-4f5f-86b5-dabf9a2f97eb",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "28d8a4e1-7e66-4bd7-98be-0e5b4487cc2d",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c2c145db-4c59-4aab-af5c-2acbc68caf44",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "162d8543-45f1-4e67-8e2e-9aa9c08ff28c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "35f26740-ffad-4445-aec8-4774147be9dd",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "522ca540-a703-4d21-9db6-21ac0cd81530",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "0566e908-d4d9-4294-a69b-8f33e2bddf94",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4160b030-ef28-4252-9388-7f227ce1559a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bc5b9366-889d-43bd-a694-5b1a0ec01826",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cf8a2f5e-fdc5-4b0f-861c-45896c59625b",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "7b9a8dbb-1f2a-4b08-8389-ed79968150aa",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ca330971-8698-4057-b501-fff130500881",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "897fc182-16e9-46c1-86be-c59f44ddd048",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c6281558-cd30-45ed-a9e4-aa709478d32c",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "5b44c981-65ab-4c5f-8646-d16783378750",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9ac6ba43-bec8-4ed7-b7ba-37c1f71947e0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5e435700-a04d-4e61-9cce-bbfc73fabd74",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a5566263-1850-4b8e-8faf-6f99edde7fbb",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "2fec9171-07dd-4f38-bd8c-f3447978cb5e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ea92f8a9-853c-4052-9a0d-21456d269781",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "eadb2ac5-7b8c-46f0-a790-1124ffa4517d",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "529827b5-5e27-47d0-89db-27bb5fd2ba87",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "558d6ce1-e27e-4432-98e2-031785a42358",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a4bd3ac0-1e98-4719-a01d-75a419bdc053",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7209592e-b9bf-4dd5-a0ce-5cb63c888f89",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "79efe164-1b64-48a2-9747-882112fe980a",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "35990f1a-6130-459d-9a8f-bd553ff75fe7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "14896b13-9310-451a-bc3c-108d7441f74c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "498e54cb-38b9-429c-bc68-8bf6c9d21e88",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "02009b02-9017-41f9-9850-4966bc09dde6",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ac10f188-1711-45e5-94b7-1fab894358b5",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "514c1a25-c36f-45d0-98e3-b87f32f6d4a9",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "8f863e62-8fd1-46ed-a599-fddd88aadeac",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7d112a68-996e-4802-a9d1-34044fd58a68",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4e63efe6-a0ef-47ea-b290-6ed98a41751a",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4fb7261f-a603-4415-8c7e-da7a3642bc5a",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7393e877-9eff-4606-bc23-1464877b720e",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3ed2f4ea-43b3-460e-a873-19ecf7426761",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bfce8c5e-a6ec-490a-8beb-ab0832073b73",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "过流保护点≥35A"
}
@@ -0,0 +1,933 @@
{
"ID": "25d5c8ac-8375-4233-89fb-9a668a026430",
"StepCollection": [
{
"ID": "7cfb5316-d6cd-4ce4-a9d3-ea78854e6226",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "0273c86e-24b7-4d39-981f-b4d84cced749",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e891466b-b028-475f-9607-af290bc82c2b",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d7e570e9-940a-49bc-91a9-8923db8b224b",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "f5983adf-88c3-4d84-bc16-eab8b660698a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "495dc4d8-e800-4b38-b0ef-500b450d0ae7",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "68c24aa1-fec7-43a7-b789-a94d294043cc",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e7561497-c820-44b4-9049-bc42d8f47aa7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5cd1ad90-03fd-4261-ad1b-6fff864aa7ff",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d53161f7-8347-4ec2-8ccb-595e6505739e",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "483d197f-6e36-413a-96af-825eff36089c",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b47d3918-b1de-4ef6-91ca-a66db7972c73",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f3257be5-159e-458c-9f6d-032cec2e58a4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9a1a2a8c-9df5-45f1-a614-40d6e6f4700a",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7ec91939-e4bd-4f7b-9c89-69421b006b37",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "06542e60-0d31-4f0c-adce-e7b8085849e2",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "80d20996-d027-49d0-a419-64f60dbd03c3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4fc19ef8-de4f-44e8-a873-3c5313acca7c",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "927c001c-05b5-4011-bdd7-37eebace00f9",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c90aa2af-bc38-43bc-bf0c-83686289aae0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bca19e4d-8dd6-4e15-b5cf-7ebc84a83185",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8d71d5ae-51e5-4470-844d-799326892bd5",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "633da1e6-f42f-4024-919f-6a7afad80638",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cd08640f-58f1-4115-9886-f57980f3767b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f444e74e-cad3-444b-8aed-1f8f4e146827",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "be59e0d8-f0bc-43a7-9140-5cdc1e61378c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3d7d58e4-ffba-4595-87f8-5ebe952fdb72",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b045fa45-cbe9-43e2-b518-f8dbcb7e27f4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "794859c6-16e1-412d-8e1f-35e83ab8c012",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9820dfbc-1fb8-45cf-8316-90032eca7a6b",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cd795a80-e9c8-4da0-b762-67697ec19223",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c710e0d5-aacf-4daf-824d-9fb119925c77",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1a4e2f9e-f27f-49f6-bc77-1a6b44a5bfe2",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "aa29b8d0-6ed8-45f5-b80e-b651b5d73003",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "efab0bde-a486-4681-be5b-4380d58b80f4",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e3ffd05d-eab8-4c5d-887b-e31d52943956",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f9ee92a8-2979-4da5-a757-c94da52f2abb",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "10771ae0-d6eb-4868-ae26-7972c1227ea2",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "05f43b07-08f3-49c8-b995-3ceecdc0c78a",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "1a86a114-8c06-4e80-bf64-71e48a6c0af4",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "befe1554-37b9-4c65-99a3-3e2e6b711de2",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e4daad06-8b51-499b-8d9b-4bfdb7125c6d",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "30159d4d-ad4c-4f16-bfdd-8c50cad7642b",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "39ae6a0d-fcf7-4bd2-9810-a80543c1671a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1ce11445-af49-4f5a-aceb-1fd79418d3d4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "594b04f1-3cef-4978-bd9b-c3028476f037",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "32d9e4a9-bea3-475b-8348-4072ac22441c",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1e890a21-305b-49bc-bb0d-afad9f6838c2",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "60ec4a3a-a6c3-423f-90a0-6393754b6f08",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "a32b60ed-e2f7-4dee-8498-517bb28fecd9",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1eb45041-88b2-42c8-93cf-e5cc120628fc",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fbd184fc-850b-46d5-9d88-aab1213d1e58",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2d589daa-1fde-4753-8abb-e44e3484b1f7",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6b2c5303-784b-4c2b-8a6b-0441586b02b0",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e83e1633-1bd0-4252-9fc4-cee249ba9aad",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f6ea46a4-5103-43aa-8b96-bb0810b563e6",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "短路保护正常"
}
@@ -0,0 +1,933 @@
{
"ID": "4902d65d-f151-4abe-98b2-1e23f14f4aec",
"StepCollection": [
{
"ID": "aba02472-8104-46de-bcdb-42c0571c05c0",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "e45b44a6-6bbf-46c7-85a9-df18a8749a4d",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "26d949da-0843-43fa-934e-e221d7858eb9",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "71a25c8f-a5b0-4c45-af64-be241304d8f5",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "5e8c84e9-1042-4ed2-a003-c20cbdc9707c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c5e134ef-38fa-4e77-b266-575776fb5410",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "683adbf4-1a49-4643-a5b4-016d39fee504",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "53c9b64b-c5b9-4045-8389-d120bd69a68d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "632c2a0c-163f-4d91-a658-1860c391674c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "de22313b-5438-43ab-a3e5-bf3e9c553441",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5fc5108f-6d80-4ed1-b482-240973cb8dbe",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "4e8dd531-ada3-43f2-98b9-06d0940448cd",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "592a012c-08de-49ce-a750-c18b6c65f05d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ae7186fa-af4f-4895-81c3-699d52b1e77a",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6e68b25d-8f69-402d-bca9-7dedf7ddcbd3",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "2d0b2649-4b33-47db-98ea-5ac412e99343",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a3d36e53-2c7b-4563-916b-475f9daa597e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fd8388ce-56df-4ce1-b265-e9f6368787fc",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2d0e5dfb-7779-4f41-b8c3-29c93860f4e7",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b8a25f37-7d12-420d-9f55-9e5de157461d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4186aa41-2087-40e2-b5eb-f0bf9a2951b1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9d7a1ac0-bf8c-4bc8-973f-48d63258b7ec",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1b73da82-c96d-4ec6-8264-dc7b06d0bb16",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "97441481-498a-47c1-8aa9-7247f4ce925c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "93a57e5b-09dc-4f62-87a5-88582bc8ae64",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5a6873f3-d999-452b-b6ac-ba410ebfc1f5",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2aa2b4d6-c2b9-4116-8f8b-ff8e77707a1f",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "89b95f85-5fb2-42da-ab9d-72a55eda0122",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "16b5804a-16ac-4f9d-8688-249af097be38",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4ef60967-fc3e-4244-aa53-fff303f74acc",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "901d6d2a-0231-454b-927d-32d7d9472283",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "831d83ab-1d96-4a73-9d5e-a5397b5eae1b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "52efe565-95dc-430a-a3aa-68d23a9127a3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e1590493-b2c1-4fce-a510-b274d911eff0",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a0f452db-d5eb-4e73-a0e4-c6e396b18ffb",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "713c9a05-917f-4f56-912a-83e74736065b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e4989964-6744-439f-87d2-8c18e81b8591",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b251e97f-23d9-4775-bbe0-e81d100122a3",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cef1ee64-8226-4b18-b030-db6a0bcd3f77",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "0d51850a-d1f6-4a18-8eb1-8ad06ec9acf8",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "48c8ac79-5c73-4f53-b0b0-2f291888b30e",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "20180a26-8359-4fba-8864-4963cb3ddbf6",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "efbb230e-9299-46b6-ad74-fb190690798a",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "66b604f2-683f-488f-9b51-3a7cec3243d7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4b7851c5-f89a-492e-ada6-e1d3b1e3aac4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "112c8d21-4d27-4148-889f-b1ad85a23f69",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8b33186d-ed5b-4392-88be-dfe755527dfb",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7a1e6441-5b7a-40d2-ab91-6f3162093e2a",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0764267b-61bf-4ec4-be5f-d2073748ce61",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "1071ab4d-4373-4ea9-8fb4-e75614f7e8dc",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3946822a-c055-4260-afb8-165c9b458d05",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "90d67605-35bb-45a0-860b-08eafaafe02e",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bd39e630-16cc-4584-987a-705fe658be5c",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "46876883-624c-4c45-8d7f-90e8543395a6",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b6d52573-1018-465f-b0c3-2746e70091d5",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2a3358d8-f86c-4099-9ff9-d0e042386dd1",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "输出电压220-490V,输出电流33A,系统无异常"
}
@@ -0,0 +1,933 @@
{
"ID": "446684a1-d51e-468f-aa28-e3f9a6a798eb",
"StepCollection": [
{
"ID": "6983bf01-a881-43e1-b1f4-f3f1aad9e7dd",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "03ae8154-eda5-4400-88d2-3977c3edcd22",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a30391f6-20c4-4f64-a246-f542771bb619",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a2eef505-4d2e-4ff8-972f-00c3a6c5f717",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "b79fb55c-1b45-408b-8323-1efdeaeea8fb",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2f5e14b1-6874-4134-ae0c-51607c6518fa",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e62d9a91-64a1-4e3e-890a-300890a9d2d4",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d1d0b753-4bfd-418a-9599-f4b43897407f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f63f25cf-7160-4e7b-9b52-76d2f84cb35d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "867a7b27-6eeb-4e4b-81e5-c6ac47331e44",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "99cd818d-b46a-4430-b19b-74525c728b77",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "6aacee7d-1354-435f-aeda-a05ee3ad3a39",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9d9f5851-af72-427c-b0b4-ec5a6753cb3f",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9094c5e5-be73-4c2d-b092-4911bdf886de",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "aa931870-04b8-439e-ac0a-2800a3b9e01c",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cf9bcbba-4d9e-4191-b199-fb5c83fd2fef",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "363bf38c-8758-4018-a410-c6c8d9612acc",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "615486d9-3a9d-4ce1-bbf6-bb7d61bc970b",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d5a82c4e-fd7d-4d7a-8ece-72e35dc1c960",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e43c006f-aca1-4afb-babc-329459a2cf53",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0ad5837d-3424-4a79-b146-79a080b99502",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "99fa97dc-c80d-4669-951a-51834fd04a1c",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c5e8c574-d373-450a-bc20-2ca08197c404",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "fb36c8f2-867f-4e6c-aeda-34c42199cd41",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "037f5c00-85d9-433a-aa2e-98a9cbd3d5e0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "22cb1c91-aacc-4aab-8a95-7e87f7493776",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2f23d387-53b1-483d-8ee4-7eb67662a1b6",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "20ad7308-1abe-452f-8d96-e05b48b87404",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4987e637-adf4-4643-8afc-b2ce6220ac4b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f0ee6551-b6d6-43d8-beeb-27664e5e6c83",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "36173f35-5886-43db-9c73-6fdc732fc8cb",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cf8e853b-70b3-46c3-ae61-b76ad50fcbd4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4c909eea-92c6-4f5f-acea-5ac07b559206",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "81ec427a-2ae6-4683-91a8-0c29608a8710",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "47085bd4-39ac-439f-aac2-7d3307efccae",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "10c6a571-be8b-45ff-9837-d38783bba50d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5eff9bfa-c9b1-4e95-8a52-e89c09e3ffb1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fa9464e2-4eeb-40ec-9470-bffb122962b1",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "892aedd7-6679-496e-8702-635692c98e99",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "68ed035e-93d9-412d-8512-d37b8d98dd88",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a98b1961-21bc-4948-8a67-962ab4331634",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1f44ebdb-dc75-4d1c-85c9-fa7872dfe4ba",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6df86ad1-2ab6-479d-898d-b0c7746fdf0a",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "5146e6e7-3e53-48d2-a244-f5680fab7f8d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1e744a1a-b973-4a6f-9230-bcacaee78bdc",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "26b3df79-e320-4190-8710-60cdfc0b70c3",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "38f9267f-4d5b-4720-8651-3173e2820959",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9cb1fe8f-d919-424c-a00e-773fc6e6d2e5",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6abdacf3-a0a1-43e8-a8f6-c0c1eb4830e8",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "0151a671-ac09-4454-92dc-2af1cce261a5",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a74ad7f0-8cf3-4f0c-b63e-589d47cc42bc",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e4fb5b30-502c-4f33-bd9f-b559066b378c",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a5082f84-6225-44b3-aad6-dac977d3b0c2",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "56d92baa-4fdd-4902-a9b9-602b73dfd336",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c3d85c60-0c08-4095-a849-b40183fa17c1",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f5daeea3-6a11-4b99-a025-4f05823dbf2c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "辅助电压范围9-16V系统正常"
}
@@ -0,0 +1,933 @@
{
"ID": "b316ef3a-e77e-4464-be06-5e66cb38e82f",
"StepCollection": [
{
"ID": "1da54c49-01f6-43ee-8362-f41c78701c50",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "86bf68a3-54d8-441d-96f4-c727b5bcc032",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9d68ec73-0c93-4149-8b5f-62616de0f76c",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "4835fbaf-f74e-4cd4-b22c-17fc49315e62",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "1817e5b8-c05c-46e9-85e5-c4a6949899c5",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5f4dffcd-361d-4f62-aac1-64531597959c",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cf137f3d-07c4-4852-a783-943332d6556e",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "9cb1f8c6-eaa1-4763-ae84-75a1ace55626",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9076c7cc-280c-4e74-9c13-696d174423d1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "97ef97f9-a63b-457d-b4ec-242b33603cb3",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f68d04f5-ce71-416c-aaff-e67fec4939c9",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b3a13362-6d19-4468-a58e-7fab71b54e1b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b802bb05-97d3-4769-bc35-b956c7991678",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2850267f-b4b1-4957-81dc-09e7656d1bc4",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8e1941b1-73b1-4539-993b-b158bfe601fe",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f57d6b43-16de-46e6-9a56-bee0e88410cf",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "61439c72-c434-4b8e-8a80-37e3ca3fa5ff",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2cd9a867-cc27-4a29-b1d9-b2726e49762e",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ac74274d-34bd-4268-bfdc-882863d02640",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "7020f3b9-a862-4706-881f-cb947284cb4b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6eeb6407-1cc8-4a86-a050-66d2b9e59fc6",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a8746c55-bcbd-4a6b-aa26-d8dec2bbc68c",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "81748770-72bc-48f4-bda2-729e77c3eebe",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "aad6b993-9e02-4ffc-9153-03707b803480",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6b96bb1a-cde8-4a33-baa3-710f695dd118",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "db6c4c60-4ff4-48d2-a866-230081421f10",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a7aa188a-39a0-4685-9571-63e411417969",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "7877b99b-8d45-4984-9460-db182d2d3cc9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2d5dfc3f-93fd-42ec-8eaf-854c4cd9a3d7",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4eedabba-d82e-426d-a76c-ea72e6cc8165",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c48959d1-fa4e-45ee-9221-fb91ad5d880c",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "d117b0f8-5c85-45b7-b309-56510d123291",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ac8c1d89-7a57-421d-b2bc-735daba89e57",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "55fc6c34-8311-4c5d-985f-7ecb409818da",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "11e426fc-22c4-4f40-afe1-d52e43f3c929",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "08862ec7-e36c-4a94-b414-3151b2bb12b4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "96b0f78f-0b66-489b-bb55-f786aafdbe4b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "563ad2ef-47fd-4950-97fb-49cf0a872e39",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "857d98ce-3db2-4791-ae72-e5ab6b74011b",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "96cb6192-af9c-411c-b66d-3404270f9756",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "69775a14-caba-4f99-98f5-22c74baa7642",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ef4bf5a5-0598-47d7-a4c4-e0a0fc6acf79",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0010e570-192e-4d20-92a2-2bf43852e10f",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "99de1c24-fc69-4d44-a448-69a7da4a4fa1",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9e1c478e-fb37-4337-ac81-9b556830106c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8a765444-e96c-4c64-9a0d-bab30e10c010",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e6b24d63-540a-42b5-8fb3-bec7d699d1b3",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "59015c7b-c35a-4108-b540-ea7d42e55361",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8c90741d-e9c3-4c57-92a7-628e757459b9",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "0d73915d-b883-4592-a011-b08289776166",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c97ab338-d67a-440a-aaa4-6b54c527470c",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1d24eec9-7d55-4f21-bf62-8cf398aec8b1",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b64c0693-fd46-4a3f-ae38-4e0ea7c63908",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1ed394d2-f305-461c-ba06-2f065ff975ce",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ccf58076-8f0c-4b6f-810e-97c3fbb530d2",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "95886305-9fd8-41d4-9bb0-c5e55163f213",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "满载功率因数>0.99,半载0.95"
}
@@ -0,0 +1,933 @@
{
"ID": "5205ba52-23c3-4dc2-aaab-54e0cd2d6991",
"StepCollection": [
{
"ID": "938e8210-b009-45ef-b800-d16d270cba34",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "1f5e67ab-1240-45e3-bef1-ce3ac2093e11",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6f8f3429-7811-439e-80b6-c3c6879d0bc1",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "84bc9ee6-d98a-4ff0-ac2b-14ba78f79ac3",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "80ae78fd-1aba-422c-a620-d876aafda784",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fb57cd6c-c568-41f7-a28d-53f903979807",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bad5afdd-8bf3-44b6-97ca-479566c9381f",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "400f4715-af4b-49dd-af6d-c0fea7f18654",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "17c26d92-93a6-4082-b731-bc7d92e0ccf4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b311f97e-7d1a-484a-81da-c08795b5a896",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2cd20a10-d3e8-4f3b-9bd5-f47bd072d857",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f3379df0-2d1f-48a0-bc2b-aabeb99ada01",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "aa1d520a-a8a3-4b73-a87c-dfad0c9aa6a1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d80d34f7-5652-4533-a636-7dadec917e54",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9d6f66a0-e317-460c-8be1-eeac07b57c6a",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "029839d4-2ab3-4553-8a3b-77b399a1ced3",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "692b9b1f-f2bf-4c17-a570-6c702479ff0e",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "164d5962-fb83-419e-9032-9bcacc6b6c4d",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "842b6c6b-2160-45f5-85c8-4be0e17c7fe1",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "717f82ab-be88-4c0b-9dbc-040fe266ba5a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0f5e372d-0fc4-4c39-b58d-24021ea827a0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6f76ccb3-4d82-4555-b442-87679b678438",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b7caf56d-5ed6-4be4-bab7-a3d227cf23c2",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "8eea888b-133a-4736-ab6f-cfa7c8355226",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "213a1d88-688d-471b-897a-13b2cdb91a3c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "74463f12-37da-492d-a8fc-1909865b26f0",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3b514afc-e1c6-48aa-81b7-06ce7a4b7685",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "8c8adcf3-4273-4a0a-83ad-7d5258373952",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c39f6a85-6b88-4dd1-9ba9-0fb1df0f75d0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f8f6c555-472b-4385-8836-dfe3011d1607",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "99cde55e-c581-4469-a59f-0bcd7db4e2c7",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "363eac59-2285-461e-93e0-8cabe83e2949",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "812932e2-d026-4af8-906d-adf50e00d35d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "69af2d8d-4c75-45d4-8c61-04e2dbb7a8c7",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5aa06b9e-47da-4237-a358-63ae9cadb5e5",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c670f77a-95bf-4b67-a23f-45369f35b2ae",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a6577d75-0593-4e52-8647-33aeee3020ea",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1f1149c3-732e-4f57-99ad-4afd4bb70d95",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "ebbb889b-7d34-484e-a8fc-e559d366f1d8",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "009a8403-85d3-436c-bd78-f2fd03a2027f",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "21f5c1da-f998-4f63-85a2-08a62ffaf126",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "58017280-7f7a-4800-9d7a-eb3cbd0f21f3",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6a7b859b-665b-418f-b9d6-72f858f3f665",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "4874ba38-da86-4f95-b44d-83b25ab0b073",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9684b002-f642-4b61-a436-0ef6d9c1fbda",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8f76b775-a527-4c7d-9005-f5a814dcea4a",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "540a25eb-95f4-45f6-a8ad-4aa5ceca5695",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8efd328f-ccdb-4c6a-99ba-a98fb59b8145",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "c41818a4-f54d-4019-bdea-268b5ed1d898",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "302d4be1-5c40-41ca-b589-dbfb5df1192d",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f358bedc-f33e-495e-8d96-d776e8c1c056",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3f92bfec-3472-4186-874c-68b1f246d03b",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b47aef33-b318-4238-ae27-a35379f3b7ad",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5ee187ea-00a0-407d-bd71-2bdb8f6516b8",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "90d39f55-ebbb-46b5-9da3-3fe27be150e4",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0276ebc7-4879-4879-a72d-6f7a96604d8f",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "最大效率≥92%,最差不低于89%"
}
+933
View File
@@ -0,0 +1,933 @@
{
"ID": "b868b17c-b7ae-4b60-8904-4d3966f55b71",
"StepCollection": [
{
"ID": "4845e7f8-e564-4287-ac65-54431e82a1c0",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "a2268b22-f4d6-485c-b6ff-fde2a1e51112",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "901b15e2-21fb-423c-b123-9694f531b64b",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "dc1140ac-7b98-4c76-9cca-d4825769ac86",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "aa19dba8-338f-4e89-bb2a-e0e7e841f0ee",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "549aeccc-0ecf-4c0e-91d4-d94454df4988",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "de537cba-6be6-4654-b9d7-602a26ff7b48",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f8248de9-36a7-47f7-b2f9-708c07020f0b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f6c61d30-2b38-4d44-a185-2957cb363b84",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3f01c16d-b784-4fe1-aba3-9e245db7c2a7",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "aed58652-1e6f-4c8d-81fe-f9462afc31ba",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b37058fc-25fd-41d8-ba68-8f27f3840a3c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "df397d12-b6a4-41a2-8cbb-4008b976f1d1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f77c3830-4b0b-40ba-ac00-4aa00b95a94b",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "29c516e6-ae5f-4ee2-8569-0d1a303ce083",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a647e9ad-ea18-4cf1-be33-0dc87a4c3db4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "20248438-9802-4913-85f3-ba2753a77bf1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "732bc1b0-e719-4933-a299-8fb149387e25",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1ce18e15-1b86-40d7-bdf2-b9f2299d1196",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f2b24ea3-44e3-4640-873e-09d71ce254f0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3b08ef5c-c858-49f1-8622-a73af873e980",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c5d9633f-e758-4f8c-9d69-54d5599726d8",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b4225d6a-699d-4049-9400-1f887e250594",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cd96d164-9d16-4b07-9303-89adcfe38339",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "27505ede-5154-41ed-8f7b-0c17aae438a3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5bef417f-b2bb-4323-8168-35205dd8c024",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b0ca8511-501e-46e2-966c-ac91bd74a009",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c71edab3-988a-4c81-ba37-617c355925e1",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2f71650b-41ab-402c-af37-a436e134fddd",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cfaff9db-7f0a-4ce9-828f-71260e5c1934",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e0af2b75-23cd-447e-b3b6-9ae5a392956b",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e7607d14-3ddb-4b59-8792-0b70134521b9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "06f30acf-e3fb-4f32-b997-8f54013d308c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "98c688f9-910a-4307-b2e3-18a8bf68dcf9",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cbd3360b-08a7-4cfa-ade1-917b6a982b67",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c8d850b6-fd66-49c8-8ac1-8dca92b9ea71",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d636ac37-e40e-4c9c-b462-414401187236",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "eb6e67f7-949f-49a8-a1b1-aabaf2110ffb",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "74fd42f0-4182-41f7-9c2e-4daf5141e9c5",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "7cb96f19-a162-4f26-93e3-86ed85c2d872",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8295dcfd-87ae-4478-84c8-6b129158e4bf",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b3bb4c30-da9a-4a93-92d1-5c9e19ee911a",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "29579511-fb95-41c1-bb99-2f924815c121",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "3878b229-2c82-4668-9057-83b115013968",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f259f6e4-f244-42cb-a1e5-4796828c0e3d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5d835588-9236-42b6-8d63-4368314fe167",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "64d3cb96-95d8-4c4d-9537-586298c0104c",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "71bd8e6f-2268-4593-b39a-a566719fba79",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1615a4d4-565a-4fb9-8285-4821dd02805c",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "d453318f-91ce-40f2-a580-0a29cffaf277",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c733e919-871c-4c57-806c-7a40478200c2",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "296e68c2-470e-43ff-8515-28b5ff61da58",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4b417c2e-c09f-4752-8757-4a061adbd170",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6a38d535-17a1-45c6-9c62-d6d225d37143",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "77cdbcc2-2ffc-4373-9a24-cb7c9ec5fcd5",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cad5ea3f-8dc2-4f6b-ba60-6a9791fb3c24",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "wifi连接时间≤100s"
}
@@ -0,0 +1,933 @@
{
"ID": "f07f2633-444f-4699-85e5-e69c64a1fb35",
"StepCollection": [
{
"ID": "40e27c3d-a454-40c8-9b8d-58c33350367a",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "5bc833f4-3c24-4655-a4e8-8412d560d2ef",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d9b0cfb5-52d3-4645-bcf1-6db1afaa0a7c",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "252700b1-84f3-4086-bfbd-ac53e5241144",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "e933270a-67b3-477d-adb3-692c91606a2d",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4cec89fe-2854-480d-97f8-6245dbb9b4c0",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6e8ce216-a5d2-4685-9d02-9ab7843e1a86",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "228e60a4-3df8-43e5-8ced-0f6b0d09e30c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8e909e52-2773-4766-91a6-00318b13b4c2",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "07a4bb4d-2ac8-4d6c-b753-71ef6759cb9c",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "08f044c1-9d21-4671-b8d8-8a50572ffd9b",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "dd9f79cb-d2d4-46dc-bfe7-c674fc0517e6",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a94a5ce7-ce4e-4e63-a23d-cc0b038a4860",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e29fe229-3965-4722-84ca-3dd02e9dec8c",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "729cf43a-8cbb-4c36-bb2c-7b1d8f195067",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "ed757547-3972-4797-b0f1-515e80aaf000",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "26e5aef7-0cc5-4d46-a6a4-48d597089b5c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8087ce94-4638-4642-9f17-c87c0b964c20",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "906e043e-1e25-47ed-9206-648130f080e6",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "bf2e24d0-7383-4fde-bd12-6271faf11ed2",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4d345dd1-25ac-40b0-b6d4-07bfd639ff9a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "981fcfe6-5b23-4d5a-89af-532b5b887431",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cfccd2b4-3434-4d6b-a027-5b64ef53a590",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "0614f2a0-6efd-4555-b9b5-69e9876a8151",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8168062d-fd1f-4261-be59-10cac88dbcf4",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3d78cff5-8300-4b5f-a40f-78cd4f0fbcfd",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "95e8a33e-af52-4bee-8add-c05e84467af2",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "96f5a460-85bd-4c78-9d96-8a20ac419717",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "09484fb5-663a-45d2-aa2c-3d82de2087c0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "35122b5e-02e3-4db6-8877-82ec211f9291",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5a12e994-161d-4d30-8e4f-458fff0d7688",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a84d1c48-5ad5-4b3f-8d16-f09ac19a1672",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ac6331bb-4bb6-4eb8-9794-189bdbf6eefb",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b5abae3e-09c5-4286-8d36-687968057ae0",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6c07a2bb-8709-43f2-9325-af9836298e6e",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e4dac1a4-4c0f-4c1e-b7b7-e67039d2099a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "daeb2fa4-cd53-42b5-a541-754e5f42e754",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d9680561-8686-49f5-9800-001dbf3525dc",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9a8980a9-2b65-47c6-9ff2-3064d3bebf96",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "3e3da87f-1ad3-4268-a446-2048671146a3",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e6317a2d-ca3a-44e4-9399-2bba6352e863",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bd44e29d-951d-4688-b071-a816b2a40215",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1fd9b413-6cc5-4346-ba81-5ae225528afa",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "e46eae60-b3d9-46d6-bbaa-2e496facca5c",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2feaa641-0e94-4b2a-825f-9043bd69d781",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9977e030-6cc3-481e-ad81-98405b75d426",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bd822ab9-db42-4c1c-8a17-5c0b561cfb94",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "81b475a9-e8c3-4252-9a2f-7123c7d59915",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d0b1f9a0-89f0-4b08-9a1c-f7782c06dd5d",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "fcf1fc94-81c7-4519-9a00-a06fca771d64",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2bd01710-5c1f-4fa3-bb8b-5832cd80a59d",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "72616c58-339d-41c3-8394-d599dcdae037",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d543149e-999a-4f08-a5ee-ab7dfc5846cb",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "be5fc7e6-21e1-437f-8cff-36ea3d00e620",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1ce386a4-8bce-47d5-a945-12875715863a",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "619f0bae-f0ce-43a9-b2d0-e74f68d10a4c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "系统正常工作,不出现异常关机"
}
@@ -0,0 +1,933 @@
{
"ID": "19f30910-0e30-42f3-99f4-b10a919b0f7c",
"StepCollection": [
{
"ID": "97892c14-344c-4cf8-a87f-fdc371bffe1c",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "33ab35c1-5dab-4372-8744-d4d702a1c32e",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "e3abae44-0836-4dae-b3b3-49b242380d77",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bcaf4a1e-5c1c-4286-88c0-e17c3d254ba0",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "c97f5b27-47d2-41d8-bd3b-409173a4ced5",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9aaddcb4-d38e-4e37-afca-ebd21fd70c72",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a57384b8-503c-4130-b867-a647404660fd",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a48407f6-9016-4588-a542-f21a03d3315a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1b949083-7bdf-4081-878f-ffd3d67b2965",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cbf6dc67-4990-4669-8ccc-0b7da0d44641",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1ee455fc-863d-4aec-8163-6b250d7c5602",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c004ba92-c4db-4b12-9c61-b86f4e46a89e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3b33261e-3c32-4345-90de-42f51587255f",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a27a4a0e-f957-4887-baeb-a3e9baadb851",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "90ea0cf7-998f-4cbc-a69f-8f165fd2f527",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "f16f75cf-2652-46ef-84fd-94a57fac8318",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4981ed54-19b9-449c-9520-08f9f524d0f1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a85992e5-8912-4bae-a77d-bd59b56eefd0",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "32f5ac06-a9c2-4596-bd50-ba04c1376f1f",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "62d1dac1-3f2d-4f55-9005-b3068853b224",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "052f1a75-141d-4438-81b8-ca81ff7d5aa1",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "720279a1-8445-4a3c-aff0-5f20da2a12a6",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "41968de6-53f7-4745-adc9-989a6b2df110",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "77ce1d57-c923-473b-bbdf-5cd86dbc4ca9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f57ef793-a24b-4efd-a413-f4ffa3794c4b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f53fbe17-eff0-4a1e-8495-f069039fc667",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9fcab88b-8830-4530-ac20-e58658a14ccd",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "1aa7837d-95c6-4c2a-83d7-57a762b46760",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "84993739-d93b-429a-b48f-dc3cfb091bbf",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e47d6aa9-84d4-49fb-a0f4-57373328f2ab",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "34a53670-fa16-4780-8f00-a1dbe0c0b043",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e36debe7-a801-4bcb-96f1-6cdc3c4829f7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6bd5e6cf-6753-410d-a9e8-e2db2a65c888",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0afc7194-25bb-4a96-8e50-44975b808c48",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1fd593e7-87fb-49f4-ab97-07ca1da86f2a",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "1b2bba3a-1901-4284-9aaf-c50c045227e0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9329b6ad-d35f-470d-82f1-8f0139b2db53",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fd4c0892-a857-439b-b74c-ddb20bdfa22b",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0663797b-d635-4d8b-84f8-a1197caaf2ee",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "8b213526-607d-4691-9646-a7504e9c9a41",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0590c334-85ba-42c1-bb3c-c362bbaddf82",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6f22ba4c-4ab1-4bc4-8d32-06a14e68faac",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "d718a4b6-64ef-48bb-8f41-84d87a41fa24",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "2137b892-6feb-4eba-af69-40996ec41093",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "18c04a36-4c12-4eb5-a11e-dde005aaf013",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4208a967-07fe-4af9-a4ed-7bb6f6933060",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "541a94a5-a456-4c24-a998-99653854eaf8",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f096b42a-3932-4d66-85f5-4bfd781fd5d4",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "77fee2da-5271-4944-90ec-ae686ef738a7",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "1110a99b-a564-4b75-8444-0ec28e603732",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "06418f71-1e18-4ecb-91e6-6aa38ec68aee",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "902b8482-afd3-4cbd-980d-68e4417c83f9",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "293cbaa1-1795-4e19-a85a-fdcf8b4e0d8e",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fe21bfbf-b7a9-4bdb-aded-c120551944de",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "67345754-4132-40b9-b632-ebbd540234dd",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1d067eba-f935-4202-9bf5-865650d7a585",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "唤醒时间≤5s"
}
@@ -0,0 +1,933 @@
{
"ID": "5f3d76b6-05dc-45e9-97f1-c507ad6a768c",
"StepCollection": [
{
"ID": "beae4286-c4ba-42c6-a780-21da29bde736",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "d7113455-de42-42ef-a59b-5d764e349c7d",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "60e57ba2-f8af-4eba-b82f-11d1ebf60054",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1d55d21b-838d-4fe4-a6c3-0e088e31dca1",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "b10633c0-a8c7-4fa2-92b3-e4a16b873a3b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bd4d666c-ae03-4bec-bd1c-f386abe43807",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2b03a6fe-c3d7-4c9b-8eba-780e8fdf1d46",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a5c0a746-1c88-4862-ba2f-512506ea5c36",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0a6a87eb-afc4-45d8-8aad-ab57c47758ce",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "08e54415-4588-4f82-a8f1-1a88d20dfd95",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "008b4583-de40-4200-9ca3-b65c62f77dd9",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "9ae25e86-aecb-4de8-acfe-52e006b3bf8b",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b89a4a71-1219-4626-80d4-862d86ad60e9",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f2d56986-a7a5-4b4b-8cc7-c28d25ca041b",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f1a2ce5b-c9e9-46c8-8cdd-3a12d4d1a7c4",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "49c869b4-b941-4799-9e29-7b2dc7bd1609",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "31a50838-35e8-41e5-844b-8bb163808d8d",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4b26944b-5b81-48a4-aa4e-9e764b5d3763",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3739046d-a75b-44c0-bfad-c8f323b44377",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a70286c4-e0db-4b12-afec-ca490ff663f9",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "aa87b33c-8966-4f2d-973b-2cf76a3ff42c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d056b080-e206-47b3-af64-ecdc0c614868",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "94f338a9-b15e-418f-810e-8349b12db250",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "4f54f40d-a593-4bba-a1a3-4dc9c3834305",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "80026c4e-a47b-40af-9f15-2e34c6cf2447",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "997595ab-8a68-4728-b09a-ab1063d31a2c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "eae6811d-ea80-439f-a636-2606b3ee1a09",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "c8efd9fc-c704-40be-9461-e2eb13eb8773",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d85fe8be-4e60-43e2-bb62-e43690d676d0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2c7c4fd0-fddb-441f-b935-25ee13928c17",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "cb910ae4-d68b-4240-a3e6-902c7b700505",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "17410ebf-9baa-48d4-8db1-77d6ab42a313",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1faa9dd6-3ef0-4416-8ef5-0ba570b9c2cf",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c7330ec5-b33f-4643-a155-810148db5b18",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f4734e2e-401b-4f94-88cc-c9c9c14086bf",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "dd6023ef-154b-4ba1-bc3f-fb8061d221cf",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a94a84ff-ecdd-406e-ae4e-ae7ae14611a3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bafe405a-e090-434d-accd-3fe4f71d77b4",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "7be4bba6-b6d2-4ea1-8c5b-2204f143a798",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "add066f7-fad4-4774-a2b5-9563f5801d54",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "ed0df476-4fff-425b-8333-7b4bb0cf0800",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0cf395bc-f57a-435f-b2a9-6af2d0ad3439",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "17e5f3c3-f24e-4c91-b650-8ceb5e6161fd",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "3501c5aa-bdb5-4d05-95c6-987f20b339f4",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "de7e4cb1-aa1d-4579-8d40-acd7cc13a74c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "352c1b0b-be3c-4cc1-8dfa-097f78e3062e",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a1d25fd7-a936-4de7-87d4-2c1f6c908688",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fb4ca920-f788-4286-a3b6-c5c275663950",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1e19f5d9-0953-4cd4-b658-67efb348b131",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "27ff9276-9c96-4687-83fa-9599481d2547",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "930af3a7-19c0-466b-87cc-6407233663a7",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "761be1c7-9aca-4cc8-95c7-c08ded9e293c",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6b463198-7a36-4f75-96c7-ac4605a66f9c",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "98a31377-c7e8-49b3-b44d-53003cf55f46",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f8e411d3-a931-45dd-a13d-739110f66fa3",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d1d7d8fb-1c1a-4f13-b5ae-61634ca2000f",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "系统正常"
}
@@ -0,0 +1,933 @@
{
"ID": "0fcd334d-b7fb-454b-a2a8-7fff5ea20d1b",
"StepCollection": [
{
"ID": "f5b6be92-84c5-4b2e-a999-359dc7bc3385",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "865bd049-7319-4268-af4e-4772392a8f53",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a6df4b8b-2184-4bfb-9141-a122b2fd94b2",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "2980e14c-27ce-43ff-86bc-773057d0efc5",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "3cc8fdc7-a1d0-4c0c-a509-39fa14f9068a",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b73cbe26-1695-4fbc-abdb-f7beb0599100",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "66945ed7-9b2d-4392-a810-b72466dd8b71",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "72f993cf-9e01-4e37-adf7-2581c07d415f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1df33d50-6016-484e-af31-07dcef9523b2",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "47669d3a-7a7e-435a-b19b-dd38bfed1f98",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "235a6a91-0901-476c-bbc8-258e32ae2fcf",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "33ca4859-f472-443b-98f6-6c7006bde330",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "37768fc6-f96d-40bc-a120-f6ee060cef3c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8889011b-494a-4899-9472-1533e69f149d",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "9b59873f-6f0e-427f-80fc-21e3a7ca3f18",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "06b7f0f3-80c4-41cd-a683-e5da9ebe2516",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "0e2504ee-9334-470e-bc1c-9c99f92c5f4b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9653074f-019a-4ca6-9631-ea0bc5fc08b0",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fb12b9ab-f90a-45ae-a20d-a9fcc14eaf8e",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "2827976c-ea74-4c55-9b4b-fce843b0ada3",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5396bf4a-7ef5-431c-b410-78529851911a",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "75a2f7e8-918c-4d37-9aee-4a47cfb26e2f",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "3787f5f6-7784-42a6-9417-7ef4af8b4625",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e9d6eb66-119c-4366-a560-18710876253f",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "50d43885-6ea8-42ae-ac4e-26524cae853b",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c2a1f03f-47c1-4e61-82d4-4256884ab9ec",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "1d25db59-9292-437b-8c77-61fd8ebf6aac",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "40d9d556-b175-403f-a747-c89e677cf281",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d9487113-3e34-4a6b-a405-34012410139c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "af72afec-ca32-426f-8298-11ff1801507e",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "f9d53220-fc3c-4ecb-8a23-dde15d00959b",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "e123d9de-4b48-457c-a32c-57d40fa483b7",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "46b1d09f-edb7-46fd-9f5c-7d6c189d5e10",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c72a13db-01e0-470d-8525-8b41dab862dd",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "42b8d8f0-f9b0-4d70-85bf-0f56a28cd076",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b156a31a-a092-4fb3-90ac-9f71f1ee1230",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "42ba9da2-5b50-4028-a010-57964728e1e0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3a4727f1-1921-481e-895e-67c3f4fcc36c",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "49ca0318-0f92-4840-a656-d9fdfedde2ca",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "a18642d9-6142-44e5-8eb4-8c37b8943602",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1f7e7498-8865-430a-a88e-6c15a486e8f6",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "1999ff5f-1545-4576-9632-5a68747e3af1",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "fe2b697e-43ca-4b5c-b8f7-75dd84be9a37",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "1cb5b1d3-20d7-411e-a90d-0e88318262e8",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f8fe14ec-da33-421b-b2fe-4e6844f29fe3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fcd26516-3ad3-469c-b376-df5557552e3e",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "eccf2edd-834e-48b3-ac98-285d6e404341",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "74f63f98-b4e0-4b08-b70a-59077262f5b8",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "6e977c49-4dab-49df-8a9e-25b50acc8837",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "3ad3a80b-8aa1-4f66-9254-2b572739c976",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "8a546642-a1f0-4c54-8a3f-c4e53c03cd75",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cbd8c7b2-84cd-4754-9cd0-1a69046cf369",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "bcc09fad-a10f-4583-bb89-ec27a7d0c832",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e20940d8-5a5f-4b6e-bf38-659648205f41",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "08525133-4f58-4790-be9c-bb6632880c03",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e67379b8-bb65-45a0-ad91-e335e243bb24",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "系统正常"
}
@@ -0,0 +1,933 @@
{
"ID": "d29ee0ec-c434-4295-af8a-db33b2f628cd",
"StepCollection": [
{
"ID": "fcc08052-b385-4fe1-a65d-b44041a3d686",
"IsUsed": true,
"Index": 1,
"Name": "循环开始",
"StepType": "循环开始",
"Method": {
"Name": null,
"FullName": null,
"Parameters": [
{
"ID": "3c607620-d212-4d89-af9b-9f8b7931a52a",
"IsVisible": true,
"IsEditable": true,
"Name": "循环次数",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "1",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a36040e1-24bb-44c2-8ec2-e13afd0ea3d8",
"IsUsed": true,
"Index": 2,
"Name": "ADP产品开机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "6f63e8b6-6cea-46e7-b96e-84c6a6741566",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "b2d15e05-51a5-4ff4-8f22-04753aa943fc",
"IsUsed": true,
"Index": 3,
"Name": "Delay_m",
"StepType": "方法",
"Method": {
"Name": "Delay_m",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "785fcd6c-52ce-4f51-afd8-12357e5c00f0",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "94bfbb8e-2da8-4d9a-bf0f-aabce7580c2f",
"IsVisible": true,
"IsEditable": true,
"Name": "延时毫秒",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 60000,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "13b46b85-72ad-4d5c-a7bd-c9b424a8ec61",
"IsUsed": true,
"Index": 4,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "08fbbfdd-4200-426e-98cd-6ecb859db8de",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "cbda4fea-3e4c-4291-a749-5832dac8cea3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "2df435f9-1be6-47b6-b316-057a07ec4b12",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "74e447e2-85bd-4250-8f3e-930c3ed007f7",
"IsUsed": true,
"Index": 5,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "cc752adf-b03d-4acc-8980-2bb2ca9aa576",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "04ea1ea2-6d14-40fc-83d3-e7661ef469ba",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "9604a328-e1a3-451a-ab31-5d2f193203f3",
"IsVisible": true,
"IsEditable": false,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "10c3b723-7b63-4568-b13c-f8f43b617131",
"IsUsed": true,
"Index": 6,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "bbe547f4-e1c1-4d2d-ab64-2614b14ef662",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e338f732-87e6-4ff4-9d4d-4239741bf0b0",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5b126b90-6b88-4018-bd30-9a9074ecc35d",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bd5a72ff-057b-49e5-aa32-b858269ed0ff",
"IsUsed": true,
"Index": 7,
"Name": "查询实际电流",
"StepType": "方法",
"Method": {
"Name": "查询实际电流",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "2c0acf6a-aa57-433d-b329-5f438e806cde",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fe066d1d-092a-459d-ad86-04bfcc05798c",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "7eb13b70-7f0a-4168-a419-e868e6493d7f",
"IsVisible": true,
"IsEditable": false,
"Name": "电流",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "a97a4f90-36c9-4453-8ffe-69d30a9ec37a",
"IsUsed": true,
"Index": 8,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "a3816459-8511-433e-8043-d83e88c80621",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "5168e75b-a122-45ee-808a-b551f32f5e11",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "3ac2d125-a187-4175-a62a-24e5a6f12085",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "bb52fb32-e5f1-4e3f-8ccb-758cd5b5bf6a",
"IsUsed": true,
"Index": 9,
"Name": "查询实际功率",
"StepType": "方法",
"Method": {
"Name": "查询实际功率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "3f5b34ee-a4fe-4e1c-aedc-58c48b607896",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "f3b7f7fd-f9bd-46fc-b617-113344048b11",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 2,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "263a099f-f42e-43e8-9ed2-31f97d8444ac",
"IsVisible": true,
"IsEditable": false,
"Name": "功率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "0b9e5a3f-6ccc-4d6c-9e89-12547d096fc9",
"IsUsed": true,
"Index": 10,
"Name": "查询频率",
"StepType": "方法",
"Method": {
"Name": "查询频率",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "b7b39735-b0a1-4d7e-bcd7-3b8df984ea2e",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "06e9b3cf-123c-4200-ac85-38a889036b06",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "b96f5828-6dad-4b30-b914-13a90b7278bc",
"IsVisible": true,
"IsEditable": false,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "dd0b1a23-fceb-4948-8de3-d973fda649a7",
"IsUsed": true,
"Index": 11,
"Name": "查询功率因数",
"StepType": "方法",
"Method": {
"Name": "查询功率因数",
"FullName": "DeviceCommand.Devices.SPAW7000",
"Parameters": [
{
"ID": "79ff95b9-a297-4c28-9ff7-b5975b7d19ad",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "73c0098d-976c-4b9a-9fdf-a6a7a07935a3",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "c434b44a-dfed-43f4-995e-e350a4508222",
"IsVisible": true,
"IsEditable": false,
"Name": "功率因数",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "65c87c3e-cdf8-4731-b80f-95faf7b876e7",
"IsUsed": true,
"Index": 12,
"Name": "检查电流是否大于5.0A",
"StepType": "方法",
"Method": {
"Name": "GreaterThanOrEqual",
"FullName": "Command.CommandMath",
"Parameters": [
{
"ID": "0fb83952-37db-49c0-9c05-5a09442dcba1",
"IsVisible": true,
"IsEditable": false,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "83337463-3566-4073-9113-5485d6392940",
"IsVisible": true,
"IsEditable": true,
"Name": "值1",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "57e685ec-5eee-4f6f-867b-43ee251d179e",
"IsVisible": true,
"IsEditable": true,
"Name": "值2",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 5.0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "13bf76a1-81fc-4915-81b5-388d847aaef3",
"IsUsed": true,
"Index": 13,
"Name": "发送CAN报文",
"StepType": "方法",
"Method": {
"Name": "发送自定义报文",
"FullName": "ZLGUSBCANFD.ZLGCANFD",
"Parameters": [
{
"ID": "d3f8d99b-947f-44a3-8067-63187cde1959",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": true,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fbeead07-eada-4dd2-8f70-becfb47558ef",
"IsVisible": true,
"IsEditable": true,
"Name": "通道号",
"Type": "System.UInt32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "557b6944-7cf0-47c0-8e89-c66bae125c48",
"IsVisible": true,
"IsEditable": true,
"Name": "帧ID",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "0x1806E5F4",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "a76e6d87-6331-4029-a7b2-1459557cd8ff",
"IsVisible": true,
"IsEditable": true,
"Name": "数据",
"Type": "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "00 00 00 00 00 00 00 00",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "8039d2b6-ee29-4dd9-b799-ade0f52c7a1a",
"IsUsed": true,
"Index": 14,
"Name": "ADP产品关机",
"StepType": "子程序",
"Method": null,
"SubProgram": {
"ID": "8f63e8b6-6cea-46e7-b96e-84c6a6741567",
"StepCollection": [],
"Parameters": []
},
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
},
{
"ID": "5792303c-741f-433a-a043-9c2f9e78ecc9",
"IsUsed": true,
"Index": 15,
"Name": "循环结束",
"StepType": "循环结束",
"Method": null,
"SubProgram": null,
"LoopCount": 1,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": null
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "87afbdad-507e-49e8-ad46-7ce904bb7658",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "60cd1227-9543-4bf2-80d5-77ab03cf8e0f",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "e86ec566-eb26-403e-9c73-769a2ecbc276",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "6af5c6d0-2366-407d-b107-1ef53d5cd2c8",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "d9bb28ea-2745-4470-9092-640f6931a3a6",
"IsVisible": true,
"IsEditable": false,
"Name": "示波器通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "4d9e5964-0998-4fcb-b09f-4fbdd679cd43",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "fcf07a6d-c4a1-449e-a34f-ccca370be6aa",
"IsVisible": true,
"IsEditable": false,
"Name": "功率分析仪通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
],
"Devices": [],
"Description": "系统正常"
}
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -1,164 +0,0 @@
using DeviceCommand.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BenchMovementModule.HardwareDrive
{
public abstract class GantryControlBase
{
protected readonly IModbusDevice _device;
protected readonly byte _slaveAddress;
// 默认 PLC Modbus 映射地址
protected const ushort ADDR_HM_X_ENABLE = 0xC100; // HM0: X轴使能
protected const ushort ADDR_HM_Y_ENABLE = 0xC101; // HM1: Y轴使能
protected const ushort ADDR_HM_Z_ENABLE = 0xC102; // HM2: Z轴使能
protected const ushort ADDR_M_X_START = 30; // M30: X轴指定位置启动
protected const ushort ADDR_M_Y_START = 31; // M31: Y轴指定位置启动
protected const ushort ADDR_M_Z_START = 35; // M35: Z轴指定位置启动
protected const ushort ADDR_M_ALL_STOP = 40; // M40: 全停
protected const ushort ADDR_M_X_STOP = 41; // M41: X轴停止
protected const ushort ADDR_M_Y_STOP = 42; // M42: Y轴停止
protected const ushort ADDR_M_Z_STOP = 43; // M43: Z轴停止
protected const ushort ADDR_M_HOME = 100; // M100: 回原点触发
protected const ushort ADDR_HD_X_SPEED = 0xA166; // HD230: X轴速度 (32位)
protected const ushort ADDR_HD_Y_SPEED = 0xA17A; // HD250: Y轴速度 (32位)
protected const ushort ADDR_HD_Z_SPEED = 0xA170; // HD240: Z轴速度 (32位)
protected const ushort ADDR_HD_X_TARGET = 0xA10C; // HD140: X轴指定位置 (32位)
protected const ushort ADDR_HD_Y_TARGET = 0xA120; // HD160: Y轴指定位置 (32位)
protected const ushort ADDR_HD_Z_TARGET = 0xA116; // HD150: Z轴指定位置 (32位)
public bool IsConnected => _device?.IsConnected ?? false;
protected GantryControlBase(IModbusDevice device, byte slaveAddress = 1)
{
_device = device ?? throw new ArgumentNullException(nameof(device));
_slaveAddress = slaveAddress;
}
public async Task<bool> ConnectAsync(CancellationToken ct = default)
{
return await _device.ConnectAsync(ct);
}
public void Close()
{
_device.Close();
}
/// <summary>
/// 轴使能控制
/// </summary>
public async Task SetAxisEnableAsync(int axis, bool enable, CancellationToken ct = default)
{
ushort address = axis switch
{
1 => ADDR_HM_X_ENABLE, // X
2 => ADDR_HM_Y_ENABLE, // Y
3 => ADDR_HM_Z_ENABLE, // Z
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)")
};
await _device.WriteSingleCoilAsync(_slaveAddress, address, enable, ct);
}
/// <summary>
/// 左右移动(X轴)
/// </summary>
/// <param name="position">目标绝对位置(脉冲数/单位值)</param>
/// <param name="speed">运行速度</param>
public async Task MoveLeftRightAsync(int position, int speed, CancellationToken ct = default)
{
// 1. 写入速度与目标位置(32位数据,写入连续的2个保持寄存器)
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_SPEED, Int32ToUshorts(speed), ct);
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_TARGET, Int32ToUshorts(position), ct);
// 2. 边缘触发启动信号 M30
await TriggerCoilAsync(ADDR_M_X_START, ct);
}
/// <summary>
/// 上下移动(Z轴)
/// </summary>
/// <param name="position">目标绝对位置</param>
/// <param name="speed">运行速度</param>
public async Task MoveUpDownAsync(int position, int speed, CancellationToken ct = default)
{
// 1. 写入速度与目标位置(32位数据)
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_SPEED, Int32ToUshorts(speed), ct);
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_TARGET, Int32ToUshorts(position), ct);
// 2. 边缘触发启动信号 M35
await TriggerCoilAsync(ADDR_M_Z_START, ct);
}
/// <summary>
/// 前后移动(Y轴 - 预留拓展)
/// </summary>
public async Task MoveFrontBackAsync(int position, int speed, CancellationToken ct = default)
{
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_SPEED, Int32ToUshorts(speed), ct);
await _device.WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_TARGET, Int32ToUshorts(position), ct);
await TriggerCoilAsync(ADDR_M_Y_START, ct);
}
/// <summary>
/// 全局回零
/// </summary>
public async Task HomeAsync(CancellationToken ct = default)
{
await TriggerCoilAsync(ADDR_M_HOME, ct);
}
/// <summary>
/// 轴停止
/// </summary>
/// <param name="axis">1:X轴, 2:Y轴, 3:Z轴, 0:全停</param>
public async Task StopAsync(int axis = 0, CancellationToken ct = default)
{
ushort address = axis switch
{
0 => ADDR_M_ALL_STOP,
1 => ADDR_M_X_STOP,
2 => ADDR_M_Y_STOP,
3 => ADDR_M_Z_STOP,
_ => ADDR_M_ALL_STOP
};
await TriggerCoilAsync(address, ct);
}
#region
/// <summary>
/// 触发一个点动信号(置 1 后,延时 100ms 自动置 0)
/// </summary>
protected async Task TriggerCoilAsync(ushort address, CancellationToken ct = default)
{
await _device.WriteSingleCoilAsync(_slaveAddress, address, true, ct);
await Task.Delay(100, ct); // 给予 PLC 扫描周期足够的响应时间
await _device.WriteSingleCoilAsync(_slaveAddress, address, false, ct);
}
/// <summary>
/// 将 32 位整型数据转换为 Modbus 的 2 个 16 位无符号整数(高低字转换)
/// </summary>
protected ushort[] Int32ToUshorts(int value)
{
// 本处采用低字在前(CDAB),如果PLC高字在前(ABCD),可将返回数组顺序颠倒
ushort lowWord = (ushort)(value & 0xFFFF);
ushort highWord = (ushort)((value >> 16) & 0xFFFF);
return new ushort[] { lowWord, highWord };
}
#endregion
}
}
@@ -1,28 +0,0 @@
using DeviceCommand.Base;
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BenchMovementModule.HardwareDrive
{
public class GantryControlRtu : GantryControlBase
{
// 暴露出底层的 ModbusRtu 实例以便修改串口配置
public ModbusRtu RtuDevice => (ModbusRtu)_device;
public GantryControlRtu(string portName, int baudRate = 9600, byte slaveAddress = 1)
: base(new ModbusRtu(), slaveAddress)
{
RtuDevice.ConfigureDevice(portName, baudRate);
}
public GantryControlRtu(string portName, int baudRate, int dataBits, StopBits stopBits, Parity parity, byte slaveAddress = 1)
: base(new ModbusRtu(), slaveAddress)
{
RtuDevice.ConfigureDevice(portName, baudRate, dataBits, stopBits, parity);
}
}
}
@@ -1,27 +0,0 @@
using DeviceCommand.Base;
using Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BenchMovementModule.HardwareDrive
{
public class GantryControlTcp : GantryControlBase
{
// 暴露出底层的 ModbusTcp 实例以便修改网络配置
public ModbusTcp TcpDevice => (ModbusTcp)_device;
public GantryControlTcp(TcpConfig config, byte slaveAddress = 1)
: base(new ModbusTcp(config), slaveAddress)
{
}
public GantryControlTcp(string ipAddress, int port = 502, byte slaveAddress = 1)
: base(new ModbusTcp(), slaveAddress)
{
TcpDevice.ConfigureDevice(ipAddress, port);
}
}
}
@@ -221,8 +221,8 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetAxisTargetPositionAsync(1, TargetX);
await _gantry.StartSingleAxisAsync(1);
await _gantry!.(1, TargetX);
await _gantry.(1);
LoggerHelper.Info($"[BenchMovement] X轴移动到 {TargetX}");
}
catch (Exception ex)
@@ -237,8 +237,8 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetAxisTargetPositionAsync(2, TargetY);
await _gantry.StartSingleAxisAsync(2);
await _gantry!.(2, TargetY);
await _gantry.(2);
LoggerHelper.Info($"[BenchMovement] Y轴移动到 {TargetY}");
}
catch (Exception ex)
@@ -253,8 +253,8 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetAxisTargetPositionAsync(3, TargetZ);
await _gantry.StartSingleAxisAsync(3);
await _gantry!.(3, TargetZ);
await _gantry.(3);
LoggerHelper.Info($"[BenchMovement] Z轴移动到 {TargetZ}");
}
catch (Exception ex)
@@ -269,10 +269,10 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetAxisTargetPositionAsync(1, TargetX);
await _gantry.SetAxisTargetPositionAsync(2, TargetY);
await _gantry.SetAxisTargetPositionAsync(3, TargetZ);
await _gantry.StartAllAxesAsync();
await _gantry!.(1, TargetX);
await _gantry.(2, TargetY);
await _gantry.(3, TargetZ);
await _gantry.();
LoggerHelper.Info($"[BenchMovement] 三轴同时移动: X={TargetX}, Y={TargetY}, Z={TargetZ}");
}
catch (Exception ex)
@@ -287,7 +287,7 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.HomeAsync();
await _gantry!.(15);
LoggerHelper.Info("[BenchMovement] 回原点已触发");
}
catch (Exception ex)
@@ -302,7 +302,7 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetEStopStateAsync(true);
await _gantry!.(true);
LoggerHelper.Info("[BenchMovement] 急停已触发");
}
catch (Exception ex)
@@ -316,9 +316,9 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetStopStateAsync(1, true);
await _gantry!.(1, true);
await Task.Delay(100);
await _gantry.SetStopStateAsync(1, false);
await _gantry.(1, false);
}
catch (Exception ex)
{
@@ -331,9 +331,9 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetStopStateAsync(2, true);
await _gantry!.(2, true);
await Task.Delay(100);
await _gantry.SetStopStateAsync(2, false);
await _gantry.(2, false);
}
catch (Exception ex)
{
@@ -346,9 +346,9 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetStopStateAsync(3, true);
await _gantry!.(3, true);
await Task.Delay(100);
await _gantry.SetStopStateAsync(3, false);
await _gantry.(3, false);
}
catch (Exception ex)
{
@@ -361,10 +361,10 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetAxisSpeedAsync(1, SpeedX);
await _gantry.SetAxisSpeedAsync(2, SpeedY);
await _gantry.SetAxisSpeedAsync(3, SpeedZ);
await _gantry.SetHomePositionSpeedAsync(HomeSpeed);
await _gantry!.(1, SpeedX);
await _gantry.(2, SpeedY);
await _gantry.(3, SpeedZ);
await _gantry.(HomeSpeed);
LoggerHelper.Info($"[BenchMovement] 速度设定完成: X={SpeedX}, Y={SpeedY}, Z={SpeedZ}, 回零={HomeSpeed}");
}
catch (Exception ex)
@@ -379,7 +379,7 @@ namespace BenchMovementModule.ViewModels
if (!EnsureConnected()) return;
try
{
await _gantry!.SetHomePositionAsync(HomeX, HomeY, HomeZ);
await _gantry!.(HomeX, HomeY, HomeZ);
LoggerHelper.Info($"[BenchMovement] 零点设定完成: X={HomeX}, Y={HomeY}, Z={HomeZ}");
}
catch (Exception ex)
@@ -419,16 +419,16 @@ namespace BenchMovementModule.ViewModels
if (_gantry == null || !_gantry.IsConnected) return;
try
{
var (x, y, z) = await _gantry.GetHomePositionAsync();
var (x, y, z) = await _gantry.();
HomeX = x; HomeY = y; HomeZ = z;
SpeedX = await _gantry.GetAxisSpeedAsync(1);
SpeedY = await _gantry.GetAxisSpeedAsync(2);
SpeedZ = await _gantry.GetAxisSpeedAsync(3);
HomeSpeed = await _gantry.GetHomePositionSpeedAsync();
SpeedX = await _gantry.(1);
SpeedY = await _gantry.(2);
SpeedZ = await _gantry.(3);
HomeSpeed = await _gantry.();
// 读取 6 轴绝对位置
var positions = await _gantry.GetAllAbsolutePositionsAsync();
var positions = await _gantry.();
AbsPos1 = positions.Axis1; AbsPos2 = positions.Axis2; AbsPos3 = positions.Axis3;
AbsPos4 = positions.Axis4; AbsPos5 = positions.Axis5; AbsPos6 = positions.Axis6;
}
@@ -444,7 +444,7 @@ namespace BenchMovementModule.ViewModels
try
{
// 批量读取 6 轴绝对位置(一次性通信,高效)
var pos = await _gantry.GetAllAbsolutePositionsAsync();
var pos = await _gantry.();
AbsPos1 = pos.Axis1; AbsPos2 = pos.Axis2; AbsPos3 = pos.Axis3;
AbsPos4 = pos.Axis4; AbsPos5 = pos.Axis5; AbsPos6 = pos.Axis6;
}
+28
View File
@@ -347,6 +347,7 @@ namespace CANModule.ViewModels
DeleteDcAutoLoadCommand = new DelegateCommand(DeleteDcAutoLoad);
SendCustomMessageCommand = new DelegateCommand(SendCustomMessage);
_canfd.OnDbcMessageDecoded += OnDbcMessageDecoded;
_canfd.OnRawMessageReceived += OnRawMessageReceived;
LoadCommand = new DelegateCommand(Load);
}
@@ -368,6 +369,7 @@ namespace CANModule.ViewModels
if (_canfd != null)
{
_canfd.OnDbcMessageDecoded -= OnDbcMessageDecoded;
_canfd.OnRawMessageReceived -= OnRawMessageReceived;
}
_refreshCts?.Cancel();
}
@@ -627,6 +629,32 @@ namespace CANModule.ViewModels
});
}
private void OnRawMessageReceived(uint channel, uint canId, byte[] data, ulong timestamp, bool isFD, byte dlcLength)
{
// 原始报文回调:不依赖 DBC,自定义报文也能收到
Application.Current.Dispatcher.BeginInvoke(() =>
{
// 提取实际 CAN ID(去掉扩展帧标志位)
int actualId = (int)(canId & 0x1FFFFFFF);
var find = CanMessageList.FirstOrDefault(s => s.ID == actualId && s. == channel);
if (find != null)
{
find. = (ulong)DateTimeOffset.Now.ToUnixTimeMilliseconds();
find. = dlcLength;
}
else
{
CanMessageList.Add(new CanMessageShowVM
{
= (byte)channel,
ID = actualId,
= (ulong)DateTimeOffset.Now.ToUnixTimeMilliseconds(),
= dlcLength
});
}
});
}
private string (System.Span<byte> s)
{
if (s == null || s.Length == 0)
+1
View File
@@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
+62
View File
@@ -0,0 +1,62 @@
using Common.Attributes;
using System;
using System.ComponentModel;
using System.Threading;
using System.Threading.Tasks;
namespace Command
{
/// <summary>
/// 对话框命令:在测试流程中弹出提示窗口。
/// 命令库为纯 .NET 类库,不直接引用 WPF 程序集;
/// 实际的弹窗能力由宿主程序(ADP 外壳)在启动时注入到 <see cref="弹窗处理器"/> 委托中实现(依赖倒置)。
/// </summary>
[ADPCommand]
public static class CommandDialog
{
/// <summary>
/// 弹窗类型
/// </summary>
public enum DialogType
{
/// <summary>
/// 信息提示
/// </summary>
Info,
/// <summary>
/// 警告提示
/// </summary>
Warning,
/// <summary>
/// 错误提示
/// </summary>
Error
}
/// <summary>
/// 弹窗处理委托(参数依次为:弹窗类型、弹窗详细、是否阻塞、自动关闭秒数、取消令牌)。
/// 由宿主程序启动时注入实现;未注入时弹窗命令降级为仅输出日志,不会抛异常。
/// </summary>
[Browsable(false)]
public static Func<DialogType, string, bool, float, CancellationToken, Task> ;
/// <summary>
/// 弹窗:在界面上显示一个提示对话框。
/// </summary>
/// <param name="弹窗类型">弹窗样式:Info 信息 / Warning 警告 / Error 错误</param>
/// <param name="弹窗详细">弹窗中显示的详细内容</param>
/// <param name="是否阻塞">true = 步骤暂停,等待用户关闭(或自动关闭)后才继续;false = 弹出后步骤立即继续</param>
/// <param name="自动关闭秒数">大于 0 时,弹窗在指定秒数后自动关闭;小于等于 0 时不自动关闭,需用户手动关闭</param>
/// <param name="ct">异步取消令牌</param>
public static async Task (DialogType , string , bool , float , CancellationToken ct)
{
var handler = ;
if (handler == null)
{
Console.WriteLine($"[弹窗命令] 宿主未注入弹窗处理器,跳过弹窗:{弹窗详细}");
return;
}
await handler(, , , , ct);
}
}
}
+1 -1
View File
@@ -4,12 +4,12 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ncalc" Version="1.3.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.5-beta1" />
<PackageReference Include="System.IO.Ports" Version="11.0.0-preview.4.26230.115" />
</ItemGroup>
</Project>
+25 -1
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -23,7 +24,7 @@ namespace Common.Tools
{
foreach (var kvp in processedVariables)
{
expr.Parameters[kvp.Key] = kvp.Value;
expr.Parameters[kvp.Key] = NormalizeValue(kvp.Value);
}
}
@@ -95,6 +96,29 @@ namespace Common.Tools
return (processedExpression, newVariables);
}
/// <summary>
/// 归一化变量取值:输入变量的值常以字符串形式保存(如 "10"),
/// 若直接参与比较,NCalc 会按字符串逐位比较("10" > "5" 为假),
/// 导致大于/小于判断失真。此处将可解析为数字/布尔的字符串转换为对应类型,
/// 使比较按数值语义进行;无法解析的字符串保持原样。
/// </summary>
private static object? NormalizeValue(object? value)
{
if (value is string s)
{
if (double.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out var d)
|| double.TryParse(s, out d))
{
return d;
}
if (bool.TryParse(s, out var b))
{
return b;
}
}
return value;
}
// 检查字符串是否包含中文字符
private static bool ContainsChinese(string text)
{
+2 -2
View File
@@ -12,8 +12,8 @@ namespace DeviceCommand.Base
{
public string IPAddress { get; private set; } = "127.0.0.1";
public int Port { get; private set; } = 502;
public int SendTimeout { get; private set; } = 3000;
public int ReceiveTimeout { get; private set; } = 3000;
public int SendTimeout { get; private set; } = 10000;
public int ReceiveTimeout { get; private set; } = 10000;
private TcpClient _tcpClient;
public IModbusMaster Modbus { get; private set; }
+1
View File
@@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
+326 -129
View File
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.ComponentModel;
namespace DeviceCommand.Devices
{
@@ -18,6 +19,14 @@ namespace DeviceCommand.Devices
// 向后兼容:TcpDevice 即自身(继承自 ModbusTcp
public ModbusTcp TcpDevice => this;
// =================================================================
// ------------------ 软件位置跟踪(绝对位置寄存器会被清零)----------
// =================================================================
/// <summary>当前位置相对于机械零点的位置(每次移动后累加偏移)</summary>
private int _originX, _originY, _originZ;
/// <summary>是否已完成回零初始化</summary>
private bool _isHomed;
public GantryControlTcp(TcpConfig config) : base(config)
{
@@ -26,7 +35,7 @@ namespace DeviceCommand.Devices
// =================================================================
// ------------------ Coil / Bit 状态与控制 (位元件) ------------------
// =================================================================
private const ushort ADDR_M_ESTOP = 20496; // 0x5010: 紧停
private const ushort ADDR_M_ESTOP = 40; // 0x5010: 紧停
private const ushort ADDR_M_X_STOP = 41; // 0x29: X轴停止
private const ushort ADDR_M_Y_STOP = 42; // 0x2A: Y轴停止
private const ushort ADDR_M_Z_STOP = 43; // 0x2B: Z轴停止
@@ -84,10 +93,12 @@ namespace DeviceCommand.Devices
/// <summary>
/// 轴使能控制
/// </summary>
/// <param name="axis">轴编号 (1 - 6)</param>
public async Task SetAxisEnableAsync(int axis, bool enable, CancellationToken ct = default)
/// <param name="轴编号">轴编号 (1 - 6)</param>
/// <param name="使能">true: 使能轴, false: 禁用轴</param>
/// <param name="取消令牌">取消令牌</param>
public async Task 使(int , bool 使, CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_HM_AXIS1_ENABLE,
2 => ADDR_HM_AXIS2_ENABLE,
@@ -95,60 +106,64 @@ namespace DeviceCommand.Devices
4 => ADDR_HM_AXIS4_ENABLE,
5 => ADDR_HM_AXIS5_ENABLE,
6 => ADDR_HM_AXIS6_ENABLE,
_ => throw new ArgumentException("轴通道错误,仅支持 1 - 6", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1 - 6", nameof())
};
await WriteSingleCoilAsync(_slaveAddress, address, enable, ct);
await WriteSingleCoilAsync(_slaveAddress, address, 使, );
}
/// <summary>
/// 读取指定轴的使能状态
/// </summary>
/// <param name="axis">1: X轴, 2: Y轴, 3: Z轴</param>
public async Task<bool> GetAxisEnableAsync(int axis, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="取消令牌">取消令牌</param>
/// <returns>true: 已使能, false: 未使能</returns>
public async Task<bool> 使(int , CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_HM_AXIS1_ENABLE,
2 => ADDR_HM_AXIS2_ENABLE,
3 => ADDR_HM_AXIS3_ENABLE,
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof())
};
bool[] coils = await ReadCoilsAsync(_slaveAddress, address, 1, ct);
bool[] coils = await ReadCoilsAsync(_slaveAddress, address, 1, );
return coils != null && coils.Length > 0 && coils[0];
}
/// <summary>
/// 同时设置 X/Y/Z 轴的原点位置(带各自独立的范围检查)
/// </summary>
/// <param name="xPos">X轴原点位置 (范围: 0 ~ 50000)</param>
/// <param name="yPos">Y轴原点位置 (范围: 0 ~ 50000)</param>
/// <param name="zPos">Z轴原点位置 (范围: 0 ~ 20000)</param>
public async Task SetHomePositionAsync(int xPos, int yPos, int zPos, CancellationToken ct = default)
/// <param name="X轴原点">X轴原点位置 (范围: 0 ~ 50000)</param>
/// <param name="Y轴原点">Y轴原点位置 (范围: 0 ~ 50000)</param>
/// <param name="Z轴原点">Z轴原点位置 (范围: 0 ~ 40000)</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int X轴原点, int Y轴原点, int Z轴原点, CancellationToken = default)
{
if (xPos < 0 || xPos > 50000)
throw new ArgumentOutOfRangeException(nameof(xPos), $"X轴原点设置值 [{xPos}] 超出合法范围 (0 - 50000)");
if (X轴原点 < 0 || X轴原点 > 50000)
throw new ArgumentOutOfRangeException(nameof(X轴原点), $"X轴原点设置值 [{X轴原点}] 超出合法范围 (0 - 50000)");
if (yPos < 0 || yPos > 50000)
throw new ArgumentOutOfRangeException(nameof(yPos), $"Y轴原点设置值 [{yPos}] 超出合法范围 (0 - 50000)");
if (Y轴原点 < 0 || Y轴原点 > 50000)
throw new ArgumentOutOfRangeException(nameof(Y轴原点), $"Y轴原点设置值 [{Y轴原点}] 超出合法范围 (0 - 50000)");
if (zPos < 0 || zPos > 20000)
throw new ArgumentOutOfRangeException(nameof(zPos), $"Z轴原点设置值 [{zPos}] 超出合法范围 (0 - 20000)");
if (Z轴原点 < 0 || Z轴原点 > 40000)
throw new ArgumentOutOfRangeException(nameof(Z轴原点), $"Z轴原点设置值 [{Z轴原点}] 超出合法范围 (0 - 40000)");
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_HOME_POS, Int32ToUshorts(xPos), ct);
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_HOME_POS, Int32ToUshorts(yPos), ct);
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_HOME_POS, Int32ToUshorts(zPos), ct);
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_HOME_POS, Int32ToUshorts(X轴原点), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_HOME_POS, Int32ToUshorts(Y轴原点), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_HOME_POS, Int32ToUshorts(Z轴原点), );
}
/// <summary>
/// 批量查询当前 X、Y、Z 三轴设定的原点位置值
/// </summary>
/// <param name="取消令牌">取消令牌</param>
/// <returns>返回包含三轴原点位置的元组 (X, Y, Z)</returns>
public async Task<(int X, int Y, int Z)> GetHomePositionAsync(CancellationToken ct = default)
public async Task<(int X, int Y, int Z)> (CancellationToken = default)
{
// 41218(Y) - 41198(X) = 20,加Y轴自身的 2 个寄存器,共批量读取 22 个连续寄存器
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_HD_X_HOME_POS, 22, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_HD_X_HOME_POS, 22, );
if (registers == null || registers.Length < 22)
throw new InvalidOperationException("从 PLC 读取三轴原点位置失败,返回数据长度不足。");
@@ -163,20 +178,24 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置回原点定位速度(带 0 - 100000 范围检查)
/// </summary>
public async Task SetHomePositionSpeedAsync(int speed, CancellationToken ct = default)
/// <param name="速度">回原点定位速度 (范围: 0 - 100000)</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , CancellationToken = default)
{
if (speed < 0 || speed > 100000)
throw new ArgumentOutOfRangeException(nameof(speed), $"回原点定位速度值 [{speed}] 超出合法范围 (0 - 100000)");
if ( < 0 || > 100000)
throw new ArgumentOutOfRangeException(nameof(), $"回原点定位速度值 [{速度}] 超出合法范围 (0 - 100000)");
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_HOME_POS_SPEED, Int32ToUshorts(speed), ct);
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_HOME_POS_SPEED, Int32ToUshorts(), );
}
/// <summary>
/// 查询当前设定的回原点定位速度
/// </summary>
public async Task<int> GetHomePositionSpeedAsync(CancellationToken ct = default)
/// <param name="取消令牌">取消令牌</param>
/// <returns>当前回原点定位速度值</returns>
public async Task<int> (CancellationToken = default)
{
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_HD_HOME_POS_SPEED, 2, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_HD_HOME_POS_SPEED, 2, );
if (registers == null || registers.Length < 2)
throw new InvalidOperationException("从 PLC 读取回原点定位速度失败,返回数据长度不足。");
@@ -187,39 +206,44 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置指定轴的运行速度(带 0 - 100000 范围检查)
/// </summary>
/// <param name="axis">1: X轴, 2: Y轴, 3: Z轴</param>
public async Task SetAxisSpeedAsync(int axis, int speed, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="速度">运行速度 (范围: 0 - 100000)</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , int , CancellationToken = default)
{
if (speed < 0 || speed > 100000)
throw new ArgumentOutOfRangeException(nameof(speed), $"轴速度设置值 [{speed}] 超出合法范围 (0 - 100000)");
if ( < 0 || > 100000)
throw new ArgumentOutOfRangeException(nameof(), $"轴速度设置值 [{速度}] 超出合法范围 (0 - 100000)");
ushort address = axis switch
ushort address = switch
{
1 => ADDR_HD_X_SPEED,
2 => ADDR_HD_Y_SPEED,
3 => ADDR_HD_Z_SPEED,
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof())
};
await WriteMultipleRegistersAsync(_slaveAddress, address, Int32ToUshorts(speed), ct);
await WriteMultipleRegistersAsync(_slaveAddress, address, Int32ToUshorts(), );
}
/// <summary>
/// 读取指定轴当前设定的运行速度
/// </summary>
public async Task<int> GetAxisSpeedAsync(int axis, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="取消令牌">取消令牌</param>
/// <returns>当前设定的运行速度值</returns>
public async Task<int> (int , CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_HD_X_SPEED,
2 => ADDR_HD_Y_SPEED,
3 => ADDR_HD_Z_SPEED,
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof())
};
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, );
if (registers == null || registers.Length < 2)
throw new InvalidOperationException($"从 PLC 读取轴 {axis} 速度失败。");
throw new InvalidOperationException($"从 PLC 读取轴 {轴编号} 速度失败。");
return UshortsToInt32(registers);
}
@@ -227,15 +251,18 @@ namespace DeviceCommand.Devices
/// <summary>
/// 写入指定轴的目标位置(动态安全校验:目标位置不能超过 [轴最大物理极限 - 当前轴原点设置值])
/// </summary>
public async Task SetAxisTargetPositionAsync(int axis, int targetPos, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="目标位置">目标位置</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , int , CancellationToken = default)
{
var (xHome, yHome, zHome) = await GetHomePositionAsync(ct);
var (xHome, yHome, zHome) = await ();
ushort targetAddress;
int maxLimit;
int currentHomePos;
switch (axis)
switch ()
{
case 1:
targetAddress = ADDR_HD_X_TARGET;
@@ -249,43 +276,46 @@ namespace DeviceCommand.Devices
break;
case 3:
targetAddress = ADDR_HD_Z_TARGET;
maxLimit = 20000;
maxLimit = 40000;
currentHomePos = zHome;
break;
default:
throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis));
throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof());
}
int allowedMaxLimit = maxLimit - currentHomePos;
if (targetPos < 0 || targetPos > allowedMaxLimit)
if ( < 0 || > allowedMaxLimit)
{
throw new ArgumentOutOfRangeException(
nameof(targetPos),
$"轴 {axis} 目标位置 [{targetPos}] 不合法!当前原点为 [{currentHomePos}],允许的有效写入范围为: 0 - {allowedMaxLimit}"
nameof(),
$"轴 {轴编号} 目标位置 [{目标位置}] 不合法!当前原点为 [{currentHomePos}],允许的有效写入范围为: 0 - {allowedMaxLimit}"
);
}
await WriteMultipleRegistersAsync(_slaveAddress, targetAddress, Int32ToUshorts(targetPos), ct);
await WriteMultipleRegistersAsync(_slaveAddress, targetAddress, Int32ToUshorts(), );
}
/// <summary>
/// 读取指定轴当前设定的目标指定位置
/// </summary>
public async Task<int> GetAxisTargetPositionAsync(int axis, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="取消令牌">取消令牌</param>
/// <returns>当前设定的目标位置值</returns>
public async Task<int> (int , CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_HD_X_TARGET,
2 => ADDR_HD_Y_TARGET,
3 => ADDR_HD_Z_TARGET,
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof())
};
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, );
if (registers == null || registers.Length < 2)
throw new InvalidOperationException($"从 PLC 读取轴 {axis} 目标位置失败。");
throw new InvalidOperationException($"从 PLC 读取轴 {轴编号} 目标位置失败。");
return UshortsToInt32(registers);
}
@@ -293,53 +323,101 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置系统紧停锁定状态 (true: 锁定激活, false: 解除锁定)
/// </summary>
public async Task SetEStopStateAsync(bool state, CancellationToken ct = default)
/// <param name="状态">true: 锁定激活, false: 解除锁定</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (bool , CancellationToken = default)
{
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_ESTOP, state, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_ESTOP, , );
}
/// <summary>
/// 设置指定轴的停止控制状态 (true: 持续输出停止信号, false: 释放停止信号)
/// </summary>
public async Task SetStopStateAsync(int axis, bool state, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="状态">true: 持续输出停止信号, false: 释放停止信号</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , bool , CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_M_X_STOP,
2 => ADDR_M_Y_STOP,
3 => ADDR_M_Z_STOP,
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis))
_ => throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof())
};
await WriteSingleCoilAsync(_slaveAddress, address, state, ct);
await WriteSingleCoilAsync(_slaveAddress, address, , );
}
/// <summary>
/// 全局回零(安全校验版:先检查回原点速度是否为 0,为0则拒绝触发)
/// 全局回零(安全校验版:先检查回原点速度是否为 0,为0则拒绝触发)
/// 回零完成后读取绝对位置寄存器保存为初始值,重置累计偏移。
/// </summary>
public async Task HomeAsync(CancellationToken ct = default)
/// <param name="回零点等待时间">回零点等待时间</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , CancellationToken = default)
{
int currentSpeed = await GetHomePositionSpeedAsync(ct);
int currentSpeed = await ();
if (currentSpeed == 0)
throw new InvalidOperationException("无法触发回原点!当前回原点定位速度为 0,请先设置合法的回零速度。");
await TriggerCoilAsync(ADDR_M_HOME_TRIGGER, ct);
// 1. 触发回零
await TriggerCoilAsync(ADDR_M_HOME_TRIGGER, );
// 2. 等待到达机械零点(绝对位置 = 0)
await (, );
await Task.Delay(500, );
// 3. 清零绝对位置寄存器
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS1_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS2_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS3_POS, Int32ToUshorts(0), );
// 4. 设置当前位置为机械零点 (0, 0, 0)
// 设置目标位置
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_TARGET, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_TARGET, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_TARGET, Int32ToUshorts(0), );
// 5. 读取配置的待定位置(原点位置)
var (xHome, yHome, zHome) = await ();
// 6. 移动到待定位置
if (xHome != 0 || yHome != 0 || zHome != 0)
{
_originX = xHome;
_originY = yHome;
_originZ = zHome;
// 启动三轴联动
await ();
}
// 8. 更新当前位置为待定位置
_originX = xHome;
_originY = yHome;
_originZ = zHome;
_isHomed = true;
}
/// <summary>
/// 单轴指定位置启动(含速度判定、使能自动补齐、动作目标位置独立范围校验)
/// </summary>
/// <param name="axis">1: X轴, 2: Y轴, 3: Z轴</param>
public async Task StartSingleAxisAsync(int axis, CancellationToken ct = default)
/// <param name="轴编号">1: X轴, 2: Y轴, 3: Z轴</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int , CancellationToken = default)
{
ushort startAddress;
int maxLimit;
int currentHomePos;
// 1. 获取基础参数与校验边界
var (xHome, yHome, zHome) = await GetHomePositionAsync(ct);
switch (axis)
var (xHome, yHome, zHome) = await ();
switch ()
{
case 1:
startAddress = ADDR_M_X_START;
@@ -353,53 +431,66 @@ namespace DeviceCommand.Devices
break;
case 3:
startAddress = ADDR_M_Z_START;
maxLimit = 20000;
maxLimit = 40000;
currentHomePos = zHome;
break;
default:
throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof(axis));
throw new ArgumentException("轴通道错误,仅支持 1(X), 2(Y), 3(Z)", nameof());
}
// 2. 检查动作轴的速度
int currentSpeed = await GetAxisSpeedAsync(axis, ct);
int currentSpeed = await (, );
if (currentSpeed == 0)
throw new InvalidOperationException($"轴 {axis} 无法启动!当前设定速度为 0。");
throw new InvalidOperationException($"轴 {轴编号} 无法启动!当前设定速度为 0。");
// 3. 检查动作轴使能,若为 false 则自动补写 true 激活驱动器
bool isEnabled = await GetAxisEnableAsync(axis, ct);
if (!isEnabled)
// 3. 批量检查 1~6 号轴使能状态,若任意轴未使能则全部补写 true
bool[] allEnableStates = await ReadCoilsAsync(_slaveAddress, ADDR_HM_AXIS1_ENABLE, 6, );
if (allEnableStates == null || allEnableStates.Length < 6)
throw new InvalidOperationException("从 PLC 读取 1~6 号轴使能状态失败。");
bool hasModifiedEnable = false;
ushort[] enableAddresses = { ADDR_HM_AXIS1_ENABLE, ADDR_HM_AXIS2_ENABLE, ADDR_HM_AXIS3_ENABLE, ADDR_HM_AXIS4_ENABLE, ADDR_HM_AXIS5_ENABLE, ADDR_HM_AXIS6_ENABLE };
for (int i = 0; i < 6; i++)
{
await SetAxisEnableAsync(axis, true, ct);
await Task.Delay(100, ct); // 等待硬件继电器响应与伺服驱动就绪
if (!allEnableStates[i])
{
await WriteSingleCoilAsync(_slaveAddress, enableAddresses[i], true, );
hasModifiedEnable = true;
}
}
if (hasModifiedEnable)
await Task.Delay(100, ); // 等待硬件继电器响应与伺服驱动就绪
// 4. 精准独立校验当前需要动作轴的目标定位是否越界
int currentTarget = await GetAxisTargetPositionAsync(axis, ct);
int currentTarget = await (, );
int allowedMaxLimit = maxLimit - currentHomePos;
if (currentTarget < 0 || currentTarget > allowedMaxLimit)
{
throw new ArgumentOutOfRangeException($"轴 {axis} 无法启动!当前指定目标位置 [{currentTarget}] 超过了允许的最大安全极限值 [{allowedMaxLimit}]。");
throw new ArgumentOutOfRangeException($"轴 {轴编号} 无法启动!当前指定目标位置 [{currentTarget}] 超过了允许的最大安全极限值 [{allowedMaxLimit}]。");
}
// 5. 校验完成,边缘触发点动启动
await TriggerCoilAsync(startAddress, ct);
await TriggerCoilAsync(startAddress, );
}
/// <summary>
/// 三轴同时启动(全开:严格校验全部运行轴速度、批量检测与补正1~6号轴使能、联动校验三轴目标范围极限)
/// </summary>
public async Task StartAllAxesAsync(CancellationToken ct = default)
/// <param name="取消令牌">取消令牌</param>
public async Task (CancellationToken = default)
{
// 1. 一次性读取三轴速度,严禁任何一轴速度为 0
int xSpeed = await GetAxisSpeedAsync(1, ct);
int ySpeed = await GetAxisSpeedAsync(2, ct);
int zSpeed = await GetAxisSpeedAsync(3, ct);
int xSpeed = await (1, );
int ySpeed = await (2, );
int zSpeed = await (3, );
if (xSpeed == 0 || ySpeed == 0 || zSpeed == 0)
throw new InvalidOperationException($"无法全开启动!存在运行速度为 0 的轴。当前速度 -> X:{xSpeed}, Y:{ySpeed}, Z:{zSpeed}");
// 2. 批量读取 1 ~ 6 号轴连续的使能状态线圈,极大地优化网络性能
bool[] enableStates = await ReadCoilsAsync(_slaveAddress, ADDR_HM_AXIS1_ENABLE, 6, ct);
bool[] enableStates = await ReadCoilsAsync(_slaveAddress, ADDR_HM_AXIS1_ENABLE, 6, );
if (enableStates == null || enableStates.Length < 6)
throw new InvalidOperationException("从 PLC 读取 1~6 号轴使能状态失败。");
@@ -410,49 +501,94 @@ namespace DeviceCommand.Devices
{
if (!enableStates[i])
{
await WriteSingleCoilAsync(_slaveAddress, enableAddresses[i], true, ct);
await WriteSingleCoilAsync(_slaveAddress, enableAddresses[i], true, );
hasModifiedEnable = true;
}
}
// 如果执行过使能补齐补齐写入,在循环外进行统一延时,保证PLC时序安全
if (hasModifiedEnable)
await Task.Delay(100, ct);
await Task.Delay(100, );
// 3. 获取三轴原点及当前设定的目标指定位置
var (xHome, yHome, zHome) = await GetHomePositionAsync(ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_X_START, true, );
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Y_START, true, );
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Z_START, true, );
int xTarget = await GetAxisTargetPositionAsync(1, ct);
int yTarget = await GetAxisTargetPositionAsync(2, ct);
int zTarget = await GetAxisTargetPositionAsync(3, ct);
await Task.Delay(100, ); // 保持高电平状态以适配 PLC 扫描周期
// X轴安全范围联动校验
int xMaxAllowed = 50000 - xHome;
if (xTarget < 0 || xTarget > xMaxAllowed)
throw new ArgumentOutOfRangeException(nameof(xTarget), $"X轴目标位置 [{xTarget}] 越界,当前原点下最大范围 0-{xMaxAllowed}");
// Y轴安全范围联动校验
int yMaxAllowed = 50000 - yHome;
if (yTarget < 0 || yTarget > yMaxAllowed)
throw new ArgumentOutOfRangeException(nameof(yTarget), $"Y轴目标位置 [{yTarget}] 越界,当前原点下最大范围 0-{yMaxAllowed}");
// Z轴安全范围联动校验
int zMaxAllowed = 20000 - zHome;
if (zTarget < 0 || zTarget > zMaxAllowed)
throw new ArgumentOutOfRangeException(nameof(zTarget), $"Z轴目标位置 [{zTarget}] 越界,当前原点下最大范围 0-{zMaxAllowed}");
// 4. 全部联动校验通过,三轴点动同步启动
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_X_START, true, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Y_START, true, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Z_START, true, ct);
await Task.Delay(100, ct); // 保持高电平状态以适配 PLC 扫描周期
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_X_START, false, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Y_START, false, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Z_START, false, ct);
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_X_START, false, );
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Y_START, false, );
await WriteSingleCoilAsync(_slaveAddress, ADDR_M_Z_START, false, );
}
/// <summary>
/// 三轴相对移动:以(初始绝对值 + 累计偏移 + 本次偏移)做越界校验,
/// 清零绝对位置寄存器后将偏移量写入目标寄存器,启动三轴联动,
/// 等待到达后清零目标寄存器并更新累计偏移。偏移量可为负值。
/// 调用前必须先执行回零()完成初始化。
/// </summary>
/// <param name="X偏移量">X轴相对偏移量(可为负)</param>
/// <param name="Y偏移量">Y轴相对偏移量(可为负)</param>
/// <param name="Z偏移量">Z轴相对偏移量(可为负)</param>
/// <param name="超时秒数">等待到达目标位置的最大超时时间(秒)</param>
/// <param name="取消令牌">取消令牌</param>
public async Task (int X偏移量, int Y偏移量, int Z偏移量, int = 60, CancellationToken = default)
{
if (!_isHomed)
throw new InvalidOperationException("尚未完成回零初始化,请先调用 回零() 方法。");
// 1. 越界校验:当前位置 + 本次偏移是否在合法范围
int targetAbsX = _originX + X偏移量;
int targetAbsY = _originY + Y偏移量;
int targetAbsZ = _originZ + Z偏移量;
if (targetAbsX > 50000)
throw new ArgumentOutOfRangeException(nameof(X偏移量),
$"X轴越界:当前 {_originX} + 偏移 {X偏移量} = {targetAbsX},最大范围 50000");
if (targetAbsY > 50000)
throw new ArgumentOutOfRangeException(nameof(Y偏移量),
$"Y轴越界:当前 {_originY} + 偏移 {Y偏移量} = {targetAbsY},最大范围 50000");
if (targetAbsZ > 40000)
throw new ArgumentOutOfRangeException(nameof(Z偏移量),
$"Z轴越界:当前 {_originZ} + 偏移 {Z偏移量} = {targetAbsZ},最大范围 40000");
// 2. 将偏移量写入目标位置寄存器(ABS已在上次移动后清零,目标 = 偏移量)
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_X_TARGET, Int32ToUshorts(X偏移量), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Y_TARGET, Int32ToUshorts(Y偏移量), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_HD_Z_TARGET, Int32ToUshorts(Z偏移量), );
// 3. 启动三轴联动
await ();
bool IsArrived= await (,);
if (IsArrived)
{
// 5. 到达后更新当前位置(累加偏移)
_originX += X偏移量;
_originY += Y偏移量;
_originZ += Z偏移量;
await ();
}
else
{
var pos = await ();
_originX += pos.Axis1;
_originY += pos.Axis6;
_originZ += pos.Axis2;
await ();
}
}
public async Task ( CancellationToken = default)
{
// 6. 清零 6 轴绝对位置寄存器
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS1_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS2_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS3_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS4_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS5_POS, Int32ToUshorts(0), );
await WriteMultipleRegistersAsync(_slaveAddress, ADDR_ABS_AXIS6_POS, Int32ToUshorts(0), );
}
#region
/// <summary>
@@ -492,10 +628,12 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取指定轴的绝对位置(相对原点的实时位置,只读)
/// </summary>
/// <param name="axis">轴编号 (1-6)</param>
public async Task<int> GetAbsolutePositionAsync(int axis, CancellationToken ct = default)
/// <param name="轴编号">轴编号 (1-6)</param>
/// <param name="取消令牌">取消令牌</param>
/// <returns>指定轴的绝对位置值</returns>
public async Task<int> (int , CancellationToken = default)
{
ushort address = axis switch
ushort address = switch
{
1 => ADDR_ABS_AXIS1_POS,
2 => ADDR_ABS_AXIS2_POS,
@@ -503,12 +641,12 @@ namespace DeviceCommand.Devices
4 => ADDR_ABS_AXIS4_POS,
5 => ADDR_ABS_AXIS5_POS,
6 => ADDR_ABS_AXIS6_POS,
_ => throw new ArgumentException("轴编号错误,仅支持 1-6", nameof(axis))
_ => throw new ArgumentException("轴编号错误,仅支持 1-6", nameof())
};
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, address, 2, );
if (registers == null || registers.Length < 2)
throw new InvalidOperationException($"读取轴 {axis} 绝对位置失败。");
throw new InvalidOperationException($"读取轴 {轴编号} 绝对位置失败。");
return UshortsToInt32(registers);
}
@@ -516,11 +654,12 @@ namespace DeviceCommand.Devices
/// <summary>
/// 批量读取 1-6 轴的绝对位置(一次性读取 22 个寄存器,高效)
/// </summary>
/// <param name="取消令牌">取消令牌</param>
/// <returns>返回 6 轴绝对位置元组</returns>
public async Task<(int Axis1, int Axis2, int Axis3, int Axis4, int Axis5, int Axis6)> GetAllAbsolutePositionsAsync(CancellationToken ct = default)
public async Task<(int Axis1, int Axis2, int Axis3, int Axis4, int Axis5, int Axis6)> (CancellationToken = default)
{
// 从 47232 开始连续读取 22 个寄存器(覆盖 47232-47253
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_ABS_AXIS1_POS, 22, ct);
ushort[] registers = await ReadHoldingRegistersAsync(_slaveAddress, ADDR_ABS_AXIS1_POS, 22, );
if (registers == null || registers.Length < 22)
throw new InvalidOperationException("批量读取 6 轴绝对位置失败,返回数据长度不足。");
@@ -536,5 +675,63 @@ namespace DeviceCommand.Devices
}
#endregion
#region
/// <summary>
/// 轮询等待三轴绝对位置均回到机械零点(容差 ±10),超时则抛出异常
/// </summary>
/// <param name="超时秒数">最大等待时间(秒)</param>
/// <param name="取消令牌">取消令牌</param>
[Browsable(false)]
public async Task (int , CancellationToken = default)
{
var deadline = DateTime.Now.AddSeconds();
while (DateTime.Now < deadline)
{
.ThrowIfCancellationRequested();
var pos = await ();
if (Math.Abs(pos.Axis1) <= 10
&& Math.Abs(pos.Axis6) <= 10
&& Math.Abs(pos.Axis2) <= 10)
return;
await Task.Delay(100, );
}
throw new TimeoutException($"等待 {超时秒数} 秒后,三轴仍未到达机械零点");
}
/// <summary>
/// 轮询等待三轴绝对位置均到达各自设定的目标位置(容差 ±10),超时则抛出异常
/// </summary>
/// <param name="超时秒数">最大等待时间(秒)</param>
/// <param name="取消令牌">取消令牌</param>
public async Task<bool> (int , CancellationToken = default)
{
var targetX = await (1, );
var targetY = await (2, );
var targetZ = await (3, );
var deadline = DateTime.Now.AddSeconds();
while (DateTime.Now < deadline)
{
.ThrowIfCancellationRequested();
var pos = await ();
if (Math.Abs(pos.Axis1 - targetX) <= 10
&& Math.Abs(pos.Axis6 - targetY) <= 10
&& Math.Abs(pos.Axis2 - targetZ) <= 10)
return true;
await Task.Delay(100, );
}
throw new TimeoutException($"等待 {超时秒数} 秒后,三轴仍未到达指定位置 (X:{targetX}, Y:{targetY}, Z:{targetZ})");
}
#endregion
}
}
+2 -1
View File
@@ -23,7 +23,8 @@ namespace DeviceCommand.Devices
public async Task (byte , ushort , bool data)
{
await Modbus.WriteSingleCoilAsync(, , data);
bool[] mydata = { data };
await (, , mydata);
}
public async Task (byte , ushort , bool[] datas)
{
+21 -11
View File
@@ -52,37 +52,37 @@ namespace DeviceCommand.Devices
{ 1, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(1, 5) }, // Y6 -> 5
{ ., new IoPortInfo(1, 0) }, // Y1 -> 0
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 15) } // Y9 -> 8
}},
{ 2, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(1, 6) }, // Y7 -> 6
{ ., new IoPortInfo(1, 2) }, // Y3 -> 2
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 1) }, // Y3 -> 2
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 14) } // Y10 -> 9
}},
{ 3, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(1, 7) }, // Y8 -> 7
{ ., new IoPortInfo(1, 3) }, // Y4 -> 3
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 2) }, // Y4 -> 3
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 13) } // Y11 -> 10
}},
{ 4, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(1, 8) }, // Y9 -> 8
{ ., new IoPortInfo(1, 4) }, // Y5 -> 4
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 3) }, // Y5 -> 4
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 12) } // Y12 -> 11
}},
{ 5, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(2, 4) }, // Y5 -> 4
{ ., new IoPortInfo(2, 0) }, // Y1 -> 0
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 11) } // Y13 -> 12
}},
{ 6, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(2, 5) }, // Y6 -> 5
{ ., new IoPortInfo(2, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1,4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 10) } // Y14 -> 13
}},
{ 7, new Dictionary<, IoPortInfo> {
@@ -94,7 +94,7 @@ namespace DeviceCommand.Devices
{ 8, new Dictionary<, IoPortInfo> {
{ ., new IoPortInfo(2, 7) }, // Y8 -> 7
{ ., new IoPortInfo(2, 3) }, // Y4 -> 3
{ ., new IoPortInfo(1, 1) }, // Y2 -> 1
{ ., new IoPortInfo(1, 4) }, // Y2 -> 1
{ ., new IoPortInfo(2, 8) } // Y16 -> 15
}}
};
@@ -141,7 +141,17 @@ namespace DeviceCommand.Devices
IOBoard = GetBoardInstance(io信息.ModuleIndex);
await .(_slaveAddress, io信息.Address, );
}
/// <summary>
/// 执行指定台架的功能动作控制(带高低电平开关及底层安全互锁)
/// </summary>
/// <param name="板卡序号">板卡序号 (0 - 1)</param>
/// <param name="开始地址">寄存器初始地址(0-15)</param>
/// <param name="数据">开关状态数组 (true: 开启吸合, false: 关闭断开)[true,true,false]</param>
/// <param name="取消令牌">异步取消令牌</param>
public async Task (int ,byte , ushort , bool[] , CancellationToken = default)
{
await GetBoardInstance().(, , );
}
/// <summary>
/// 内部路由辅助方法:根据板卡索引安全获取当前连接的实例对象
/// </summary>
+195 -13
View File
@@ -38,6 +38,21 @@ namespace DeviceCommand.Devices
CURRent
}
/// <summary>
/// 设备相位/输出模式[cite: 2]
/// </summary>
public enum DevicePhaseMode
{
/// <summary> 单相模式 </summary>
ONE,
/// <summary> 三相模式 </summary>
THRee,
/// <summary> 反相模式 </summary>
DIFFerence,
/// <summary> 多通道模式 </summary>
MULTichannel
}
#endregion
[ADPCommand]
@@ -52,21 +67,39 @@ namespace DeviceCommand.Devices
#region 1. IEEE 488.2
/// <summary>
/// 清除错误队列和状态字节
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*CLS{ScpiDelimiter}", ct); //[cite: 1]
}
/// <summary>
/// 查询设备标识
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>设备标识字符串(制造商, 产品型号, 序列号, 固件版本)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*IDN?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 重置设备
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*RST{ScpiDelimiter}", ct); //[cite: 1]
}
/// <summary>
/// 读取状态字节
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>状态字节寄存器值</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*STB?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -79,6 +112,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置电源输出源的电气模式/工作耦合模式 (AC, DC, ACDC, DCAC)[cite: 1]
/// </summary>
/// <param name="模式">电气耦合模式 (AC/DC/ACDC/DCAC)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (PowerCouplingMode , CancellationToken ct = default)
{
await SendAsync($":SOURce:FUNCtion {模式}{ScpiDelimiter}", ct); //[cite: 1]
@@ -87,17 +122,29 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询电源当前的工作电气模式[cite: 1]
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>当前工作电气模式字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($":SOURce:FUNCtion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 设置DC输出开关
/// </summary>
/// <param name="开启">true: 开启输出, false: 关闭输出</param>
/// <param name="ct">取消令牌</param>
public virtual async Task DC输出(bool , CancellationToken ct = default)
{
string = ? "ON" : "OFF"; //[cite: 1]
await SendAsync($":OUTPut {参数}{ScpiDelimiter}", ct); //[cite: 1]
}
/// <summary>
/// 查询DC输出状态
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>输出状态字符串(ON 或 OFF</returns>
public virtual async Task<string> DC输出状态(CancellationToken ct = default)
{
return await WriteReadAsync($":OUTPut?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -107,24 +154,44 @@ namespace DeviceCommand.Devices
#region 3. (AC //DC )
/// <summary>
/// 设置交流电压
/// </summary>
/// <param name="电压">交流电压设定值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:VOLTage {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
/// <summary>
/// 设置直流电压
/// </summary>
/// <param name="电压">直流电压设定值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:VOLTage:DC {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
/// <summary>
/// 设置频率
/// </summary>
/// <param name="频率">频率设定值 (单位: Hz)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:FREQuency {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
/// <summary>
/// 设置电流
/// </summary>
/// <param name="电流">电流设定值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:CURRent {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
@@ -135,70 +202,132 @@ namespace DeviceCommand.Devices
#region 4.
/// <summary>
/// 查询实际电压
/// </summary>
/// <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>
/// 查询实际电流
/// </summary>
/// <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>
/// 查询实际功率
/// </summary>
/// <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;
}
public virtual async Task<string> (CancellationToken ct = default)
/// <summary>
/// 查询视在功率
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>视在功率测量值 (单位: VA)</returns>
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;
}
public virtual async Task<string> (CancellationToken ct = default)
/// <summary>
/// 查询实际频率
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>实际频率测量值 (单位: Hz)</returns>
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;
}
public virtual async Task<string> (CancellationToken ct = default)
/// <summary>
/// 查询功率因数
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>功率因数测量值</returns>
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.
/// <summary>
/// 设置过流保护_OCP
/// </summary>
/// <param name="电流">过流保护阈值 (单位: A, RMS值)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _OCP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:CURRent:PROTection:RMS {0:F3}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
/// <summary>
/// 设置过压保护_OVP
/// </summary>
/// <param name="电压">过压保护阈值 (单位: V, 峰值)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _OVP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:VOLTage:PROTection:PEAK {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
await SendAsync(cmd, ct);
}
/// <summary>
/// 查询错误信息
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>错误代码和描述信息</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($":SYSTem:ERRor?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
}
/// <summary>
/// 切换远程控制模式
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($":SYSTem:REMote{ScpiDelimiter}", ct); //[cite: 1]
}
/// <summary>
/// 切换本地控制模式
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($":SYSTem:LOCal{ScpiDelimiter}", ct); //[cite: 1]
}
/// <summary>
/// 清除保护告警
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($":OUTPut:PROTection:CLEar{ScpiDelimiter}", ct); //[cite: 1]
@@ -211,6 +340,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 清除最近的安时(Ah)与瓦时(Wh)统计数据[cite: 1]
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"SENSe:AHOur:RESet{ScpiDelimiter}", ct); //[cite: 1]
@@ -220,6 +350,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取当前充放电累计的安时值 (单位: Ah)[cite: 1]
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>累计安时值 (单位: Ah)</returns>
public virtual async Task<string> _Ah(CancellationToken ct = default)
{
return await WriteReadAsync($"FETCh:AHOur?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -228,6 +360,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取当前充放电累计的瓦时值 (单位: Wh)[cite: 1]
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>累计瓦时值 (单位: Wh)</returns>
public virtual async Task<string> _Wh(CancellationToken ct = default)
{
return await WriteReadAsync($"FETCh:WHOur?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -236,6 +370,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取充放电积分持续时间 (单位: 秒)[cite: 1]
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>积分持续时间 (单位: 秒)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"FETCh:ENERgy:TIME?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -244,6 +380,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 切换设备的操作模式 (VOLTage: 电源模式, LOAD: 负载模式/放电, CURRent: 电流源)[cite: 1]
/// </summary>
/// <param name="模式">操作模式 (VOLTage/LOAD/CURRent)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (DeviceOperationMode , CancellationToken ct = default)
{
await SendAsync($"SYSTem:OPERation:MODE {模式}{ScpiDelimiter}", ct); //[cite: 1]
@@ -252,6 +390,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置放电截止电压/电压下限 (单位: V,用于防止电池过放)[cite: 1]
/// </summary>
/// <param name="电压">放电截止电压/电压下限 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, ":SOURce:VOLTage:LIMit:LOW {0:F2}{1}", , ScpiDelimiter); //[cite: 1]
@@ -259,5 +399,47 @@ namespace DeviceCommand.Devices
}
#endregion
#region 7. (//)[cite: 2]
/// <summary>
/// 设置电源相位输出模式 (ONE:单相 / THRee:三相 / DIFFerence:反相 / MULTichannel:多通道)[cite: 2]
/// </summary>
/// <param name="模式">相位输出模式</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (DevicePhaseMode , CancellationToken ct = default)
{
await SendAsync($"SYSTem:FUNCtion {模式}{ScpiDelimiter}", ct); //[cite: 2]
}
/// <summary>
/// 切换为单相模式 (SYST:FUNC ONE)[cite: 2]
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"SYSTem:FUNCtion ONE{ScpiDelimiter}", ct); //[cite: 2]
}
/// <summary>
/// 切换为反相模式 (SYST:FUNC DIFFerence)[cite: 2]
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"SYSTem:FUNCtion DIFFerence{ScpiDelimiter}", ct); //[cite: 2]
}
/// <summary>
/// 查询当前输出模式 (单相/三相/反相/多通道)[cite: 2]
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>返回 ONE, THRee, DIFFerence 或 MULTichannel[cite: 2]</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"SYSTem:FUNCtion?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 2]
}
#endregion
}
}
+104 -6
View File
@@ -3,6 +3,7 @@ using DeviceCommand.Base;
using Model.Models;
using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
@@ -22,11 +23,31 @@ namespace DeviceCommand.Devices
{
}
/// <summary>
/// 从设备返回的 SCPI 响应字符串中提取数值部分并转换为 double。
/// 先按逗号分割取数据段,再提取数值。
/// </summary>
private static double ExtractDouble(string raw)
{
if (string.IsNullOrWhiteSpace(raw)) return 0;
string dataPart = raw;
int commaIdx = raw.LastIndexOf(',');
if (commaIdx >= 0 && commaIdx < raw.Length - 1)
dataPart = raw.Substring(commaIdx + 1);
var match = Regex.Match(dataPart, @"[+-]?(?:\d+\.?\d*|\.\d+)(?:[Ee][+-]?\d+)?");
return match.Success && double.TryParse(match.Value, NumberStyles.Float, CultureInfo.InvariantCulture, out double val)
? val
: 0;
}
#region 3.1. IEEE 488.2
/// <summary>
/// 3.1.1. 清除标准事件状态寄存器和错误队列
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*CLS{ScpiDelimiter}", ct);
@@ -35,6 +56,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.4. 读取直流电源相关信息(制造商、产品型号、系统 SN、软件版本号)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>设备标识字符串(制造商, 产品型号, 序列号, 固件版本)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*IDN?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -43,6 +66,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.7. 恢复出厂设置 (注意:设备重置保存数据大约需要 10 秒)
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*RST{ScpiDelimiter}", ct);
@@ -51,6 +75,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.8. 读取状态字节寄存器(只读寄存器,读取时不会清除位)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>状态字节寄存器值</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*STB?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -63,6 +89,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.1. 设定输出电压值 (单位: V)
/// </summary>
/// <param name="电压">输出电压设定值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:VOLTage {0:F3}{1}", , ScpiDelimiter);
@@ -72,6 +100,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.1. 查询输出电压设定值 (单位: V)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>输出电压设定值 (单位: V)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"SOURce:VOLTage?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -80,6 +110,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.2. 设置输出限流值 (单位: A)
/// </summary>
/// <param name="电流">输出限流设定值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:CURRent {0:F3}{1}", , ScpiDelimiter);
@@ -89,6 +121,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.2. 查询输出限流值设定值 (单位: A)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>输出限流设定值 (单位: A)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"SOURce:CURRent?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -97,6 +131,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.3. 设置输出模拟内阻值 (单位: mΩ)
/// </summary>
/// <param name="内阻">模拟内阻设定值 (单位: mΩ)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:INTErnalres {0:F1}{1}", , ScpiDelimiter);
@@ -106,6 +142,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.4. 保存当前测试参数到指定存储组 (范围: 1-10)
/// </summary>
/// <param name="组别">存储组编号 (范围: 1-10)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int , CancellationToken ct = default)
{
if ( < 1 || > 10) throw new ArgumentOutOfRangeException(nameof(), "组别有效范围为 1~10");
@@ -115,6 +153,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.5. 调用指定存储组的测试参数 (范围: 1-10)
/// </summary>
/// <param name="组别">存储组编号 (范围: 1-10)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int , CancellationToken ct = default)
{
if ( < 1 || > 10) throw new ArgumentOutOfRangeException(nameof(), "组别有效范围为 1~10");
@@ -128,6 +168,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.1. 控制电源输出开关 (True: 开启, False: 关闭)
/// </summary>
/// <param name="开启">true: 开启输出, false: 关闭输出</param>
/// <param name="ct">取消令牌</param>
public virtual async Task DC输出(bool , CancellationToken ct = default)
{
string = ? "ON" : "OFF";
@@ -137,6 +179,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.1. 查询电源输出开关状态 (返回 "ON" 或 "OFF")
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>输出开关状态字符串("ON" 或 "OFF"</returns>
public virtual async Task<string> DC输出开关状态(CancellationToken ct = default)
{
return await WriteReadAsync($"OUTPut:ONOFF?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -146,6 +190,8 @@ namespace DeviceCommand.Devices
/// 3.3.2. 设定电源工作模式
/// (NORMal: 普通模式, CHARge: 电池充电, SEQuence: 序列模式, CPOWer: 恒功率模式, CARWave: 汽车测试, APG: 外部编程)
/// </summary>
/// <param name="模式">工作模式 (NORMal/CHARge/SEQuence/CPOWer/CARWave/APG)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (string , CancellationToken ct = default)
{
await SendAsync($"OUTPut:MODE {模式}{ScpiDelimiter}", ct);
@@ -154,6 +200,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.2. 查询电源当前运行工作模式
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>当前运行工作模式字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"OUTPut:MODE?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -162,6 +210,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.11. 设置电源输出 CV/CC 优先权 (CV 或 CC)
/// </summary>
/// <param name="优先模式">优先模式,只能为 "CV" 或 "CC"</param>
/// <param name="ct">取消令牌</param>
public virtual async Task CVCC优先权(string , CancellationToken ct = default)
{
if ( != "CV" && != "CC") throw new ArgumentException("优先模式只能为 'CV' 或 'CC'");
@@ -171,6 +221,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.12. 获取电源状态字(通过解析返回整数的二进制 Bit 位获取全状态环路及告警)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>电源状态字(整数字符串,通过二进制位标识各状态及告警)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"OUTPut:STATe?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -179,6 +231,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.13. 获取电源事件告警状态值 (返回整数通过位定义标识 UVP/OVP/OCP/OPP/OTP)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>事件告警状态值(整数字符串,通过位定义标识 UVP/OVP/OCP/OPP/OTP</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"OUTPut:EVENT?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -187,6 +241,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.13. 清除当前的告警状态
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"OUTPut:EVENT 0{ScpiDelimiter}", ct);
@@ -195,6 +250,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.16. 打开/关闭设备定时关机功能
/// </summary>
/// <param name="开启">true: 开启定时关机, false: 关闭定时关机</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool , CancellationToken ct = default)
{
string = ? "ON" : "OFF";
@@ -204,6 +261,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.17. 设定设备定时关机倒计时时间 (单位: s)
/// </summary>
/// <param name="秒数">定时关机倒计时时间 (单位: s)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "OUTPut:TIMing:DWELI {0:F1}{1}", , ScpiDelimiter);
@@ -213,6 +272,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.3.18. 控制泄放电路(Bleeder)开关状态
/// </summary>
/// <param name="开启">true: 开启泄放电路, false: 关闭泄放电路</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool , CancellationToken ct = default)
{
string = ? "ON" : "OFF";
@@ -226,33 +287,44 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.4.1. 回读通道输出端子上的实时测得电压值 (单位: V)
/// </summary>
/// <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);
string res = await WriteReadAsync($"MEASure:VOLTage?{ScpiDelimiter}", ScpiDelimiter, ct);
return ExtractDouble(res);
}
/// <summary>
/// 3.4.2. 回读通道输出端子上的实时测得电流值 (单位: A)
/// </summary>
/// <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);
string res = await WriteReadAsync($"MEASure:CURRent?{ScpiDelimiter}", ScpiDelimiter, ct);
return ExtractDouble(res);
}
/// <summary>
/// 3.4.3. 回读通道输出端子上的实时测得功率值 (单位: W)
/// </summary>
/// <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);
string res = await WriteReadAsync($"MEASure:POWer?{ScpiDelimiter}", ScpiDelimiter, ct);
return ExtractDouble(res);
}
/// <summary>
/// 3.4.4. 回读电池充电模式下当前累计已充入的容量值 (单位: mAh)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>累计已充入容量值 (单位: mAh)</returns>
public virtual async Task<string> MAH(CancellationToken ct = default)
{
return await WriteReadAsync($"MEASure:MAH?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -261,6 +333,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.4.5. 获取当前电源的硬件额定电压上限值 (单位: V)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>硬件额定电压上限值 (单位: V)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"MEASure:VOLTage:MAXimum?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -269,6 +343,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.4.6. 获取当前电源的硬件额定电流上限值 (单位: A)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>硬件额定电流上限值 (单位: A)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"MEASure:CURRent:MAXimum?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -281,6 +357,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.1. 设置欠压保护门限值 (单位: V)
/// </summary>
/// <param name="电压">欠压保护门限值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _UVP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "PROTect:LESS:VOLTage {0:F3}{1}", , ScpiDelimiter);
@@ -290,6 +368,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.4. 设置过压保护门限值 (单位: V)
/// </summary>
/// <param name="电压">过压保护门限值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _OVP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "PROTect:OVER:VOLTage {0:F3}{1}", , ScpiDelimiter);
@@ -299,6 +379,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.6. 设置硬件硬件过流保护硬指标参数 (单位: A)
/// </summary>
/// <param name="电流">过流保护硬指标参数 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _OCP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "PROTect:CURRent {0:F3}{1}", , ScpiDelimiter);
@@ -308,6 +390,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.8. 设置硬件过功率保护门限值 (单位: W)
/// </summary>
/// <param name="功率">过功率保护门限值 (单位: W)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task _OPP(double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "PROTect:POWer {0:F3}{1}", , ScpiDelimiter);
@@ -317,6 +401,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.12. 设置可调节的用户软输出电压下限值 (单位: V)
/// </summary>
/// <param name="电压">输出电压下限值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:VOLTage:LEVel:LIMit:LOW {0:F3}{1}", , ScpiDelimiter);
@@ -326,6 +412,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.13. 设置可调节的用户软输出电压上限值 (单位: V)
/// </summary>
/// <param name="电压">输出电压上限值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:VOLTage:LEVel:LIMit {0:F3}{1}", , ScpiDelimiter);
@@ -335,6 +423,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.14. 设置可调节的用户软输出电流下限值 (单位: A)
/// </summary>
/// <param name="电流">输出电流下限值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:CURRent:LEVel:LIMit:LOW {0:F3}{1}", , ScpiDelimiter);
@@ -344,6 +434,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.15. 设置可调节的用户软输出电流上限值 (单位: A)
/// </summary>
/// <param name="电流">输出电流上限值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "SOURce:CURRent:LEVel:LIMit {0:F3}{1}", , ScpiDelimiter);
@@ -357,6 +449,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.1. 设定恒功率工作模式下的限定电压值 (单位: V)
/// </summary>
/// <param name="电压">恒功率模式限定电压值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CPOWer:VOLTage {0:F3}{1}", , ScpiDelimiter);
@@ -366,6 +460,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.2. 设定恒功率工作模式下的限定电流值 (单位: A)
/// </summary>
/// <param name="电流">恒功率模式限定电流值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CPOWer:CURRent {0:F3}{1}", , ScpiDelimiter);
@@ -375,6 +471,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.3. 设定恒功率工作模式下的运行功率目标值 (单位: W)
/// </summary>
/// <param name="功率">恒功率模式运行功率目标值 (单位: W)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "CPOWer:POWer {0:F3}{1}", , ScpiDelimiter);
+82 -14
View File
@@ -30,6 +30,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 建立 TCP 连接,成功后自动激活心跳
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>连接是否成功</returns>
public new async Task<bool> ConnectAsync(CancellationToken ct = default)
{
bool isConnected = await base.ConnectAsync(ct);
@@ -124,6 +126,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.1 读取电源的相关信息(制造商, 产品标号, 产品序列号, 软件版本号)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>设备标识字符串(制造商, 产品标号, 产品序列号, 软件版本号)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*IDN?{SCPIDelimiter}", SCPIDelimiter, ct);
@@ -132,6 +136,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.2 从指定的单位中恢复 *SAV 命令保存的设定值 (参数:1~99)
/// </summary>
/// <param name="组别">存储组编号 (范围: 1~99)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int , CancellationToken ct = default)
{
if ( < 1 || > 99) throw new ArgumentOutOfRangeException(nameof(), "组别有效范围为 1~99");
@@ -141,6 +147,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.3 将仪器当前系统状态保存到非易失性内存中 (参数:1~99)
/// </summary>
/// <param name="组别">存储组编号 (范围: 1~99)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int , CancellationToken ct = default)
{
if ( < 1 || > 99) throw new ArgumentOutOfRangeException(nameof(), "组别有效范围为 1~99");
@@ -150,6 +158,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.4 远程控制触发一次
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*TRG{SCPIDelimiter}", ct);
@@ -158,6 +167,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.1.5 返回状态、采集电压、采集电流 (格式: 状态码,电压值,电流值)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>状态码,电压值,电流值的组合字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*ALL?{SCPIDelimiter}", SCPIDelimiter, ct);
@@ -170,6 +181,9 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.1 设置输出电压和输出电流值
/// </summary>
/// <param name="电压">输出电压设定值 (单位: V)</param>
/// <param name="电流">输出电流设定值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , double , CancellationToken ct = default)
{
// 修正:去除前缀冒号,规范应用 APPL 短格式
@@ -180,6 +194,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.2.1 查询当前设定的输出电压和电流值
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>当前输出电压和电流设定值的组合字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -193,50 +209,59 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.5.1 查询通道输出端子上测得的直流电流值 (A)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>实测直流电流值 (单位: A)</returns>
[Monitorable("低压直流电源电流")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 MEAS:CURR?
return await WriteReadAsync($"MEAS:CURR?{SCPIDelimiter}", SCPIDelimiter, ct);
string response = await WriteReadAsync($"MEAS:CURR?{SCPIDelimiter}", SCPIDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
/// 3.5.2 查询通道输出端子上测得的直流功率值 (W)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>实测直流功率值 (单位: W)</returns>
[Monitorable("低压直流电源功率")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 MEAS:POW?
return await WriteReadAsync($"MEAS:POW?{SCPIDelimiter}", SCPIDelimiter, ct);
string response = await WriteReadAsync($"MEAS:POW?{SCPIDelimiter}", SCPIDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
/// 3.5.3 查询通道输出端子上测得的直流电压值 (V)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>实测直流电压值 (单位: V)</returns>
[Monitorable("低压直流电源电压")]
public virtual async Task<string> (CancellationToken ct = default)
public virtual async Task<double> (CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 MEAS:VOLT?
return await WriteReadAsync($"MEAS:VOLT?{SCPIDelimiter}", SCPIDelimiter, ct);
string response = await WriteReadAsync($"MEAS:VOLT?{SCPIDelimiter}", SCPIDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
/// <summary>
/// 3.5.4 查询通道输出端子上测得的电压、电流和功率的组合值
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>电压、电流和功率的组合值字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
// 修正:去除前缀冒号
return await WriteReadAsync($"MEAS:VAP?{SCPIDelimiter}", SCPIDelimiter, ct);
}
/// <summary>
/// 3.5.5 查询通道输出端子上测得的输出时间长度
/// </summary>
public virtual async Task<string> (CancellationToken ct = default)
/// <param name="ct">取消令牌</param>
/// <returns>输出时间长度</returns>
public virtual async Task<double> (CancellationToken ct = default)
{
// 修正:去除前缀冒号
return await WriteReadAsync($"MEAS:TIME:OUTP?{SCPIDelimiter}", SCPIDelimiter, ct);
string response = await WriteReadAsync($"MEAS:TIME:OUTP?{SCPIDelimiter}", SCPIDelimiter, ct);
return double.TryParse(response, out double result) ? result : double.NaN;
}
#endregion
@@ -246,6 +271,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.1 设置电源输出开关
/// </summary>
/// <param name="开启">true: 开启输出, false: 关闭输出</param>
/// <param name="ct">取消令牌</param>
public virtual async Task DC输出(bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用 OUTP 短格式
@@ -256,6 +283,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.1 查询通道输出状态 (返回 ON 或 OFF)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>通道输出状态字符串("ON" 或 "OFF"</returns>
public virtual async Task<string> DC输出状态(CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -265,6 +294,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.2 控制电源输出定时器的开关状态
/// </summary>
/// <param name="开启">true: 开启定时器, false: 关闭定时器</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -275,6 +306,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.3 设定电源输出定时器的时间 (单位: s, 范围: 0.1 ~ 999999.9)
/// </summary>
/// <param name="秒数">定时器时间 (单位: s, 范围: 0.1 ~ 999999.9)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -285,6 +318,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.6.4 设定电源输出的模式优先权 (CV优先 或 CC优先)
/// </summary>
/// <param name="是CV优先">true: CV优先, false: CC优先</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool CV优先, CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -299,6 +334,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.1.1 清除输出电流保护(OCP)电路状态
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -308,6 +344,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.1.2 使能或禁止当前输出电流保护(OCP)电路
/// </summary>
/// <param name="启用">true: 使能OCP, false: 禁止OCP</param>
/// <param name="ct">取消令牌</param>
public virtual async Task 使(bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号,将 STATE 改为更常用的 STAT 简写
@@ -318,6 +356,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.1.4 设置输出电流保护(OCP)阀值 (A)
/// </summary>
/// <param name="电流">OCP 保护阀值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号。按 NGI 通用指令树,加上层级限制或者直接作用于 CURR:PROT
@@ -328,6 +368,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.1.7 设置电源的输出电流值 (A)
/// </summary>
/// <param name="电流">输出电流设定值 (单位: A)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 CURR 短格式
@@ -338,6 +380,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.2.1 清除输出电压保护(OVP)电路状态
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -347,6 +390,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.2.2 使能或禁止当前输出电压保护(OVP)电路
/// </summary>
/// <param name="启用">true: 使能OVP, false: 禁止OVP</param>
/// <param name="ct">取消令牌</param>
public virtual async Task 使(bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -357,6 +402,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.2.4 设置输出电压保护(OVP)阀值 (V)
/// </summary>
/// <param name="电压">OVP 保护阀值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -367,6 +414,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.2.7 设置电源的输出电压值 (V)
/// </summary>
/// <param name="电压">输出电压设定值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 VOLT 短格式
@@ -377,23 +426,30 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.2.8 设定电压输出范围的上限电压值 (V)
/// </summary>
/// <param name="电压">上限电压值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号
string cmd = string.Format(CultureInfo.InvariantCulture, "VOLT:LIM {0:F3}{1}", , SCPIDelimiter);
await SendAsync(cmd, ct);
}
/// <summary>
/// 3.7.2.9 清除电压上限限制(恢复为设备物理允许的最大电压值)
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 发送 MAXimum 设为最大值以达到清除限制的效果
// 发送 MAXimum 设为最大值以达到"清除限制"的效果
await SendAsync($"VOLT:LIMIT MAX{SCPIDelimiter}", ct); // 对应手册 3.7.2.8
}
/// <summary>
/// 3.7.3.1 设置输出功率值 (W)
/// </summary>
/// <param name="功率">输出功率设定值 (单位: W)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double , CancellationToken ct = default)
{
// 修正:去除前缀冒号,改用标准 POW 短格式
@@ -404,6 +460,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.7.3.2 禁止或使能当前恒功率(CP)输出
/// </summary>
/// <param name="启用">true: 使能恒功率输出, false: 禁止恒功率输出</param>
/// <param name="ct">取消令牌</param>
public virtual async Task 使(bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -418,6 +476,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.1 控制蜂鸣器开关
/// </summary>
/// <param name="开启">true: 开启蜂鸣器, false: 关闭蜂鸣器</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool , CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -428,6 +488,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.2 使蜂鸣器强制鸣叫一声
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -437,6 +498,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.4 查询仪器当前出错记录数量 (最大 18 组)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>当前出错记录数量(最大 18 组)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -446,6 +509,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.5 读取仪器的出错信息 (成功返回 0,"No error")
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>错误代码和描述信息(成功返回 0,"No error"</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -455,6 +520,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.7 设置电源为面板控制模式 (本地 Local 状态,前面板按键可用)
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -464,6 +530,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.8 设置电源为远程控制模式 (Remote 状态)
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
@@ -473,6 +540,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 3.9.9 通过通信接口设置电源为远程控制锁定模式
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
// 修正:去除前缀冒号
File diff suppressed because it is too large Load Diff
+94 -7
View File
@@ -4,6 +4,7 @@ using Model.Models;
using System;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
@@ -22,11 +23,35 @@ namespace DeviceCommand.Devices
{
}
/// <summary>
/// 从示波器返回的 SCPI 响应字符串中提取数值部分并转换为 double。
/// 响应格式示例: "C1:PAVA PKPK,2.48E-03V" → 按逗号分割后提取 2.48E-03
/// </summary>
/// <param name="raw">示波器返回的原始字符串</param>
/// <returns>提取到的数值,解析失败时返回 0</returns>
private static double ExtractDouble(string raw)
{
if (string.IsNullOrWhiteSpace(raw)) return 0;
string dataPart = raw;
// 按逗号分割,取最后一段(数值通常在逗号后面)
int commaIdx = raw.LastIndexOf(',');
if (commaIdx >= 0 && commaIdx < raw.Length - 1)
dataPart = raw.Substring(commaIdx + 1);
// 从数据段中提取数值(含正负号、小数点、科学计数法)
var match = Regex.Match(dataPart, @"[+-]?(?:\d+\.?\d*|\.\d+)(?:[Ee][+-]?\d+)?");
return match.Success && double.TryParse(match.Value, NumberStyles.Float, CultureInfo.InvariantCulture, out double val)
? val
: 0;
}
#region 1. IEEE 488.2
/// <summary>
/// 清除标准事件状态寄存器和错误队列
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*CLS{ScpiDelimiter}", ct);
@@ -34,6 +59,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询错误信息
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>错误代码和描述信息</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($":SYSTem:ERRor?{ScpiDelimiter}", ScpiDelimiter, ct); //[cite: 1]
@@ -41,6 +68,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取示波器识别字符串(制造商、型号、序列号、固件版本)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>设备标识字符串(制造商, 型号, 序列号, 固件版本)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*IDN?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -49,6 +78,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 复位命令。使示波器恢复到默认的出厂设置
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*RST{ScpiDelimiter}", ct);
@@ -57,6 +87,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询先前操作是否完成。
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>true: 操作已完成, false: 操作仍在执行中</returns>
public virtual async Task<bool> _OPC(CancellationToken ct = default)
{
string res = await WriteReadAsync($"*OPC?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -70,6 +102,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 控制示波器开始捕获波形
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task _RUN(CancellationToken ct = default)
{
await SendAsync($":TRIGger:RUN{ScpiDelimiter}", ct);
@@ -78,6 +111,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 停止捕获波形
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task _STOP(CancellationToken ct = default)
{
await SendAsync($"TRIGger:STOP{ScpiDelimiter}", ct);
@@ -86,6 +120,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 强制示波器进入单次触发捕获模式
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task _SINGLE(CancellationToken ct = default)
{
await SendAsync($":TRIGger:MODE SINGle{ScpiDelimiter}", ct);
@@ -94,6 +129,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 触发一次波形采样
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"::TRIGger:MODE FTRIG{ScpiDelimiter}", ct);
@@ -136,6 +172,9 @@ namespace DeviceCommand.Devices
/// <summary>
/// 开启或关闭指定的模拟通道 (符合手册 57 页规范)
/// </summary>
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="enable">true: 开启通道, false: 关闭通道</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int channel, bool enable, CancellationToken ct = default)
{
string state = enable ? "ON" : "OFF";
@@ -145,6 +184,9 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置指定通道的垂直电压档位 (Volts/Div)
/// </summary>
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="volts">电压档位 (Volts/Div)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int channel, double volts, CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "C{0}:VDIV {1:F4}{2}", channel, volts, ScpiDelimiter);
@@ -154,14 +196,21 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询指定通道当前的电压档位
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="ct">取消令牌</param>
/// <returns>当前电压档位值 (Volts/Div)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
return await WriteReadAsync($"C{channel}:VDIV?{ScpiDelimiter}", ScpiDelimiter, ct);
string res = await WriteReadAsync($"C{channel}:VDIV?{ScpiDelimiter}", ScpiDelimiter, ct);
return ExtractDouble(res);
}
/// <summary>
/// 设置指定通道的垂直偏移量 (Offset)
/// </summary>
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="offset">垂直偏移量 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int channel, double offset, CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "C{0}:OFST {1:F4}{2}", channel, offset, ScpiDelimiter);
@@ -178,6 +227,13 @@ namespace DeviceCommand.Devices
/// <summary>1MΩ 阻抗</summary>
ONEM
}
/// <summary>
/// 设置指定通道的输入阻抗类型
/// </summary>
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="impedance">阻抗类型枚举 (FIFty: 50Ω, ONEM: 1MΩ)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int channel, ImpedanceType impedance, CancellationToken ct = default)
{
// 例如发送:C1:IMPedance FIFty\n 或 C1:IMPedance ONEM\n
@@ -192,6 +248,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置示波器的水平时基档位 (Time/Div)
/// </summary>
/// <param name="scale">水平时基档位 (Time/Div)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double scale, CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "TDIV {0:E6}{1}", scale, ScpiDelimiter);
@@ -201,6 +259,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置示波器的触发水平延迟位置 (Horizontal Delay)
/// </summary>
/// <param name="delay">水平延迟位置 (单位: s)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double delay, CancellationToken ct = default)
{
string cmd = string.Format(CultureInfo.InvariantCulture, "TRDL {0:E6}{1}", delay, ScpiDelimiter);
@@ -214,6 +274,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置边沿触发的电平值 (Trigger Level)
/// </summary>
/// <param name="level">触发电平值 (单位: V)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (double level, CancellationToken ct = default)
{
@@ -224,6 +286,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 设置边沿触发的触发源 (例如: C1, C2, C3, C4, EX, LINE)
/// </summary>
/// <param name="source">触发源通道标识 (例如: "C1", "C2", "EX", "LINE")</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (string source, CancellationToken ct = default)
{
await SendAsync($"TRSE EDGE,SR,{source.ToUpper()}{ScpiDelimiter}", ct);
@@ -236,16 +300,24 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询指定通道自动测量项的当前实时测量数值
/// </summary>
public virtual async Task<string> (int channel, string paramName, CancellationToken ct = default)
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="paramName">测量参数名称 (如 "PKPK", "FREQ", "RMS" 等)</param>
/// <param name="ct">取消令牌</param>
/// <returns>测量参数的实时数值 (double)</returns>
public virtual async Task<double> (int channel, string paramName, CancellationToken ct = default)
{
string query = string.Format(CultureInfo.InvariantCulture, "C{0}:PAVA? {1}{2}", channel, paramName.ToUpper(), ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string res = await WriteReadAsync(query, ScpiDelimiter, ct);
return ExtractDouble(res);
}
/// <summary>
/// 查询指定通道的电压峰峰值 (Vpp)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="ct">取消令牌</param>
/// <returns>电压峰峰值 (Vpp)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
return await (channel, "PKPK", ct);
}
@@ -253,7 +325,10 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询指定通道的频率值 (Frequency)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="ct">取消令牌</param>
/// <returns>频率值 (单位: Hz)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
return await (channel, "FREQ", ct);
}
@@ -261,7 +336,10 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询指定通道的真均方根电压值 (Vrms)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号 (1 - 4)</param>
/// <param name="ct">取消令牌</param>
/// <returns>真均方根电压值 (Vrms)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
return await (channel, "RMS", ct);
}
@@ -269,6 +347,7 @@ namespace DeviceCommand.Devices
#endregion
#region 7.
/// <summary>
/// 【一键获取并保存截图】
/// 自动下发 :PRINt? PNG 指令,接收示波器返回的纯 PNG 二进制流并直接保存到指定路径。
/// </summary>
@@ -279,6 +358,14 @@ namespace DeviceCommand.Devices
{
try
{
string FileDirectory = Path.GetDirectoryName(saveFilePath) ?? ""; // 获取目录
string fileNameWithoutExt = Path.GetFileNameWithoutExtension(saveFilePath); // 获取纯文件名
string extension = Path.GetExtension(saveFilePath); // 获取后缀名 (如 .png)
// 生成时间戳,格式为 年月日_时分秒 (例如 20260817_123045)
string timeStamp = DateTime.Now.ToString("yyyyMMdd_HHmmss");
// 组合成新的路径
saveFilePath = Path.Combine(FileDirectory, $"{fileNameWithoutExt}_{timeStamp}{extension}");
// 1. 调用我们在基类 Tcp 中全新实现的 ReadRawAsync
// 它会在内部下发 ":PRINt? PNG\n",自动接收完整的网络字节流
byte[] pureImageBytes = await ReadAllBytesAsync($":PRINt? PNG{ScpiDelimiter}", ct);
+61 -10
View File
@@ -22,11 +22,27 @@ namespace DeviceCommand.Devices
{
}
/// <summary>
/// 辅助方法:解析科学计数法字符串为普通 double。解析失败返回 double.NaN。
/// </summary>
private double ParseScientificResponse(string response)
{
if (string.IsNullOrWhiteSpace(response)) return double.NaN;
// 使用 NumberStyles.Float 允许原生的科学计数法解析 (例如 "1.23E+04")
if (double.TryParse(response.Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out double result))
{
return result;
}
return double.NaN;
}
#region 1. IEEE 488.2
/// <summary>
/// 清除状态命令。清除标准事件状态寄存器和错误队列
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*CLS{ScpiDelimiter}", ct);
@@ -42,6 +58,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取功率分析仪识别字符串(制造商、产品型号、系统 SN、软件版本号)
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>设备标识字符串(制造商, 产品型号, 系统 SN, 软件版本号)</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*IDN?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -50,6 +68,7 @@ namespace DeviceCommand.Devices
/// <summary>
/// 复位命令。使功率分析仪恢复到出厂默认配置状态
/// </summary>
/// <param name="ct">取消令牌</param>
public virtual async Task (CancellationToken ct = default)
{
await SendAsync($"*RST{ScpiDelimiter}", ct);
@@ -58,6 +77,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 读取标准状态字节寄存器
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>标准状态字节寄存器值</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($"*STB?{ScpiDelimiter}", ScpiDelimiter, ct);
@@ -70,7 +91,10 @@ namespace DeviceCommand.Devices
/// <summary>
/// 查询指定通道的实时 RMS 电压值 (单位: V)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号/单元号</param>
/// <param name="ct">取消令牌</param>
/// <returns>实时 RMS 电压值 (单位: V)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
// 1. 先配置 ITEM1 为指定通道的电压有效值 (URMS)
string setItem = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:ITEM1 URMS,{0}{1}", channel, ScpiDelimiter);
@@ -78,13 +102,17 @@ namespace DeviceCommand.Devices
// 2. 再读取 ITEM1 的值
string query = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:VALue? 1{0}", ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string response = await WriteReadAsync(query, ScpiDelimiter, ct);
return ParseScientificResponse(response);
}
/// <summary>
/// 查询指定通道的实时 RMS 电流值 (单位: A)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号/单元号</param>
/// <param name="ct">取消令牌</param>
/// <returns>实时 RMS 电流值 (单位: A)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
// 1. 配置 ITEM1 为指定通道的电流有效值 (IRMS)
string setItem = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:ITEM1 IRMS,{0}{1}", channel, ScpiDelimiter);
@@ -92,13 +120,17 @@ namespace DeviceCommand.Devices
// 2. 读取 ITEM1 的值
string query = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:VALue? 1{0}", ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string response = await WriteReadAsync(query, ScpiDelimiter, ct);
return ParseScientificResponse(response);
}
/// <summary>
/// 查询指定通道的实时有功功率值 (单位: W)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号/单元号</param>
/// <param name="ct">取消令牌</param>
/// <returns>实时有功功率值 (单位: W)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
// 1. 配置 ITEM1 为指定通道的有功功率 (P)
string setItem = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:ITEM1 P,{0}{1}", channel, ScpiDelimiter);
@@ -106,13 +138,17 @@ namespace DeviceCommand.Devices
// 2. 读取 ITEM1 的值
string query = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:VALue? 1{0}", ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string response = await WriteReadAsync(query, ScpiDelimiter, ct);
return ParseScientificResponse(response);
}
/// <summary>
/// 查询指定通道的实时频率值 (单位: Hz)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号/单元号</param>
/// <param name="ct">取消令牌</param>
/// <returns>实时频率值 (单位: Hz)</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
// 1. 配置 ITEM1 为指定通道的电压频率 (FU)
string setItem = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:ITEM1 FU,{0}{1}", channel, ScpiDelimiter);
@@ -120,13 +156,17 @@ namespace DeviceCommand.Devices
// 2. 读取 ITEM1 的值
string query = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:VALue? 1{0}", ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string response = await WriteReadAsync(query, ScpiDelimiter, ct);
return ParseScientificResponse(response);
}
/// <summary>
/// 查询指定通道的功率因数 (Power Factor)
/// </summary>
public virtual async Task<string> (int channel, CancellationToken ct = default)
/// <param name="channel">通道号/单元号</param>
/// <param name="ct">取消令牌</param>
/// <returns>功率因数值</returns>
public virtual async Task<double> (int channel, CancellationToken ct = default)
{
// 1. 配置 ITEM1 为指定通道的功率因数 (LAMBda)
string setItem = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:ITEM1 LAMBda,{0}{1}", channel, ScpiDelimiter);
@@ -134,7 +174,8 @@ namespace DeviceCommand.Devices
// 2. 读取 ITEM1 的值
string query = string.Format(CultureInfo.InvariantCulture, ":NUMeric:NORMal:VALue? 1{0}", ScpiDelimiter);
return await WriteReadAsync(query, ScpiDelimiter, ct);
string response = await WriteReadAsync(query, ScpiDelimiter, ct);
return ParseScientificResponse(response);
}
#endregion
@@ -204,6 +245,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 14. 查询仪器型号名称
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>仪器型号名称字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($":SYSTem:MODel?{ScpiDelimiter}", ScpiDelimiter, ct); //
@@ -212,6 +255,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 16. 查询仪器唯一序列号
/// </summary>
/// <param name="ct">取消令牌</param>
/// <returns>仪器唯一序列号字符串</returns>
public virtual async Task<string> (CancellationToken ct = default)
{
return await WriteReadAsync($":SYSTem:SERial?{ScpiDelimiter}", ScpiDelimiter, ct); //
@@ -221,6 +266,7 @@ namespace DeviceCommand.Devices
/// 15. 设置数值数据显示的分辨率 (5位或6位)
/// </summary>
/// <param name="resolution">有效值只能为 5 或 6</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int resolution, CancellationToken ct = default)
{
if (resolution != 5 && resolution != 6) throw new ArgumentException("分辨率只能设置为 5 或 6 位");
@@ -230,6 +276,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 13. 设置或查询屏幕 LCD 的亮度级别 (1-10)
/// </summary>
/// <param name="brightness">亮度级别 (范围: 1 - 10)</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (int brightness, CancellationToken ct = default)
{
if (brightness < 1 || brightness > 10) throw new ArgumentOutOfRangeException(nameof(brightness), "亮度范围必须在 1~10 之间");
@@ -239,6 +287,8 @@ namespace DeviceCommand.Devices
/// <summary>
/// 18. 设置或查询触摸锁的开/关状态 (锁定时防止人工误触触控屏)
/// </summary>
/// <param name="isLocked">true: 锁定触摸, false: 解锁触摸</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (bool isLocked, CancellationToken ct = default)
{
string state = isLocked ? "ON" : "OFF";
@@ -249,6 +299,7 @@ namespace DeviceCommand.Devices
/// 17. 设置或读取分析仪当前的系统内部时间
/// </summary>
/// <param name="timeStr">格式必须为 "HH:MM:SS"</param>
/// <param name="ct">取消令牌</param>
public virtual async Task (string timeStr, CancellationToken ct = default)
{
await SendAsync($":SYSTem:TIME \"{timeStr}\"{ScpiDelimiter}", ct); //
+74 -4
View File
@@ -8,11 +8,20 @@ using System.Threading.Tasks;
namespace DeviceCommand.Flexible
{
/// <summary>
/// 灵活型 Modbus RTU 串口通信类(免实例化,每次调用临时创建串口连接)。
/// 支持保持寄存器与线圈的读写操作,内部使用通信锁保证同一时刻只有一个事务在执行,
/// 适用于偶发性、无需保持长连接的 Modbus RTU 设备读写场景。
/// </summary>
[ADPCommand]
public static class FModbusRTU
{
// 通信锁:保证同一时刻只有一个 Modbus 事务在执行
private static readonly SemaphoreSlim _commLock = new(1, 1);
/// <summary>
/// 创建串口实例并配置超时参数。
/// </summary>
private static SerialPort CreatePort(
string portName,
int baudRate,
@@ -29,6 +38,9 @@ namespace DeviceCommand.Flexible
};
}
/// <summary>
/// 基于指定串口创建 Modbus RTU 主站。
/// </summary>
private static IModbusMaster CreateMaster(SerialPort port)
{
return new ModbusFactory().CreateRtuMaster(port);
@@ -36,7 +48,22 @@ namespace DeviceCommand.Flexible
#region Holding Register
public static async Task<ushort[]> ReadHoldingRegistersAsync(
/// <summary>
/// 读取保持寄存器(功能码 03),返回指定数量的寄存器值数组。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="slaveAddress">Modbus 从站站号 (1-247)</param>
/// <param name="startAddress">起始寄存器地址</param>
/// <param name="numberOfPoints">读取的寄存器数量</param>
/// <param name="dataBits">数据位,默认 8</param>
/// <param name="stopBits">停止位,默认 1 位</param>
/// <param name="parity">校验位,默认无校验</param>
/// <param name="readTimeout">读取超时时间(毫秒),默认 3000</param>
/// <param name="writeTimeout">写入超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>读取到的寄存器值数组</returns>
public static async Task<ushort[]> (
string portName,
int baudRate,
byte slaveAddress,
@@ -73,7 +100,21 @@ namespace DeviceCommand.Flexible
}
}
public static async Task WriteSingleRegisterAsync(
/// <summary>
/// 写入单个保持寄存器(功能码 06)。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="slaveAddress">Modbus 从站站号 (1-247)</param>
/// <param name="registerAddress">要写入的寄存器地址</param>
/// <param name="value">要写入的寄存器值 (0-65535)</param>
/// <param name="dataBits">数据位,默认 8</param>
/// <param name="stopBits">停止位,默认 1 位</param>
/// <param name="parity">校验位,默认无校验</param>
/// <param name="readTimeout">读取超时时间(毫秒),默认 3000</param>
/// <param name="writeTimeout">写入超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
public static async Task (
string portName,
int baudRate,
byte slaveAddress,
@@ -114,7 +155,22 @@ namespace DeviceCommand.Flexible
#region Coil
public static async Task<bool[]> ReadCoilsAsync(
/// <summary>
/// 读取线圈状态(功能码 01),返回指定数量的线圈开关状态数组。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="slaveAddress">Modbus 从站站号 (1-247)</param>
/// <param name="startAddress">起始线圈地址</param>
/// <param name="numberOfPoints">读取的线圈数量</param>
/// <param name="dataBits">数据位,默认 8</param>
/// <param name="stopBits">停止位,默认 1 位</param>
/// <param name="parity">校验位,默认无校验</param>
/// <param name="readTimeout">读取超时时间(毫秒),默认 3000</param>
/// <param name="writeTimeout">写入超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>线圈状态数组,true 表示吸合/导通</returns>
public static async Task<bool[]> 线(
string portName,
int baudRate,
byte slaveAddress,
@@ -151,7 +207,21 @@ namespace DeviceCommand.Flexible
}
}
public static async Task WriteSingleCoilAsync(
/// <summary>
/// 写入单个线圈(功能码 05),控制单个开关量输出。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="slaveAddress">Modbus 从站站号 (1-247)</param>
/// <param name="coilAddress">要写入的线圈地址</param>
/// <param name="value">线圈状态(true: 吸合/导通, false: 断开)</param>
/// <param name="dataBits">数据位,默认 8</param>
/// <param name="stopBits">停止位,默认 1 位</param>
/// <param name="parity">校验位,默认无校验</param>
/// <param name="readTimeout">读取超时时间(毫秒),默认 3000</param>
/// <param name="writeTimeout">写入超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
public static async Task 线(
string portName,
int baudRate,
byte slaveAddress,
+59 -4
View File
@@ -8,11 +8,20 @@ using System.Threading.Tasks;
namespace DeviceCommand.Flexible
{
/// <summary>
/// 灵活型 Modbus TCP 通信类(免实例化,每次调用临时建立 TCP 连接)。
/// 支持保持寄存器与线圈的读写操作,内部使用通信锁保证同一时刻只有一个事务在执行,
/// 适用于偶发性、无需保持长连接的 Modbus TCP 设备读写场景。
/// </summary>
[ADPCommand]
public static class FModbusTCP
{
// 通信锁:保证同一时刻只有一个 Modbus 事务在执行
private static readonly SemaphoreSlim _commLock = new(1, 1);
/// <summary>
/// 建立 TCP 连接并创建 Modbus TCP 主站。
/// </summary>
private static async Task<IModbusMaster> ConnectAsync(string ipAddress, int port, int sendTimeout, int receiveTimeout, CancellationToken ct)
{
var tcpClient = new TcpClient();
@@ -26,7 +35,19 @@ namespace DeviceCommand.Flexible
#region Holding Registers
public static async Task<ushort[]> ReadHoldingRegistersAsync(
/// <summary>
/// 读取保持寄存器(功能码 03),返回指定数量的寄存器值数组。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">Modbus TCP 端口号,默认常用 502</param>
/// <param name="slaveAddress">Modbus 从站站号(单元标识符)</param>
/// <param name="startAddress">起始寄存器地址</param>
/// <param name="numberOfPoints">读取的寄存器数量</param>
/// <param name="sendTimeout">发送/连接超时时间(毫秒),默认 3000</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>读取到的寄存器值数组</returns>
public static async Task<ushort[]> (
string ipAddress,
int port,
byte slaveAddress,
@@ -51,7 +72,18 @@ namespace DeviceCommand.Flexible
}
}
public static async Task WriteSingleRegisterAsync(
/// <summary>
/// 写入单个保持寄存器(功能码 06)。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">Modbus TCP 端口号,默认常用 502</param>
/// <param name="slaveAddress">Modbus 从站站号(单元标识符)</param>
/// <param name="registerAddress">要写入的寄存器地址</param>
/// <param name="value">要写入的寄存器值 (0-65535)</param>
/// <param name="sendTimeout">发送/连接超时时间(毫秒),默认 3000</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
public static async Task (
string ipAddress,
int port,
byte slaveAddress,
@@ -79,7 +111,19 @@ namespace DeviceCommand.Flexible
#region Coils
public static async Task<bool[]> ReadCoilsAsync(
/// <summary>
/// 读取线圈状态(功能码 01),返回指定数量的线圈开关状态数组。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">Modbus TCP 端口号,默认常用 502</param>
/// <param name="slaveAddress">Modbus 从站站号(单元标识符)</param>
/// <param name="startAddress">起始线圈地址</param>
/// <param name="numberOfPoints">读取的线圈数量</param>
/// <param name="sendTimeout">发送/连接超时时间(毫秒),默认 3000</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>线圈状态数组,true 表示吸合/导通</returns>
public static async Task<bool[]> 线(
string ipAddress,
int port,
byte slaveAddress,
@@ -104,7 +148,18 @@ namespace DeviceCommand.Flexible
}
}
public static async Task WriteSingleCoilAsync(
/// <summary>
/// 写入单个线圈(功能码 05),控制单个开关量输出。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">Modbus TCP 端口号,默认常用 502</param>
/// <param name="slaveAddress">Modbus 从站站号(单元标识符)</param>
/// <param name="coilAddress">要写入的线圈地址</param>
/// <param name="value">线圈状态(true: 吸合/导通, false: 断开)</param>
/// <param name="sendTimeout">发送/连接超时时间(毫秒),默认 3000</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),默认 3000</param>
/// <param name="ct">异步取消令牌</param>
public static async Task 线(
string ipAddress,
int port,
byte slaveAddress,
+38 -2
View File
@@ -7,11 +7,21 @@ using System.Threading.Tasks;
namespace DeviceCommand.Flexible
{
/// <summary>
/// 灵活型串口通信类(免实例化,每次调用临时创建串口连接)。
/// 支持只发送指令、发送并读取应答两种最常用操作,
/// 内部使用通信锁保证同一时刻只有一个串口事务在执行,
/// 适用于偶发性、无需保持长连接的串口设备通信场景(如示波器、电源的 SCPI 指令)。
/// </summary>
[ADPCommand]
public static class FSerialPort
{
// 通信锁:保证同一时刻只有一个串口事务在执行
private static readonly SemaphoreSlim _commLock = new(1, 1);
/// <summary>
/// 创建串口实例并配置 UTF8 编码与超时参数。
/// </summary>
private static SerialPort CreatePort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits, int sendTimeout,int receiveTimeout)
{
return new SerialPort(portName, baudRate, parity, dataBits, stopBits)
@@ -24,7 +34,19 @@ namespace DeviceCommand.Flexible
#region
public static async Task SendAsync(string portName,int baudRate,Parity parity,int dataBits,StopBits stopBits,int sendTimeout,int receiveTimeout,string command,CancellationToken ct = default)
/// <summary>
/// 向串口发送一条字符串指令(只发送,不等待应答)。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="parity">校验位</param>
/// <param name="dataBits">数据位,常用 8</param>
/// <param name="stopBits">停止位</param>
/// <param name="sendTimeout">发送超时时间(毫秒)</param>
/// <param name="receiveTimeout">接收超时时间(毫秒)</param>
/// <param name="command">要发送的指令字符串</param>
/// <param name="ct">异步取消令牌</param>
public static async Task (string portName,int baudRate,Parity parity,int dataBits,StopBits stopBits,int sendTimeout,int receiveTimeout,string command,CancellationToken ct = default)
{
await _commLock.WaitAsync(ct);
try
@@ -52,7 +74,21 @@ namespace DeviceCommand.Flexible
#region
public static async Task<string> SendReadAsync(string portName,int baudRate, Parity parity, int dataBits, StopBits stopBits,int sendTimeout, int receiveTimeout,string command,string delimiter = "\n", CancellationToken ct = default)
/// <summary>
/// 向串口发送一条字符串指令并读取应答,读取到结束符为止(应答不含结束符)。
/// </summary>
/// <param name="portName">串口名称,如 "COM1"</param>
/// <param name="baudRate">波特率,如 9600、115200</param>
/// <param name="parity">校验位</param>
/// <param name="dataBits">数据位,常用 8</param>
/// <param name="stopBits">停止位</param>
/// <param name="sendTimeout">发送超时时间(毫秒)</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),超时未收到结束符抛出超时异常</param>
/// <param name="command">要发送的指令字符串</param>
/// <param name="delimiter">应答结束符,默认换行符 "\n"</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>去除结束符并去除首尾空白后的应答字符串</returns>
public static async Task<string> (string portName,int baudRate, Parity parity, int dataBits, StopBits stopBits,int sendTimeout, int receiveTimeout,string command,string delimiter = "\n", CancellationToken ct = default)
{
await _commLock.WaitAsync(ct);
try
+46 -5
View File
@@ -4,14 +4,29 @@ using System.Text;
namespace DeviceCommand.Flexible
{
/// <summary>
/// 灵活型 TCP 通信类(免实例化,每次调用临时建立 TCP 连接)。
/// 支持字节/文本发送、定长字节读取、按结束符读取文本行四种操作,
/// 内部使用通信锁保证同一时刻只有一个 TCP 事务在执行,
/// 适用于偶发性、无需保持长连接的 TCP 设备通信场景。
/// </summary>
[ADPCommand]
public static class FTCP
{
// 通信锁:保证同一时刻只有一个 TCP 事务在执行
private static readonly SemaphoreSlim _commLock = new(1, 1);
#region Send
public static async Task SendAsync(string ipAddress,int port,int sendTimeout, byte[] buffer, CancellationToken ct = default)
/// <summary>
/// 向指定 TCP 端点发送一段字节数据(发送完成后立即断开)。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">TCP 端口号</param>
/// <param name="sendTimeout">发送超时时间(毫秒)</param>
/// <param name="buffer">要发送的字节数组</param>
/// <param name="ct">异步取消令牌</param>
public static async Task (string ipAddress,int port,int sendTimeout, byte[] buffer, CancellationToken ct = default)
{
await _commLock.WaitAsync(ct);
try
@@ -30,16 +45,33 @@ namespace DeviceCommand.Flexible
}
}
public static Task SendAsync(string ipAddress, int port,int sendTimeout, string text,CancellationToken ct = default)
/// <summary>
/// 向指定 TCP 端点发送一段文本(以 UTF8 编码为字节后发送,发送完成后立即断开)。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">TCP 端口号</param>
/// <param name="sendTimeout">发送超时时间(毫秒)</param>
/// <param name="text">要发送的文本字符串</param>
/// <param name="ct">异步取消令牌</param>
public static Task (string ipAddress, int port,int sendTimeout, string text,CancellationToken ct = default)
{
return SendAsync( ipAddress, port, sendTimeout, Encoding.UTF8.GetBytes(text),ct);
return ( ipAddress, port, sendTimeout, Encoding.UTF8.GetBytes(text),ct);
}
#endregion
#region Read
public static async Task<byte[]> ReadAsync(string ipAddress,int port,int receiveTimeout,int length,CancellationToken ct = default)
/// <summary>
/// 连接指定 TCP 端点并读取指定长度的字节数据(连接关闭或读满为止)。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">TCP 端口号</param>
/// <param name="receiveTimeout">接收超时时间(毫秒)</param>
/// <param name="length">要读取的字节长度</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>实际读取到的字节数组(对端提前关闭时可能短于请求长度)</returns>
public static async Task<byte[]> (string ipAddress,int port,int receiveTimeout,int length,CancellationToken ct = default)
{
await _commLock.WaitAsync(ct);
try
@@ -72,7 +104,16 @@ namespace DeviceCommand.Flexible
}
}
public static async Task<string> ReadLineAsync( string ipAddress, int port, int receiveTimeout, string delimiter = "\n",CancellationToken ct = default)
/// <summary>
/// 连接指定 TCP 端点并读取一行文本,读取到结束符为止(返回内容不含结束符)。
/// </summary>
/// <param name="ipAddress">设备 IP 地址</param>
/// <param name="port">TCP 端口号</param>
/// <param name="receiveTimeout">接收超时时间(毫秒),超时未收到结束符抛出超时异常</param>
/// <param name="delimiter">文本行结束符,默认换行符 "\n"</param>
/// <param name="ct">异步取消令牌</param>
/// <returns>去除结束符并去除首尾空白后的文本行</returns>
public static async Task<string> ( string ipAddress, int port, int receiveTimeout, string delimiter = "\n",CancellationToken ct = default)
{
await _commLock.WaitAsync(ct);
try
@@ -120,29 +120,29 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVoltage = "—";
public string MeasuredVoltage
private double _measuredVoltage;
public double MeasuredVoltage
{
get => _measuredVoltage;
set => SetProperty(ref _measuredVoltage, value);
}
private string _measuredCurrent = "—";
public string MeasuredCurrent
private double _measuredCurrent;
public double MeasuredCurrent
{
get => _measuredCurrent;
set => SetProperty(ref _measuredCurrent, value);
}
private string _measuredPower = "—";
public string MeasuredPower
private double _measuredPower;
public double MeasuredPower
{
get => _measuredPower;
set => SetProperty(ref _measuredPower, value);
}
private string _measuredFrequency = "—";
public string MeasuredFrequency
private double _measuredFrequency;
public double MeasuredFrequency
{
get => _measuredFrequency;
set => SetProperty(ref _measuredFrequency, value);
@@ -118,22 +118,22 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVoltage = "—";
public string MeasuredVoltage
private double _measuredVoltage;
public double MeasuredVoltage
{
get => _measuredVoltage;
set => SetProperty(ref _measuredVoltage, value);
}
private string _measuredCurrent = "—";
public string MeasuredCurrent
private double _measuredCurrent;
public double MeasuredCurrent
{
get => _measuredCurrent;
set => SetProperty(ref _measuredCurrent, value);
}
private string _measuredPower = "—";
public string MeasuredPower
private double _measuredPower;
public double MeasuredPower
{
get => _measuredPower;
set => SetProperty(ref _measuredPower, value);
@@ -93,22 +93,22 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVoltage = "—";
public string MeasuredVoltage
private double _measuredVoltage;
public double MeasuredVoltage
{
get => _measuredVoltage;
set => SetProperty(ref _measuredVoltage, value);
}
private string _measuredCurrent = "—";
public string MeasuredCurrent
private double _measuredCurrent;
public double MeasuredCurrent
{
get => _measuredCurrent;
set => SetProperty(ref _measuredCurrent, value);
}
private string _measuredPower = "—";
public string MeasuredPower
private double _measuredPower;
public double MeasuredPower
{
get => _measuredPower;
set => SetProperty(ref _measuredPower, value);
@@ -94,22 +94,22 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVoltage = "—";
public string MeasuredVoltage
private double _measuredVoltage;
public double MeasuredVoltage
{
get => _measuredVoltage;
set => SetProperty(ref _measuredVoltage, value);
}
private string _measuredCurrent = "—";
public string MeasuredCurrent
private double _measuredCurrent;
public double MeasuredCurrent
{
get => _measuredCurrent;
set => SetProperty(ref _measuredCurrent, value);
}
private string _measuredPower = "—";
public string MeasuredPower
private double _measuredPower;
public double MeasuredPower
{
get => _measuredPower;
set => SetProperty(ref _measuredPower, value);
@@ -3,7 +3,6 @@ using Prism.Commands;
using Prism.Ioc;
using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Input;
@@ -113,22 +112,22 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVpp = "—";
public string MeasuredVpp
private double _measuredVpp;
public double MeasuredVpp
{
get => _measuredVpp;
set => SetProperty(ref _measuredVpp, value);
}
private string _measuredFrequency = "—";
public string MeasuredFrequency
private double _measuredFrequency;
public double MeasuredFrequency
{
get => _measuredFrequency;
set => SetProperty(ref _measuredFrequency, value);
}
private string _measuredRms = "—";
public string MeasuredRms
private double _measuredRms;
public double MeasuredRms
{
get => _measuredRms;
set => SetProperty(ref _measuredRms, value);
@@ -207,40 +206,30 @@ namespace DeviceEditModule.ViewModels
QueryMeasurementsCommand = new DelegateCommand(async () => await Exec(async () =>
{
// 1. 保留设备原生吐出的完整原始字符串
string rawVpp = await _device!.(Channel, Ct());
string rawFreq = await _device!.(Channel, Ct());
string rawRms = await _device!.(Channel, Ct());
// 设备层已自动提取纯数值并返回 double
MeasuredVpp = await _device!.(Channel, Ct());
MeasuredFrequency = await _device!.(Channel, Ct());
MeasuredRms = await _device!.(Channel, Ct());
// 2. 清洗数据并将科学计数法转为常规小数后赋值给 UI 属性
MeasuredVpp = ParseMeasurement(rawVpp);
MeasuredFrequency = ParseMeasurement(rawFreq);
MeasuredRms = ParseMeasurement(rawRms);
// 3. 在日志中同时体现设备原始报文与解析呈现值,极方便联调
AppendLog($"C{Channel} 测量原始数据 → Vpp:{rawVpp.Trim()} Freq:{rawFreq.Trim()} RMS:{rawRms.Trim()}");
AppendLog($"C{Channel} 界面呈现数值 → Vpp:{MeasuredVpp}V Freq:{MeasuredFrequency}Hz RMS:{MeasuredRms}V");
AppendLog($"C{Channel} 测量结果 → Vpp:{MeasuredVpp:0.######}V Freq:{MeasuredFrequency:0.######}Hz RMS:{MeasuredRms:0.######}V");
}));
QueryVppCommand = new DelegateCommand(async () => await Exec(async () =>
{
string raw = await _device!.(Channel, Ct());
MeasuredVpp = ParseMeasurement(raw);
AppendLog($"C{Channel} Vpp: {MeasuredVpp} (Raw: {raw.Trim()})");
MeasuredVpp = await _device!.(Channel, Ct());
AppendLog($"C{Channel} Vpp: {MeasuredVpp:0.######} V");
}));
QueryFrequencyCommand = new DelegateCommand(async () => await Exec(async () =>
{
string raw = await _device!.(Channel, Ct());
MeasuredFrequency = ParseMeasurement(raw);
AppendLog($"C{Channel} Freq: {MeasuredFrequency} (Raw: {raw.Trim()})");
MeasuredFrequency = await _device!.(Channel, Ct());
AppendLog($"C{Channel} Freq: {MeasuredFrequency:0.######} Hz");
}));
QueryRmsCommand = new DelegateCommand(async () => await Exec(async () =>
{
string raw = await _device!.(Channel, Ct());
MeasuredRms = ParseMeasurement(raw);
AppendLog($"C{Channel} RMS: {MeasuredRms} (Raw: {raw.Trim()})");
MeasuredRms = await _device!.(Channel, Ct());
AppendLog($"C{Channel} RMS: {MeasuredRms:0.######} V");
}));
Initialize();
@@ -330,52 +319,6 @@ namespace DeviceEditModule.ViewModels
: line + "\n" + ResponseLog;
}
/// <summary>
/// 清洗示波器原始返回的测量字符串(例如 "C1:PAVA RMS,5.57E-03V")并安全转化为无科学计数法的小数形式。
/// </summary>
/// <param name="rawResponse">设备原始应答数据</param>
/// <returns>可直接绑定到 UI 呈现的字符串数字</returns>
private string ParseMeasurement(string rawResponse)
{
if (string.IsNullOrWhiteSpace(rawResponse)) return "—";
try
{
string cleanData = rawResponse.Trim();
// 1. 斩断报头,提取逗号后面的具体内容(如 "5.57E-03V" 或 "****"
int commaIndex = cleanData.IndexOf(',');
if (commaIndex == -1) return "—";
string valStr = cleanData.Substring(commaIndex + 1);
var match = Regex.Match(valStr, @"[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?");
if (match.Success)
{
valStr = match.Value;
}
// 3. 校验并拦截设备未测出时的无效星号 "****"
if (valStr.Contains("*") || string.IsNullOrWhiteSpace(valStr))
{
return "0"; // 回归为零或 "—",防止触发数据异常
}
// 4. 解析科学计数法,并重新以不带科学计数法的小数样式展开
if (double.TryParse(valStr, NumberStyles.Any, CultureInfo.InvariantCulture, out double result))
{
// "0.######" 样式会自动消除末尾无用的冗余零,并显示为普通小数(如 0.00557)
return result.ToString("0.######", CultureInfo.InvariantCulture);
}
}
catch
{
// 捕获可能产生的边缘转换故障,保证轮询线程绝不崩溃
}
return "—";
}
#endregion
public void Dispose()
@@ -101,36 +101,36 @@ namespace DeviceEditModule.ViewModels
#region
private string _measuredVoltage = "—";
public string MeasuredVoltage
private double _measuredVoltage;
public double MeasuredVoltage
{
get => _measuredVoltage;
set => SetProperty(ref _measuredVoltage, value);
}
private string _measuredCurrent = "—";
public string MeasuredCurrent
private double _measuredCurrent;
public double MeasuredCurrent
{
get => _measuredCurrent;
set => SetProperty(ref _measuredCurrent, value);
}
private string _measuredPower = "—";
public string MeasuredPower
private double _measuredPower;
public double MeasuredPower
{
get => _measuredPower;
set => SetProperty(ref _measuredPower, value);
}
private string _measuredFrequency = "—";
public string MeasuredFrequency
private double _measuredFrequency;
public double MeasuredFrequency
{
get => _measuredFrequency;
set => SetProperty(ref _measuredFrequency, value);
}
private string _measuredPowerFactor = "—";
public string MeasuredPowerFactor
private double _measuredPowerFactor;
public double MeasuredPowerFactor
{
get => _measuredPowerFactor;
set => SetProperty(ref _measuredPowerFactor, value);
@@ -196,20 +196,14 @@ namespace DeviceEditModule.ViewModels
// 只修改这里:保持你原本的 5 次驱动查询调用不变,仅对读回来的科学计数法进行两位小数格式化
QueryAllMeasureCommand = new DelegateCommand(async () => await Exec(async () =>
{
string rawU = await _device!.(Channel, Ct());
string rawI = await _device!.(Channel, Ct());
string rawP = await _device!.(Channel, Ct());
string rawF = await _device!.(Channel, Ct());
string rawPF = await _device!.(Channel, Ct());
// 设备层已返回 double 数值
MeasuredVoltage = await _device!.(Channel, Ct());
MeasuredCurrent = await _device!.(Channel, Ct());
MeasuredPower = await _device!.(Channel, Ct());
MeasuredFrequency = await _device!.(Channel, Ct());
MeasuredPowerFactor = await _device!.(Channel, Ct());
// 转换科学计数法格式,如果失败会自动保持原样
MeasuredVoltage = FormatToDecimal(rawU, "F2"); // 电压两位小数
MeasuredCurrent = FormatToDecimal(rawI, "F3"); // 电流通常较小,建议保留3位小数
MeasuredPower = FormatToDecimal(rawP, "F2"); // 功率两位小数
MeasuredFrequency = FormatToDecimal(rawF, "F2"); // 频率两位小数
MeasuredPowerFactor = FormatToDecimal(rawPF, "F3"); // 功率因数保留3位小数
AppendLog($"CH{Channel} 测量 → U:{MeasuredVoltage}V I:{MeasuredCurrent}A P:{MeasuredPower}W F:{MeasuredFrequency}Hz PF:{MeasuredPowerFactor}");
AppendLog($"CH{Channel} 测量 → U:{MeasuredVoltage:F2}V I:{MeasuredCurrent:F3}A P:{MeasuredPower:F2}W F:{MeasuredFrequency:F2}Hz PF:{MeasuredPowerFactor:F3}");
}));
Initialize();
@@ -263,41 +257,6 @@ namespace DeviceEditModule.ViewModels
private CancellationToken Ct() => (_cts = new CancellationTokenSource(TimeSpan.FromSeconds(10))).Token;
/// <summary>
/// 将科学计数法字符串转换为标准小数格式
/// </summary>
private string FormatToDecimal(string rawInput, string decimalFormat = "F2")
{
if (string.IsNullOrWhiteSpace(rawInput))
return "—";
// 去除可能夹杂的命令头,保留数据部分
string cleanInput = CleanResponseHeader(rawInput);
// 解析科学计数法(NumberStyles.Any 和 InvariantCulture 是关键)
if (double.TryParse(cleanInput, NumberStyles.Any, CultureInfo.InvariantCulture, out double value))
{
return value.ToString(decimalFormat, CultureInfo.InvariantCulture);
}
return cleanInput;
}
/// <summary>
/// 辅助清洗:剥离可能伴随吐回的命令头或双引号
/// </summary>
private string CleanResponseHeader(string response)
{
if (string.IsNullOrWhiteSpace(response)) return string.Empty;
string result = response.Trim();
if (result.Contains(" "))
{
int lastSpaceIndex = result.LastIndexOf(' ');
result = result.Substring(lastSpaceIndex + 1).Trim();
}
return result.Replace("\"", "").Replace("'", "").Trim();
}
private async Task Exec(Func<Task> action)
{
if (_device == null)
+126
View File
@@ -0,0 +1,126 @@
# EOL测试项文件清单
## 已分析可编写的测试项
根据EOL测试项目文档和现有设备能力,以下测试项可以编写:
### 输入侧保护测试(使用IT7800E交流电源)
1. **08_输入过压保护测试.ADP** - 已创建模板
- 保护点:270±3 Vrms
- 恢复点:260±3 Vrms
- 方法:以1V/s升高输入电压直至保护触发
2. **09_输入欠压保护测试.ADP**
- 保护点:170±3 Vrms
- 恢复点:180±3 Vrms
- 方法:以1V/s降低输入电压直至保护触发
3. **10_输入过流保护测试.ADP**
- 软件保护点:4.8 A
- 硬件保护点:5.2 A
- 方法:逐步增加负载直至过流保护
### 输出侧保护测试(使用N36600直流电源/N69200电子负载)
4. **21_输出过压保护测试.ADP**
- 软件保护点:78 V
- 硬件保护点:85 V
- 方法:以0.1V/s升高输出电压直至保护
5. **22_输出欠压保护测试.ADP**
- 保护点:40±2 Vdc
- 恢复点:45±2 Vdc
- 方法:以0.1V/s降低输出电压直至保护
6. **23_输出过流保护测试.ADP**
- 软件保护点:9 A
- 硬件保护点:10 A
- 方法:逐步增加负载电流直至保护
7. **24_输出短路保护测试.ADP**
- 方法:切换电子负载到Short模式
- 验证:系统停止输出并报警
8. **25_输出抛负载测试.ADP**
- 方法:切换电子负载到Off模式
- 验证:输出过充电压≤90 Vdc
## 无法编写的测试项(需要特殊设备)
以下测试项需要特殊仪器或人工观察,无法自动化:
- 01_系统状态灯显示 - 需要人工观察
- 02_急停保护 - 需要物理急停按钮操作
- 03_系统启动时间 - 需要示波器捕获波形
- 04_总谐波电流畸变 - 需要功率分析仪THD功能
- 11_输入启动冲击电流 - 需要示波器+电流探头
- 12_输入功率因数 - 需要功率分析仪
- 13_输入电压精度 - 需要功率分析仪对比
- 14_输入电流精度 - 需要功率分析仪对比
- 15_输入AC泄放时间 - 需要示波器监测
- 16_接收端待机功耗 - 需要功率分析仪
- 17_输出电流精度 - 需要功率分析仪对比
- 18_输出电压精度 - 需要功率分析仪对比
- 19_输出电流纹波 - 需要示波器+电流探头
- 20_输出电压纹波 - 需要示波器
- 26_线圈分离测试 - 需要台架物理移动
- 27_双通道异常测试 - 需要特殊CAN控制
- 28_整机效率 - 需要功率分析仪
- 29_表面温升测试 - 需要温度采集设备
- 30_绝缘电阻测试 - 需要绝缘电阻测试仪
- 31_耐压测试 - 需要耐压测试仪
## 测试项通用结构
每个测试项包含以下步骤:
1. **初始化阶段**
- 台架初始化相对移动(子程序)
- ADP产品开机(子程序)
2. **设备设置阶段**
- IT7800E:设置AC模式、电压、频率、开启输出
- N36600:设置辅助电压、开启输出
- N69200:设置负载模式(CV/CC)、设定值、开启
3. **CAN通信阶段**
- 打开设备
- 初始化并启动通道
- 加载DBC文件
- 发送开机报文
4. **测试执行阶段**
- 延时等待稳定
- 调节被测参数
- 查询记录保护点
- 延时等待恢复
5. **结束阶段**
- 发送清除故障报文
- 重新发送开机报文验证恢复
- ADP产品关机(子程序)
## 参数变量说明
| 变量名 | 说明 | 默认值 |
|--------|------|--------|
| 台架序号 | 测试台架编号 | 1 |
| CAN通道1 | CAN总线通道1 | 0 |
| CAN通道2 | CAN总线通道2 | 1 |
| DBC文件 | CAN数据库文件路径 | C:\Users\U3\Desktop\DBC文件\ADP\wpt_protocol_v2.24_260611.dbc |
| X位置 | 台架X轴位置 | 15000 |
| Y位置 | 台架Y轴位置 | 20000 |
| Z位置 | 台架Z轴位置 | 40000 |
| 开机报文 | CAN开机指令 | [0x01, 0x01, 0x20, 0x00, 0xBC, 0x02, 0xE8, 0x03] |
| 关机报文 | CAN关机指令 | [0x00, 0x01, 0x20, 0x00, 0xBC, 0x02, 0xE8, 0x03] |
| 清除故障报文 | CAN清除故障指令 | [0xEE, 0x02, 0xE8, 0x03, 0x58, 0x02, 0x00, 0x00] |
## 设备清单
| 设备 | 型号 | 用途 |
|------|------|------|
| 交流电源 | IT7800E | 模拟电网输入 |
| 高压直流电源 | N36600 | 辅助电源/输出模拟 |
| 电子负载 | N69200 | 模拟输出负载 |
| CAN分析仪 | ZLG USBCANFD | CAN通信 |
| 功率分析仪 | SPAW7000 | 功率测量(部分测试需要) |
| 示波器 | SDS2000X_HD | 波形测量(部分测试需要) |
+183
View File
@@ -82,19 +82,23 @@ namespace ExportModule.ViewModels
public ICommand LoadedCommand { get; }
public ICommand QueryCommand { get; }
public ICommand ExportCommand { get; }
public ICommand ExportReportCommand { get; }
#endregion
#region
private readonly ITestReportService _testReportService;
private readonly ITestCheckRecordService _testCheckRecordService;
#endregion
public ExportViewModel(IContainerProvider containerProvider) : base(containerProvider)
{
_testReportService = containerProvider.Resolve<ITestReportService>();
_testCheckRecordService = containerProvider.Resolve<ITestCheckRecordService>();
LoadedCommand = new AsyncDelegateCommand(OnLoad);
QueryCommand = new AsyncDelegateCommand(OnQuery);
ExportCommand = new AsyncDelegateCommand(OnExport);
ExportReportCommand = new AsyncDelegateCommand(OnExportReportCommand);
}
#region
@@ -183,6 +187,39 @@ namespace ExportModule.ViewModels
await Task.Run(() => ExportToExcel(dialog.FileName, entities));
ShowInfoMessageBox($"导出完成,共 {entities.Count} 条步骤记录,已保存至:{dialog.FileName}", () => { });
}
/// <summary>
/// 导出测试报告:上层为各测试项(IsTestItem 子程序)的 PASS/NG 汇总,下层为每次 OKExpression 判断明细
/// </summary>
private async Task OnExportReportCommand()
{
if (SelectedTestReport == null)
{
ShowErrorMessageBox("请先在列表中选择一条测试记录。", () => { });
return;
}
StatusMessage = "正在查询测试项判断记录...";
var checkResult = await _testCheckRecordService.GetByTestRoundIdAsync(SelectedTestReport.TestRoundId);
if (!checkResult.IsSuccess || checkResult.Data == null || checkResult.Data.Count == 0)
{
ShowErrorMessageBox("未找到该测试记录的测试项判断数据(需将子程序标记为测试项后运行)。", () => { });
return;
}
var dialog = new SaveFileDialog
{
Filter = "Excel 工作簿 (*.xlsx)|*.xlsx|所有文件 (*.*)|*.*",
DefaultExt = ".xlsx",
FileName = $"测试报告_{SelectedTestReport.Scope}_{SelectedTestReport.StartTime:yyyyMMdd_HHmmss}.xlsx"
};
if (dialog.ShowDialog() != true) return;
var records = checkResult.Data;
StatusMessage = $"正在导出 {records.Count} 条测试项判断记录...";
await Task.Run(() => ExportReportToExcel(dialog.FileName, records, SelectedTestReport));
ShowInfoMessageBox($"导出完成,已保存至:{dialog.FileName}", () => { });
}
#endregion
@@ -239,6 +276,152 @@ namespace ExportModule.ViewModels
var dataRange = ws.Range(row, 1, row, headers.Length);
dataRange.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
dataRange.Style.Border.InsideBorder = XLBorderStyleValues.Thin;
// 根据 Result 设置行背景色(与 UI DataGrid 配色一致)
// Result: "0"=运行中, "1"=通过, "2"=失败
if (e.Result is "运行中" or "成功" or "失败")
{
XLColor rowColor = e.Result switch
{
"运行中" => XLColor.FromArgb(0xB3, 0xD9, 0xFF), // 运行中 - 浅蓝
"成功" => XLColor.FromArgb(0xB2, 0xFF, 0xB2), // 通过 - 浅绿
"失败" => XLColor.FromArgb(0xFF, 0xB2, 0xB2), // 失败 - 浅红
_ => XLColor.White
};
dataRange.Style.Fill.BackgroundColor = rowColor;
}
// 异常流程步骤额外标记(字体加粗 + 橙色字体)
if (e.IsErrorStep)
dataRange.Style.Font.FontColor = XLColor.DarkOrange;
}
ws.Columns().AdjustToContents();
workbook.SaveAs(filePath);
}
/// <summary>
/// 测试报告导出:上层为各测试项(IsTestItem 子程序)的 PASS/NG 汇总,下层为每次 OKExpression 判断明细(含重复判断、判断时间、数据值)
/// </summary>
private static void ExportReportToExcel(string filePath, List<TestCheckRecordEntity> records, TestReportModel report)
{
using var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("测试报告");
const int colCount = 6;
var passColor = XLColor.FromArgb(0xB2, 0xFF, 0xB2); // 通过 - 浅绿(与现有导出配色一致)
var ngColor = XLColor.FromArgb(0xFF, 0xB2, 0xB2); // 失败 - 浅红
var headerColor = XLColor.FromArgb(0xEC, 0xEF, 0xF4);
int row = 1;
// ===== 标题与信息行 =====
ws.Range(row, 1, row, colCount).Merge();
ws.Cell(row, 1).Value = "测 试 报 告";
ws.Range(row, 1, row, colCount).Style.Font.Bold = true;
ws.Range(row, 1, row, colCount).Style.Font.FontSize = 16;
ws.Range(row, 1, row, colCount).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
row++;
ws.Cell(row, 1).Value = $"台架:{report.Scope ?? ""}";
ws.Cell(row, 3).Value = $"测试文件:{report.FileName ?? ""}";
row++;
ws.Cell(row, 1).Value = $"开始时间:{report.StartTime:yyyy-MM-dd HH:mm:ss}";
ws.Cell(row, 3).Value = $"结束时间:{report.EndTime:yyyy-MM-dd HH:mm:ss}";
row += 2;
// 按测试项分组(保持首次出现顺序)
var groups = records.GroupBy(r => r.TestItemName).ToList();
// ===== 上层:测试项汇总 =====
ws.Cell(row, 1).Value = "【测试项汇总】";
ws.Cell(row, 1).Style.Font.Bold = true;
row++;
string[] summaryHeaders = { "序号", "测试项", "判定结果", "执行次数", "判定次数", "NG次数" };
for (int c = 0; c < summaryHeaders.Length; c++)
ws.Cell(row, c + 1).Value = summaryHeaders[c];
var headerRange = ws.Range(row, 1, row, colCount);
headerRange.Style.Font.Bold = true;
headerRange.Style.Fill.BackgroundColor = headerColor;
headerRange.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
headerRange.Style.Border.InsideBorder = XLBorderStyleValues.Thin;
row++;
int seq = 1;
foreach (var group in groups)
{
var summaries = group.Where(x => x.IsSummary).ToList();
var details = group.Where(x => !x.IsSummary).ToList();
bool overallPass = summaries.All(s => s.Pass) && details.All(d => d.Pass);
ws.Cell(row, 1).Value = seq++;
ws.Cell(row, 2).Value = group.Key;
ws.Cell(row, 3).Value = overallPass ? "PASS" : "NG";
ws.Cell(row, 4).Value = summaries.Count;
ws.Cell(row, 5).Value = details.Count;
ws.Cell(row, 6).Value = details.Count(d => !d.Pass);
var dataRange = ws.Range(row, 1, row, colCount);
dataRange.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
dataRange.Style.Border.InsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Font.Bold = true;
ws.Cell(row, 3).Style.Fill.BackgroundColor = overallPass ? passColor : ngColor;
row++;
}
row++;
// ===== 下层:判断明细 =====
ws.Cell(row, 1).Value = "【判断明细】";
ws.Cell(row, 1).Style.Font.Bold = true;
row++;
string[] detailHeaders = { "序号", "判定时间", "步骤名称", "OKExpression", "判定结果", "数据值" };
foreach (var group in groups)
{
var details = group.Where(x => !x.IsSummary).ToList();
bool overallPass = group.Where(x => x.IsSummary).All(s => s.Pass) && details.All(d => d.Pass);
// 测试项块标题行(合并单元格)
ws.Range(row, 1, row, colCount).Merge();
ws.Cell(row, 1).Value = $"■ 测试项:{group.Key}  总体结果:{(overallPass ? "PASS" : "NG")}";
ws.Cell(row, 1).Style.Font.Bold = true;
ws.Range(row, 1, row, colCount).Style.Fill.BackgroundColor = overallPass ? passColor : ngColor;
row++;
for (int c = 0; c < detailHeaders.Length; c++)
ws.Cell(row, c + 1).Value = detailHeaders[c];
var detailHeaderRange = ws.Range(row, 1, row, colCount);
detailHeaderRange.Style.Font.Bold = true;
detailHeaderRange.Style.Fill.BackgroundColor = headerColor;
detailHeaderRange.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
detailHeaderRange.Style.Border.InsideBorder = XLBorderStyleValues.Thin;
row++;
if (details.Count == 0)
{
ws.Range(row, 1, row, colCount).Merge();
ws.Cell(row, 1).Value = "(无 OKExpression 判断,结果由步骤执行成败决定)";
row++;
}
int detailSeq = 1;
foreach (var d in details)
{
ws.Cell(row, 1).Value = detailSeq++;
ws.Cell(row, 2).Value = d.CreateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
ws.Cell(row, 3).Value = d.StepName ?? "";
ws.Cell(row, 4).Value = d.OKExpression ?? "";
ws.Cell(row, 5).Value = d.Pass ? "PASS" : "NG";
ws.Cell(row, 6).Value = d.Values ?? "";
var detailRange = ws.Range(row, 1, row, colCount);
detailRange.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
detailRange.Style.Border.InsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Font.Bold = true;
ws.Cell(row, 5).Style.Fill.BackgroundColor = d.Pass ? passColor : ngColor;
row++;
}
row++;
}
ws.Columns().AdjustToContents();
+9 -1
View File
@@ -60,6 +60,7 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
@@ -109,13 +110,20 @@
Margin="4,0"
VerticalAlignment="Center"/>
<Button Grid.Column="7"
Content="导出 Excel"
Content="导出详细测试步骤"
Command="{Binding ExportCommand}"
Style="{StaticResource MaterialDesignFlatButton}"
Padding="16,6"
Margin="4,0"
VerticalAlignment="Center"/>
<Button Grid.Column="8"
Content="导出测试报告"
Command="{Binding ExportReportCommand}"
Style="{StaticResource MaterialDesignFlatButton}"
Padding="16,6"
Margin="4,0"
VerticalAlignment="Center"/>
<Button Grid.Column="9"
Content="加载全部"
Command="{Binding LoadedCommand}"
Style="{StaticResource MaterialDesignFlatButton}"
+780
View File
@@ -0,0 +1,780 @@
# 生成EOL测试项文件
$outputDir = "D:\ADP\子程序\新测试项"
if (!(Test-Path $outputDir)) { New-Item -ItemType Directory -Path $outputDir -Force | Out-Null }
# 08_输入过压保护测试
$test08 = @'
{
"ID": "a8b3c5d2-1e4f-4a7b-9c8d-2f6e5a4b3c2d",
"StepCollection": [
{
"ID": "step_001",
"IsUsed": true,
"Index": 1,
"Name": "设置电源模式",
"StepType": "方法",
"Method": {
"Name": "设置电源模式",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p1",
"IsVisible": true,
"IsEditable": true,
"Name": "模式",
"Type": "DeviceCommand.Devices.PowerCouplingMode, DeviceCommand, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p2",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "设置为AC模式"
},
{
"ID": "step_002",
"IsUsed": true,
"Index": 2,
"Name": "设置交流电压",
"StepType": "方法",
"Method": {
"Name": "设置交流电压",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p3",
"IsVisible": true,
"IsEditable": true,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "230",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p4",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "设置初始电压230Vac"
},
{
"ID": "step_003",
"IsUsed": true,
"Index": 3,
"Name": "设置频率",
"StepType": "方法",
"Method": {
"Name": "设置频率",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p5",
"IsVisible": true,
"IsEditable": true,
"Name": "频率",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "50",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p6",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "设置频率50Hz"
},
{
"ID": "step_004",
"IsUsed": true,
"Index": 4,
"Name": "设置DC输出",
"StepType": "方法",
"Method": {
"Name": "设置DC输出",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p7",
"IsVisible": true,
"IsEditable": true,
"Name": "开启",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "true",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p8",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "开启IT7800E输出"
},
{
"ID": "step_005",
"IsUsed": true,
"Index": 5,
"Name": "设置负载模式",
"StepType": "方法",
"Method": {
"Name": "设置负载模式",
"FullName": "DeviceCommand.Devices.N69200",
"Parameters": [
{
"ID": "p9",
"IsVisible": true,
"IsEditable": true,
"Name": "模式",
"Type": "DeviceCommand.Devices.N69200+DeviceWorkMode, DeviceCommand, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p10",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "设置N69200为CV模式"
},
{
"ID": "step_006",
"IsUsed": true,
"Index": 6,
"Name": "设置恒电压CV",
"StepType": "方法",
"Method": {
"Name": "设置恒电压CV",
"FullName": "DeviceCommand.Devices.N69200",
"Parameters": [
{
"ID": "p11",
"IsVisible": true,
"IsEditable": true,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "50",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p12",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "设置电子负载CV模式50V"
},
{
"ID": "step_007",
"IsUsed": true,
"Index": 7,
"Name": "设置DC输入",
"StepType": "方法",
"Method": {
"Name": "设置DC输入",
"FullName": "DeviceCommand.Devices.N69200",
"Parameters": [
{
"ID": "p13",
"IsVisible": true,
"IsEditable": true,
"Name": "开启",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "true",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p14",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "开启电子负载"
},
{
"ID": "step_008",
"IsUsed": true,
"Index": 8,
"Name": "Delay_s",
"StepType": "方法",
"Method": {
"Name": "Delay_s",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "p15",
"IsVisible": true,
"IsEditable": true,
"Name": "second",
"Type": "System.Single, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "30",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p16",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "等待系统稳定运行"
},
{
"ID": "step_009",
"IsUsed": true,
"Index": 9,
"Name": "设置交流电压",
"StepType": "方法",
"Method": {
"Name": "设置交流电压",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p17",
"IsVisible": true,
"IsEditable": true,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "270",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p18",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "以1V/s升高输入电压至过压保护点(270V)"
},
{
"ID": "step_010",
"IsUsed": true,
"Index": 10,
"Name": "Delay_s",
"StepType": "方法",
"Method": {
"Name": "Delay_s",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "p19",
"IsVisible": true,
"IsEditable": true,
"Name": "second",
"Type": "System.Single, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "5",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p20",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "等待保护触发,记录保护点"
},
{
"ID": "step_011",
"IsUsed": true,
"Index": 11,
"Name": "查询实际电压",
"StepType": "方法",
"Method": {
"Name": "查询实际电压",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p21",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p22",
"IsVisible": true,
"IsEditable": true,
"Name": "Result",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 1,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": null,
"NGGotoStepID": null,
"Description": "记录输入过压保护点"
},
{
"ID": "step_012",
"IsUsed": true,
"Index": 12,
"Name": "设置交流电压",
"StepType": "方法",
"Method": {
"Name": "设置交流电压",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p23",
"IsVisible": true,
"IsEditable": true,
"Name": "电压",
"Type": "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "255",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p24",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "降低电压至恢复点以下(260V)"
},
{
"ID": "step_013",
"IsUsed": true,
"Index": 13,
"Name": "Delay_s",
"StepType": "方法",
"Method": {
"Name": "Delay_s",
"FullName": "Command.Delay",
"Parameters": [
{
"ID": "p25",
"IsVisible": true,
"IsEditable": true,
"Name": "second",
"Type": "System.Single, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "5",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p26",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "等待系统恢复"
},
{
"ID": "step_014",
"IsUsed": true,
"Index": 14,
"Name": "设置DC输出",
"StepType": "方法",
"Method": {
"Name": "设置DC输出",
"FullName": "DeviceCommand.Devices.IT7800E",
"Parameters": [
{
"ID": "p27",
"IsVisible": true,
"IsEditable": true,
"Name": "开启",
"Type": "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": "false",
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "p28",
"IsVisible": true,
"IsEditable": true,
"Name": "ct",
"Type": "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": null,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
},
"SubProgram": null,
"LoopCount": null,
"LoopStartStepId": null,
"OKExpression": null,
"GotoSettingString": "",
"OKGotoStepID": "00000000-0000-0000-0000-000000000000",
"NGGotoStepID": "00000000-0000-0000-0000-000000000000",
"Description": "关闭IT7800E输出"
}
],
"ErrorStepCollection": [],
"Parameters": [
{
"ID": "var_bench_no",
"IsVisible": true,
"IsEditable": false,
"Name": "台架序号",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "var_can_ch1",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道1",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 0,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
},
{
"ID": "var_can_ch2",
"IsVisible": true,
"IsEditable": false,
"Name": "CAN通道2",
"Type": "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Category": 0,
"Value": 1,
"LowerLimit": null,
"UpperLimit": null,
"Result": true,
"IsUseVar": false,
"VariableName": null,
"VariableID": null
}
]
}
'@
$test08 | Out-File -FilePath "$outputDir\08_输入过压保护测试.ADP" -Encoding UTF8
Write-Host "已生成: 08_输入过压保护测试.ADP"
Write-Host "`n测试项生成完成!"
Write-Host "输出目录: $outputDir"
@@ -69,6 +69,10 @@ namespace MainModule.ViewModels
string json = System.IO.File.ReadAllText(filePath);
Newtonsoft.Json.JsonConvert.PopulateObject(json, _systemConfig);
}
else
{
_systemConfig = new SystemConfig();
}
}
//容器解析顺序不要改变!!!
_scopedContext = _scope.Resolve<ScopedContext>();
+53
View File
@@ -0,0 +1,53 @@
using SqlSugar;
using System;
namespace Model.Entity
{
/// <summary>
/// 测试项判断记录:运行过程中测试项(IsTestItem 子程序)范围内每一次 OKExpression 判断。
/// 同一次运行的所有记录共享同一个 TestRoundId,导出测试报告时按此 Guid 查询。
/// IsSummary=true 的行为该测试项单次执行的汇总(PASS/NG),IsSummary=false 的行为单次判断明细。
/// </summary>
public class TestCheckRecordEntity : BaseEntity
{
/// <summary>同一次运行的统一标识(StepRunning.TestRoundID</summary>
[SugarColumn(ColumnName = "TestRoundId", ColumnDescription = "运行轮次标识")]
public Guid TestRoundId { get; set; }
/// <summary>作用域/台架名称</summary>
[SugarColumn(ColumnName = "Scope", ColumnDescription = "台架名称")]
public string Scope { get; set; } = string.Empty;
/// <summary>测试项名称(当前ADP文件路径)</summary>
[SugarColumn(ColumnName = "FileName", ColumnDescription = "测试项名称")]
public string FileName { get; set; } = string.Empty;
/// <summary>测试项名称(IsTestItem 子程序步骤的名称)</summary>
[SugarColumn(ColumnName = "TestItemName", Length = 200)]
public string TestItemName { get; set; } = string.Empty;
/// <summary>发生判断的步骤名称</summary>
[SugarColumn(ColumnName = "StepName", Length = 200)]
public string StepName { get; set; } = string.Empty;
/// <summary>子程序嵌套深度(0=主程序)</summary>
[SugarColumn(ColumnName = "Depth")]
public int Depth { get; set; }
/// <summary>判断表达式</summary>
[SugarColumn(ColumnName = "OKExpression", Length = 1000, IsNullable = true)]
public string? OKExpression { get; set; }
/// <summary>判断结果(true=PASS / false=NG</summary>
[SugarColumn(ColumnName = "Pass")]
public bool Pass { get; set; }
/// <summary>表达式变量的实际取值(如 "电压=12.5; 电流=3.2; "</summary>
[SugarColumn(ColumnName = "Values", Length = 2000, IsNullable = true)]
public string? Values { get; set; }
/// <summary>是否为汇总行(每个测试项单次执行结束时写入一条)</summary>
[SugarColumn(ColumnName = "IsSummary")]
public bool IsSummary { get; set; }
}
}
+1 -1
View File
@@ -8,7 +8,7 @@
<ItemGroup>
<PackageReference Include="SqlSugarCore" Version="5.1.4.215-preview13" />
<PackageReference Include="System.IO.Ports" Version="11.0.0-preview.4.26230.115" />
<PackageReference Include="System.IO.Ports" Version="8.0.0" />
</ItemGroup>
</Project>
+3
View File
@@ -12,6 +12,9 @@ namespace Model.Models
public bool IsUsed { get; set; } = true;
/// <summary>是否测试项(仅子程序步骤可标记,运行时记录其范围内所有 OKExpression 判断)</summary>
public bool IsTestItem { get; set; } = false;
public int Index { get; set; }
public string? Name { get; set; }
@@ -0,0 +1,38 @@
using Model;
using Model.Entity;
using ORM;
using Service.Interface;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Service.Implement
{
public class TestCheckRecordService : BaseService<TestCheckRecordEntity>, ITestCheckRecordService
{
public TestCheckRecordService(SqlSugarRepository<TestCheckRecordEntity> repository) : base(repository)
{
}
/// <summary>
/// 根据 TestRoundId 查询该次运行的所有测试项判断记录(按创建时间升序)
/// </summary>
public async Task<Result<List<TestCheckRecordEntity>>> GetByTestRoundIdAsync(Guid testRoundId)
{
try
{
var list = await _repository.Entities
.Where(x => x.TestRoundId == testRoundId)
.OrderBy(x => x.CreateTime)
.ToListAsync();
return Result<List<TestCheckRecordEntity>>.Success(list);
}
catch (Exception ex)
{
return Result<List<TestCheckRecordEntity>>.Error("根据 TestRoundId 查询测试项判断记录失败", ex);
}
}
}
}
@@ -0,0 +1,19 @@
using Model;
using Model.Entity;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Service.Interface
{
/// <summary>
/// 测试项判断记录服务:运行时记录测试项范围内每一次 OKExpression 判断,导出测试报告时查询。
/// </summary>
public interface ITestCheckRecordService : IBaseService<TestCheckRecordEntity>
{
/// <summary>
/// 根据 TestRoundId 查询该次运行的所有测试项判断记录(按创建时间升序)
/// </summary>
Task<Result<List<TestCheckRecordEntity>>> GetByTestRoundIdAsync(Guid testRoundId);
}
}
+131 -16
View File
@@ -192,21 +192,26 @@ namespace TestingModule.ViewModels
var assembly = Assembly.LoadFrom(dllPath);
Assemblies.Add(assembly);
// 加载对应的XML注释文件 (项目没有用到)
//string xmlPath = Path.ChangeExtension(dllPath, ".xml");
//if (File.Exists(xmlPath))
//{
// try
// {
// XmlDocument xmlDoc = new XmlDocument();
// xmlDoc.Load(xmlPath);
// _xmlDocumentCache[assembly.FullName!] = xmlDoc;
// }
// catch (Exception xmlEx)
// {
// LoggerHelper.WarnWithNotify($"加载XML注释失败: {Path.GetFileName(xmlPath)} - {xmlEx.Message}");
// }
//}
//加载对应的XML注释文件
string xmlPath = Path.ChangeExtension(dllPath, ".xml");
if (File.Exists(xmlPath))
{
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
XmlDocumentCache[assembly.FullName!] = xmlDoc;
LoggerHelper.Info($"[XML注释] 成功加载: {Path.GetFileName(xmlPath)} -> 程序集 [{assembly.FullName}]");
}
catch (Exception xmlEx)
{
LoggerHelper.Warn($"加载XML注释失败: {Path.GetFileName(xmlPath)} - {xmlEx.Message}");
}
}
else
{
LoggerHelper.Warn($"[XML注释] XML文件不存在: {xmlPath}");
}
}
catch (Exception ex)
{
@@ -284,6 +289,7 @@ namespace TestingModule.ViewModels
{
Name = subProgram.Name,
Tag = subProgram,
Tooltip = subProgram.FilePath
});
}
@@ -368,6 +374,7 @@ namespace TestingModule.ViewModels
{
Name = $"{method.Name}({paramText})",
Tag = method,
Tooltip = GetMethodDocumentation(method),
};
typeNode.Children.Add(methodNode);
@@ -433,6 +440,95 @@ namespace TestingModule.ViewModels
}
}
}
// 添加获取注释的方法
private string? GetMethodDocumentation(MethodInfo method)
{
if (method.DeclaringType == null) return null;
try
{
string assemblyName = method.DeclaringType.Assembly.FullName!;
if (!_xmlDocumentCache.TryGetValue(assemblyName, out XmlDocument? xmlDoc))
{
LoggerHelper.Warn($"[XML注释] 缓存未命中: 程序集 [{assemblyName}],缓存包含 { _xmlDocumentCache.Count} 个条目: [{string.Join(", ", _xmlDocumentCache.Keys)}]");
return null;
}
// 生成XML文档中的成员ID
string memberName = $"M:{method.DeclaringType.FullName}.{method.Name}";
var parameters = method.GetParameters();
if (parameters.Length > 0)
{
memberName += "(" + string.Join(",", parameters.Select(p => p.ParameterType.FullName)) + ")";
}
// 查找注释节点
XmlNode? memberNode = xmlDoc.SelectSingleNode($"//member[@name='{memberName}']");
if (memberNode == null)
{
LoggerHelper.Warn($"[XML注释] 节点未找到: {memberName}");
return null;
}
// 获取摘要(summary
var summaryNode = memberNode.SelectSingleNode("summary");
string documentation = "";
if (summaryNode != null)
{
documentation += CleanXmlContent(summaryNode.InnerXml);
}
// 获取参数注释(param
var paramNodes = memberNode.SelectNodes("param");
if (paramNodes != null && paramNodes.Count > 0)
{
documentation += "\n\n参数:";
foreach (XmlNode paramNode in paramNodes)
{
string? paramName = paramNode.Attributes?["name"]?.Value;
if (!string.IsNullOrEmpty(paramName))
{
documentation += $"\n • {paramName}: {CleanXmlContent(paramNode.InnerXml)}";
}
}
}
// 获取返回值注释(returns
var returnsNode = memberNode.SelectSingleNode("returns");
if (returnsNode != null)
{
documentation += $"\n\n返回值: {CleanXmlContent(returnsNode.InnerXml)}";
}
return string.IsNullOrWhiteSpace(documentation)
? null
: System.Net.WebUtility.HtmlDecode(documentation.Trim());
}
catch (Exception ex)
{
LoggerHelper.Warn($"获取注释失败: {method.Name} - {ex.Message}");
return null;
}
}
// 辅助方法:清理XML内容
private string CleanXmlContent(string xmlContent)
{
return xmlContent
.Replace("<see cref=\"", "")
.Replace("\"/>", "")
.Replace("<para>", "\n")
.Replace("</para>", "")
.Replace("<seealso", "")
.Replace("/>", "")
.Replace("<c>", "") // 处理代码标签
.Replace("</c>", "")
.Replace("<code>", "")
.Replace("</code>", "")
.Trim();
}
#endregion
#region
@@ -515,7 +611,7 @@ namespace TestingModule.ViewModels
var newStep = new StepVM
{
Name = subProgram.Name,
StepType = "子程序"
StepType = "子程序",
};
var jsonstr = File.ReadAllText($"{subProgram.FilePath}");
var tmp = JsonConvert.DeserializeObject<ProgramVM>(jsonstr);
@@ -568,6 +664,8 @@ namespace TestingModule.ViewModels
{
// 查找最近的未匹配循环开始
StepVM? lastUnmatchedLoopStart = null;
if (_ScopedContext.SelectedStepList == "主程序")
{
for (int i = Program.StepCollection.Count - 1; i >= 0; i--)
{
if (Program.StepCollection[i].StepType == "循环开始")
@@ -581,6 +679,23 @@ namespace TestingModule.ViewModels
}
}
}
}
else
{
for (int i = Program.ErrorStepCollection.Count - 1; i >= 0; i--)
{
if (Program.ErrorStepCollection[i].StepType == "循环开始")
{
bool isMatched = Program.ErrorStepCollection.Any(s => s.StepType == "循环结束" && s.LoopStartStepId == Program.StepCollection[i].ID);
if (!isMatched)
{
lastUnmatchedLoopStart = Program.ErrorStepCollection[i];
break;
}
}
}
}
var newStep = new StepVM
{
+187 -22
View File
@@ -94,6 +94,30 @@ namespace TestingModule.ViewModels
public ICommand DeleteStepCommand { get;set; }
public ICommand TabSelectionChangedCommand { get;set; }
public ICommand SelectionChangedCommand { get;set; }
public ICommand OpenSubProgramCommand { get; set; }
public ICommand GoBackCommand { get; set; }
public ICommand ToggleTestItemCommand { get; set; }
#endregion
#region /
// --- 主程序 Tab 导航属性 ---
public ProgramVM MainCurrentProgram => _ScopedContext.MainNav.CurrentProgram;
public string MainBreadcrumbPath => _ScopedContext.MainNav.BreadcrumbPath;
public bool MainCanGoBack => _ScopedContext.MainNav.CanGoBack;
public ObservableCollection<StepVM> MainDisplaySteps => _ScopedContext.MainNav.DisplaySteps;
// --- 错误程序 Tab 导航属性 ---
public ProgramVM ErrorCurrentProgram => _ScopedContext.ErrorNav.CurrentProgram;
public string ErrorBreadcrumbPath => _ScopedContext.ErrorNav.BreadcrumbPath;
public bool ErrorCanGoBack => _ScopedContext.ErrorNav.CanGoBack;
public ObservableCollection<StepVM> ErrorDisplaySteps => _ScopedContext.ErrorNav.DisplaySteps;
/// <summary>
/// 当前激活的导航状态(根据选中的 Tab 索引决定)
/// </summary>
private ProgramNavigationState ActiveNav => SelectedTabIndex == 1 ? _ScopedContext.ErrorNav : _ScopedContext.MainNav;
#endregion
public StepsManagerViewModel(IContainerProvider containerProvider, ScopedContext scopedContext, SystemConfig systemConfig, GlobalInfo globalInfo) : base(containerProvider)
@@ -108,17 +132,62 @@ namespace TestingModule.ViewModels
DeleteStepCommand = new DelegateCommand(DeleteStep);
TabSelectionChangedCommand = new DelegateCommand<string>(TabSelectionChanged);
SelectionChangedCommand = new DelegateCommand<object>(SelectionChanged);
OpenSubProgramCommand = new DelegateCommand(OpenSubProgram);
GoBackCommand = new DelegateCommand(GoBack);
ToggleTestItemCommand = new DelegateCommand(ToggleTestItem);
SubscribeStepCollections();
Program.PropertyChanged += Program_PropertyChanged;
Admin = _globalInfo.IsAdmin;
// 初始化两套导航状态
_ScopedContext.MainNav.Initialize(Program, "主程序");
_ScopedContext.ErrorNav.Initialize(Program, "错误程序");
// 订阅主程序导航状态变化 → 转发给 UI
_ScopedContext.MainNav.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(ProgramNavigationState.CurrentProgram))
{
RaisePropertyChanged(nameof(MainCurrentProgram));
RaisePropertyChanged(nameof(MainDisplaySteps));
}
else if (e.PropertyName == nameof(ProgramNavigationState.BreadcrumbPath))
RaisePropertyChanged(nameof(MainBreadcrumbPath));
else if (e.PropertyName == nameof(ProgramNavigationState.CanGoBack))
RaisePropertyChanged(nameof(MainCanGoBack));
};
// 订阅错误程序导航状态变化 → 转发给 UI
_ScopedContext.ErrorNav.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(ProgramNavigationState.CurrentProgram))
{
RaisePropertyChanged(nameof(ErrorCurrentProgram));
RaisePropertyChanged(nameof(ErrorDisplaySteps));
}
else if (e.PropertyName == nameof(ProgramNavigationState.BreadcrumbPath))
RaisePropertyChanged(nameof(ErrorBreadcrumbPath));
else if (e.PropertyName == nameof(ProgramNavigationState.CanGoBack))
RaisePropertyChanged(nameof(ErrorCanGoBack));
};
// 订阅子程序导航事件(运行时由 StepRunning 发布)
_eventAggregator.GetEvent<SubProgramNavigateEvent>()
.Subscribe(OnSubProgramNavigate, ThreadOption.UIThread, false,
payload => payload.Scope == _systemConfig.Title);
}
private void SelectionChanged(object parameter)
{
var selectedList = parameter as IList;
if (selectedList != null)
if (parameter is IList list && list.Count > 0)
{
SelectedItems = selectedList.Cast<StepVM>().ToList();
SelectedItems = list.Cast<StepVM>().ToList();
}
else if (parameter is IEnumerable enumerable && parameter is not string)
{
var items = enumerable.Cast<StepVM>().ToList();
if (items.Count > 0)
SelectedItems = items;
}
}
@@ -137,15 +206,21 @@ namespace TestingModule.ViewModels
}
private void CopyStep()
{
if (_globalInfo.IsAdmin && SelectedItems.Any())
{
if (!_globalInfo.IsAdmin) return;
// 优先用多选列表,回退到单选
var source = (SelectedItems != null && SelectedItems.Any())
? SelectedItems
: (SelectedStep != null ? new List<StepVM> { SelectedStep } : null);
if (source == null || !source.Any()) return;
tmpCopyList.Clear();
foreach (var item in SelectedItems)
foreach (var item in source)
{
tmpCopyList.Add(item);
}
}
}
private void PasteStep()
{
// 权限校验并确保有可粘贴的内容
@@ -180,32 +255,116 @@ namespace TestingModule.ViewModels
}
private void DeleteStep()
{
// 确保有选中的项
if (_globalInfo.IsAdmin && SelectedItems != null && SelectedItems.Any())
{
// 创建一个副本进行循环,防止在 Remove 过程中集合变化导致的问题
var toDelete = SelectedItems.ToList();
if (!_globalInfo.IsAdmin) return;
foreach (var item in toDelete)
// 优先用多选列表,回退到单选
var source = (SelectedItems != null && SelectedItems.Any())
? SelectedItems.ToList()
: (SelectedStep != null ? new List<StepVM> { SelectedStep } : null);
if (source == null || !source.Any()) return;
foreach (var item in source)
{
_eventAggregator.GetEvent<DeletedStepEvent>().Publish(item.ID);
if (_ScopedContext.SelectedStepList == "主程序")
{
Program.StepCollection.Remove(item);
}
else if (_ScopedContext.SelectedStepList == "错误程序")
{
Program.ErrorStepCollection.Remove(item);
}
// 清空 ViewModel 的选中状态,避免悬挂引用
SelectedStep = null;
SelectedItems?.Clear();
_ScopedContext.SelectedStep = null;
}
#endregion
#region
/// <summary>
/// 编辑模式:右键打开子程序(操作当前激活的 Tab 的导航状态)
/// </summary>
private void OpenSubProgram()
{
if (SelectedStep == null || SelectedStep.StepType != "子程序" || SelectedStep.SubProgram == null)
return;
var nav = ActiveNav;
nav.NavigationStack.Push(nav.CurrentProgram);
nav.UpdateCanGoBack();
var stepName = SelectedStep.Name ?? "子程序";
nav.BreadcrumbPath = $"{nav.BreadcrumbPath} > {stepName}";
nav.CurrentProgram = SelectedStep.SubProgram;
}
/// <summary>
/// 切换选中步骤的测试项标记(仅子程序可标记,运行时将记录其范围内所有 OKExpression 判断)
/// </summary>
private void ToggleTestItem()
{
if (!_globalInfo.IsAdmin) return;
var source = (SelectedItems != null && SelectedItems.Any())
? SelectedItems
: (SelectedStep != null ? new List<StepVM> { SelectedStep } : null);
if (source == null || !source.Any()) return;
foreach (var item in source.Where(x => x.StepType == "子程序" && x.SubProgram != null))
{
item.IsTestItem = !item.IsTestItem;
}
}
// 3. 清空 ViewModel 的选中状态,避免悬挂引用
SelectedStep = null;
SelectedItems.Clear();
_ScopedContext.SelectedStep = null;
/// <summary>
/// 返回上一级程序(操作当前激活的 Tab 的导航状态)
/// </summary>
private void GoBack()
{
var nav = ActiveNav;
if (nav.NavigationStack.Count == 0)
return;
var parentProgram = nav.NavigationStack.Pop();
nav.UpdateCanGoBack();
nav.CurrentProgram = parentProgram;
var parts = nav.BreadcrumbPath.Split(" > ");
nav.BreadcrumbPath = parts.Length > 1
? string.Join(" > ", parts.Take(parts.Length - 1))
: nav == _ScopedContext.MainNav ? "主程序" : "错误程序";
}
/// <summary>
/// 运行时:处理 StepRunning 发布的子程序导航事件
/// </summary>
private void OnSubProgramNavigate(SubProgramNavigatePayload payload)
{
if (_ScopedContext == null || payload == null) return;
var nav = payload.IsErrorProgram ? _ScopedContext.ErrorNav : _ScopedContext.MainNav;
if (payload.Action == NavigateAction.Enter && payload.SubProgram != null)
{
nav.NavigationStack.Push(nav.CurrentProgram);
nav.UpdateCanGoBack();
nav.CurrentProgram = payload.SubProgram;
var stepName = payload.StepName ?? "子程序";
nav.BreadcrumbPath = $"{nav.BreadcrumbPath} > {stepName}";
}
else if (payload.Action == NavigateAction.Exit)
{
if (nav.NavigationStack.Count == 0) return;
var parentProgram = nav.NavigationStack.Pop();
nav.UpdateCanGoBack();
nav.CurrentProgram = parentProgram;
var parts = nav.BreadcrumbPath.Split(" > ");
nav.BreadcrumbPath = parts.Length > 1
? string.Join(" > ", parts.Take(parts.Length - 1))
: nav == _ScopedContext.MainNav ? "主程序" : "错误程序";
}
}
#endregion
#region
@@ -252,6 +411,12 @@ namespace TestingModule.ViewModels
UnsubscribeStepCollections();
SubscribeStepCollections();
// 通知 UI 刷新 DisplaySteps(导航状态虽然引用同一 Program,但集合实例已变)
RaisePropertyChanged(nameof(MainDisplaySteps));
RaisePropertyChanged(nameof(ErrorDisplaySteps));
RaisePropertyChanged(nameof(MainCurrentProgram));
RaisePropertyChanged(nameof(ErrorCurrentProgram));
// 集合被整体替换后,对新集合重新编号
Application.Current?.Dispatcher.BeginInvoke(new Action(() =>
{
@@ -304,9 +469,9 @@ namespace TestingModule.ViewModels
Program.PropertyChanged -= Program_PropertyChanged;
}
// 3. 【核心修复】必须显式退订 Prism 全局事件(AlarmEvent
// 注意:因为订阅时使用的是匿名 Lambda,最安全稳妥的退订方式是把整个事件上的当前 VM 订阅者全部注销
// 3. 显式退订全局 Prism 事件
_eventAggregator?.GetEvent<AlarmEvent>()?.Unsubscribe(null);
_eventAggregator?.GetEvent<SubProgramNavigateEvent>()?.Unsubscribe(null);
// 4. 清空临时缓存集合与 UI 绑定列表,避免悬挂指针
tmpCopyList?.Clear();
+2 -1
View File
@@ -53,7 +53,8 @@
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type model:InstructionNodeVM}"
ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Name}" ToolTip="{Binding Tooltip}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
<!-- 双击 -->
+2 -2
View File
@@ -103,7 +103,7 @@
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
@@ -240,7 +240,7 @@
<DataTemplate>
<Grid Visibility="{Binding Category, Converter={StaticResource ParameterCategoryToVisibilityConverter}, ConverterParameter=Item}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
+56 -2
View File
@@ -8,9 +8,13 @@
xmlns:behaviors="clr-namespace:UIShare.Behaviors;assembly=UIShare"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:prism="http://prismlibrary.com/"
xmlns:converters="clr-namespace:UIShare.Converters;assembly=UIShare"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
<converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</UserControl.Resources>
<Grid>
<GroupBox Header="{Binding Title}">
<TabControl SelectedIndex="{Binding SelectedTabIndex, Mode=TwoWay}">
@@ -19,6 +23,17 @@
CommandParameter="{Binding SelectedTabHeader}" />
</i:Interaction.Behaviors>
<TabItem Header="主程序">
<DockPanel>
<!-- 主程序面包屑导航栏 -->
<Border DockPanel.Dock="Top" Background="#F0F0F0" Padding="6,3" Visibility="{Binding MainCanGoBack, Converter={StaticResource BooleanToVisibilityConverter}}">
<DockPanel>
<Button DockPanel.Dock="Right" Content="↩ 返回上一级"
Command="{Binding GoBackCommand}"
Style="{StaticResource MaterialDesignFlatButton}"
FontSize="12" Padding="8,2" Margin="8,0,0,0"/>
<TextBlock Text="{Binding MainBreadcrumbPath}" VerticalAlignment="Center" FontSize="12" Foreground="#555"/>
</DockPanel>
</Border>
<DataGrid dd:DragDrop.IsDragSource="{Binding Admin}"
dd:DragDrop.IsDropTarget="{Binding Admin}"
dd:DragDrop.UseDefaultDragAdorner="{Binding Admin}"
@@ -29,7 +44,7 @@
Background="Transparent"
CanUserAddRows="False"
CanUserSortColumns="False"
ItemsSource="{Binding Program.StepCollection}"
ItemsSource="{Binding MainDisplaySteps}"
SelectedItem="{Binding SelectedStep, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Extended"
SelectionUnit="FullRow">
@@ -38,6 +53,10 @@
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
</i:EventTrigger>
<i:EventTrigger EventName="ContextMenuOpening">
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<!-- 行样式 -->
<DataGrid.RowStyle>
@@ -80,6 +99,10 @@
<DataGridCheckBoxColumn Width="58"
Binding="{Binding IsUsed, UpdateSourceTrigger=PropertyChanged}"
Header="启用" />
<DataGridCheckBoxColumn Width="58"
Binding="{Binding IsTestItem}"
Header="测试项"
IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Index}"
Header="序号"
IsReadOnly="True" />
@@ -120,14 +143,31 @@
<MenuItem Header="删除"
Foreground="Red"
Command="{Binding DeleteStepCommand}" />
<Separator/>
<MenuItem Header="打开子程序"
Command="{Binding OpenSubProgramCommand}" />
<MenuItem Header="标记/取消测试项"
Command="{Binding ToggleTestItemCommand}" />
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
</DockPanel>
</TabItem>
<TabItem Header="错误程序">
<DockPanel>
<!-- 错误程序面包屑导航栏 -->
<Border DockPanel.Dock="Top" Background="#F0F0F0" Padding="6,3" Visibility="{Binding ErrorCanGoBack, Converter={StaticResource BooleanToVisibilityConverter}}">
<DockPanel>
<Button DockPanel.Dock="Right" Content="↩ 返回上一级"
Command="{Binding GoBackCommand}"
Style="{StaticResource MaterialDesignFlatButton}"
FontSize="12" Padding="8,2" Margin="8,0,0,0"/>
<TextBlock Text="{Binding ErrorBreadcrumbPath}" VerticalAlignment="Center" FontSize="12" Foreground="#555"/>
</DockPanel>
</Border>
<DataGrid dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="True"
dd:DragDrop.UseDefaultDragAdorner="True"
@@ -135,7 +175,7 @@
Background="Transparent"
CanUserAddRows="False"
CanUserSortColumns="False"
ItemsSource="{Binding Program.ErrorStepCollection}"
ItemsSource="{Binding ErrorDisplaySteps}"
SelectedItem="{Binding SelectedStep, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Extended"
SelectionUnit="FullRow">
@@ -144,6 +184,10 @@
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
</i:EventTrigger>
<i:EventTrigger EventName="ContextMenuOpening">
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<!-- 行样式 -->
<DataGrid.RowStyle>
@@ -186,6 +230,10 @@
<DataGridCheckBoxColumn Width="58"
Binding="{Binding IsUsed, UpdateSourceTrigger=PropertyChanged}"
Header="启用" />
<DataGridCheckBoxColumn Width="58"
Binding="{Binding IsTestItem}"
Header="测试项"
IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Index}"
Header="序号"
IsReadOnly="True" />
@@ -226,6 +274,11 @@
<MenuItem Header="删除"
Foreground="Red"
Command="{Binding DeleteStepCommand}" />
<Separator/>
<MenuItem Header="打开子程序"
Command="{Binding OpenSubProgramCommand}" />
<MenuItem Header="标记/取消测试项"
Command="{Binding ToggleTestItemCommand}" />
</ContextMenu>
</DataGrid.ContextMenu>
@@ -239,6 +292,7 @@
</i:Interaction.Triggers>-->
</DataGrid>
</DockPanel>
</TabItem>
</TabControl>
</GroupBox>
-45
View File
@@ -29,52 +29,7 @@ namespace UIShare.GlobalVariable
}
return true;
}
/// <summary>
/// 根据标题(格子标识)加载独立的配置文件
/// </summary>
public static SystemConfig Load(string title)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentException("配置标题不能为空", nameof(title));
}
// 临时实例化一个对象以获取默认的 SystemPath
var dummy = new SystemConfig();
string configPath = Path.Combine(dummy.SystemPath, $"{title}.json");
if (!File.Exists(configPath))
{
// 如果不存在,创建一个带 Title 的默认配置并保存
var defaultConfig = new SystemConfig { Title = title };
EnsureDefaultCanDevice(defaultConfig);
Save(defaultConfig);
return defaultConfig;
}
lock (_fileLock)
{
try
{
string json = File.ReadAllText(configPath);
var config = JsonConvert.DeserializeObject<SystemConfig>(json, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.All
});
config ??= new SystemConfig { Title = title };
EnsureDefaultCanDevice(config);
return config;
}
catch (Exception ex)
{
LoggerHelper.ErrorWithNotify(title, $"格子 [{title}] 配置加载失败: {ex.Message}");
var fallback = new SystemConfig { Title = title };
EnsureDefaultCanDevice(fallback);
return fallback;
}
}
}
/// <summary>
/// 保存指定的配置实例
@@ -0,0 +1,89 @@
using Prism.Mvvm;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using UIShare.UIViewModel;
namespace UIShare.GlobalVariable
{
/// <summary>
/// 单个 Tab(主程序 / 错误程序)的子程序导航状态。
/// 主程序和错误程序各自持有一个独立实例,互不干扰。
/// </summary>
public class ProgramNavigationState : BindableBase
{
/// <summary>是否为错误程序 Tab</summary>
public bool IsErrorTab { get; set; }
public Stack<ProgramVM> NavigationStack { get; } = new();
private ProgramVM _currentProgram;
public ProgramVM CurrentProgram
{
get => _currentProgram;
set
{
if (SetProperty(ref _currentProgram, value))
RaisePropertyChanged(nameof(DisplaySteps));
}
}
/// <summary>
/// DataGrid 实际绑定的步骤集合。
/// 根程序 + 错误 Tab → ErrorStepCollection;其他情况 → StepCollection。
/// </summary>
public ObservableCollection<StepVM> DisplaySteps
{
get
{
if (CurrentProgram == null)
return new ObservableCollection<StepVM>();
// 在根程序且是错误 Tab → 显示错误步骤集合
if (NavigationStack.Count == 0 && IsErrorTab)
return CurrentProgram.ErrorStepCollection;
// 其他情况(主 Tab 或已进入子程序)→ 显示正常步骤集合
return CurrentProgram.StepCollection;
}
}
private string _breadcrumbPath = "主程序";
public string BreadcrumbPath
{
get => _breadcrumbPath;
set => SetProperty(ref _breadcrumbPath, value);
}
private bool _canGoBack;
public bool CanGoBack
{
get => _canGoBack;
set => SetProperty(ref _canGoBack, value);
}
/// <summary>
/// 用根程序初始化导航状态
/// </summary>
public void Initialize(ProgramVM rootProgram, string label)
{
NavigationStack.Clear();
CurrentProgram = rootProgram;
BreadcrumbPath = label;
CanGoBack = false;
}
/// <summary>
/// 清空导航栈,回到根程序
/// </summary>
public void Reset(ProgramVM rootProgram, string label)
{
NavigationStack.Clear();
CurrentProgram = rootProgram;
BreadcrumbPath = label;
CanGoBack = false;
}
/// <summary>
/// 根据栈状态刷新 CanGoBack
/// </summary>
public void UpdateCanGoBack() => CanGoBack = NavigationStack.Count > 0;
}
}
+29 -1
View File
@@ -1,5 +1,6 @@
using DeviceCommand.Base;
using MaterialDesignThemes.Wpf;
using Prism.Mvvm;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@@ -14,9 +15,35 @@ using UIShare.UIViewModel;
namespace UIShare.GlobalVariable
{
public class ScopedContext
public class ScopedContext : BindableBase
{
private static readonly Random _randomSeed = new Random();
#region /
/// <summary>主程序 Tab 的导航状态</summary>
public ProgramNavigationState MainNav { get; } = new();
/// <summary>错误程序 Tab 的导航状态</summary>
public ProgramNavigationState ErrorNav { get; } = new();
/// <summary>
/// 根据当前选中的 Tab 返回对应的导航状态
/// </summary>
public ProgramNavigationState ActiveNav =>
SelectedStepList == "错误程序" ? ErrorNav : MainNav;
/// <summary>
/// 重置两个 Tab 的导航栈,回到根程序
/// </summary>
public void ResetNavigation()
{
MainNav.Reset(Program, "主程序");
ErrorNav.Reset(Program, "错误程序");
}
#endregion
public ProgramVM Program { get; set; } = new();
public String SelectedStepList { get; set; } = "主程序";
public string CurrentFilePath { get; set; }
@@ -45,6 +72,7 @@ namespace UIShare.GlobalVariable
public int DebugRandomId { get; private set; }
public ScopedContext()
{
ErrorNav.IsErrorTab = true;
lock (_randomSeed)
{
// 每次诞生一个新上下文,就在 10000 到 99999 之间随机摇一个数
+181 -2
View File
@@ -13,6 +13,7 @@ using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using UIShare.GlobalVariable;
using static UIShare.UIViewModel.ParameterVM;
@@ -29,6 +30,7 @@ namespace UIShare
private IContainerProvider containerProvider;
private IEventAggregator _eventAggregator;
private ITestReportService _testReportService;
private ITestCheckRecordService _testCheckRecordService;
private readonly Dictionary<Guid, ParameterVM> tmpParameters = [];
@@ -38,6 +40,9 @@ namespace UIShare
private readonly Stack<LoopContext> loopStack = new();
/// <summary>测试项上下文栈:进入 IsTestItem 子程序时压栈,栈非空期间每次 OKExpression 判断都归属栈顶测试项</summary>
private readonly Stack<TestItemContext> testItemStack = new();
public CancellationTokenSource stepCTS = new();
public CancellationTokenSource errorStepCTS = new();
private bool SubSingleStep = false;
@@ -46,13 +51,14 @@ namespace UIShare
private volatile bool _disposed = false;
public Guid TestRoundID;
public StepRunning(ScopedContext ScopedContext, SystemConfig systemConfig,IEventAggregator eventAggregator, DeviceManager deviceManager, ITestReportService testReportService)
public StepRunning(ScopedContext ScopedContext, SystemConfig systemConfig,IEventAggregator eventAggregator, DeviceManager deviceManager, ITestReportService testReportService, ITestCheckRecordService testCheckRecordService)
{
_scopedContext = ScopedContext;
_systemConfig = systemConfig;
_eventAggregator = eventAggregator;
_deviceManager= deviceManager;
_testReportService = testReportService;
_testCheckRecordService = testCheckRecordService;
//_devices = containerProvider.Resolve<Devices>();
}
public async Task<bool> ExecuteErrorSteps(ProgramVM program, int depth = 0, CancellationToken cancellationToken = default)
@@ -181,7 +187,23 @@ namespace UIShare
_scopedContext.SingleStep = false;
}
LoggerHelper.InfoWithNotify(_systemConfig.Title, $"开始执行子程序 [ {step.Index} ] [ {step.Name} ] ", depth);
// 发布进入子程序导航事件
_eventAggregator.GetEvent<SubProgramNavigateEvent>().Publish(new SubProgramNavigatePayload
{
Scope = _systemConfig.Title,
Action = NavigateAction.Enter,
SubProgram = step.SubProgram,
StepName = step.Name,
IsErrorProgram = true
});
stepSuccess = await ExecuteSteps(step.SubProgram, depth + 1, cancellationToken);
// 发布退出子程序导航事件
_eventAggregator.GetEvent<SubProgramNavigateEvent>().Publish(new SubProgramNavigatePayload
{
Scope = _systemConfig.Title,
Action = NavigateAction.Exit,
IsErrorProgram = true
});
UpdateCurrentStepResult(step, true, stepSuccess, depth);
if (SubSingleStep)
{
@@ -237,8 +259,10 @@ namespace UIShare
loopStopwatchStack.Clear();
ResetAllStepStatus(program.StepCollection);
tmpParameters.Clear();
testItemStack.Clear();
TestRoundID = Guid.NewGuid();
}
int initialLoopStackCount = loopStack.Count;
foreach (var item in program.Parameters)
{
tmpParameters.TryAdd(item.ID, item);
@@ -356,8 +380,32 @@ namespace UIShare
_scopedContext.SingleStep = false;
}
LoggerHelper.InfoWithNotify(_systemConfig.Title, $"开始执行子程序 [ {step.Index} ] [ {step.Name} ] ", depth);
// 发布进入子程序导航事件
_eventAggregator.GetEvent<SubProgramNavigateEvent>().Publish(new SubProgramNavigatePayload
{
Scope = _systemConfig.Title,
Action = NavigateAction.Enter,
SubProgram = step.SubProgram,
StepName = step.Name
});
bool isTestItemStep = step.IsTestItem;
if (isTestItemStep)
{
testItemStack.Push(new TestItemContext { Name = step.Name ?? "未命名测试项" });
}
stepSuccess = await ExecuteSteps(step.SubProgram, depth + 1, cancellationToken);
// 先评估本步骤自身(含自身 OKExpression 判断,归属本测试项),再写测试项汇总并弹栈
UpdateCurrentStepResult(step, true, stepSuccess, depth);
if (isTestItemStep)
{
await FinalizeTestItemAsync(depth);
}
// 发布退出子程序导航事件
_eventAggregator.GetEvent<SubProgramNavigateEvent>().Publish(new SubProgramNavigatePayload
{
Scope = _systemConfig.Title,
Action = NavigateAction.Exit
});
if (SubSingleStep)
{
SubSingleStep = false;
@@ -405,7 +453,12 @@ namespace UIShare
await SaveStepRecordAsync(step, depth, false);
}
}
bool finalResult = loopStack.Count == initialLoopStackCount && stepSuccess;
if (depth > 0) // 子程序
{
return finalResult;
}
return loopStack.Count == 0 && stepSuccess;
}
@@ -776,12 +829,46 @@ namespace UIShare
paraDic.TryAdd(item.Name, item.Value!);
}
}
bool re = ExpressionEvaluator.EvaluateExpression(step.OKExpression, paraDic);
bool re;
try
{
re = ExpressionEvaluator.EvaluateExpression(step.OKExpression, paraDic);
}
catch (Exception ex)
{
// 表达式执行错误也视为 NG,并记录到测试项判断明细
LoggerHelper.ErrorWithNotify(_systemConfig.Title, $"指令 [ {step.Index} ] OKExpression 执行异常: {ex.Message}", depth: depth);
re = false;
}
step.Result = re ? 1 : 2;
if (step.Result == 2)
{
LoggerHelper.WarnWithNotify(_systemConfig.Title, $"指令 [ {step.Index} ] NG:条件表达式验证失败", depth: depth);
}
// 测试项范围内:记录本次判断(重复判断逐次记录)
if (testItemStack.Count > 0)
{
var ctx = testItemStack.Peek();
bool isSelfCheck = ctx.Name == (step.Name ?? "未命名测试项") && step.SubProgram != null;
if (!re) ctx.HasFailure = true;
if (!isSelfCheck)
{
SaveCheckRecordAsync(new TestCheckRecordEntity
{
TestRoundId = TestRoundID,
Scope = _systemConfig.Title,
FileName = _systemConfig.CurrentADPFile ?? "",
TestItemName = ctx.Name,
StepName = step.Name ?? "",
Depth = depth,
OKExpression = step.OKExpression,
Pass = re,
Values = ExtractExpressionValues(step.OKExpression, paraDic),
IsSummary = false,
CreateTime = DateTime.Now
});
}
}
}
}
else
@@ -792,6 +879,90 @@ namespace UIShare
}
step.Result = 2;
}
// 测试项范围内的步骤执行错误/表达式 NG 均计入当前测试项汇总(自身步骤的错误已在压栈期间计入)
if (step.Result == 2 && testItemStack.Count > 0)
{
testItemStack.Peek().HasFailure = true;
}
}
/// <summary>
/// 测试项执行结束:写入汇总记录(PASS/NG)并弹栈。
/// 测试项内无任何判断时,结果由范围内步骤执行成败决定。
/// </summary>
private async Task FinalizeTestItemAsync(int depth)
{
if (testItemStack.Count == 0) return;
var ctx = testItemStack.Pop();
SaveCheckRecordAsync(new TestCheckRecordEntity
{
TestRoundId = TestRoundID,
Scope = _systemConfig.Title,
FileName = _systemConfig.CurrentADPFile ?? "",
TestItemName = ctx.Name,
StepName = ctx.Name,
Depth = depth,
OKExpression = null,
Pass = !ctx.HasFailure,
Values = null,
IsSummary = true,
CreateTime = DateTime.Now
});
await Task.CompletedTask;
}
/// <summary>
/// 保存测试项判断记录(不阻塞执行主流程)
/// </summary>
private void SaveCheckRecordAsync(TestCheckRecordEntity entity)
{
_ = Task.Run(async () =>
{
try
{
var result = await _testCheckRecordService.InsertAsync(entity);
if (!result.IsSuccess)
{
LoggerHelper.Error($"保存测试项判断记录失败 [{entity.TestItemName}]: {result.Msg}");
}
}
catch (Exception ex)
{
LoggerHelper.Error($"保存测试项判断记录失败 [{entity.TestItemName}]: {ex.Message}");
}
});
}
/// <summary>
/// 从表达式中提取实际出现的变量并取其当前值,拼接为 "变量=值; " 格式(长名优先,避免子串误匹配)
/// </summary>
private static string? ExtractExpressionValues(string expression, Dictionary<string, object> paraDic)
{
try
{
var sb = new StringBuilder();
var matchedSpans = new List<(int Start, int End)>();
foreach (var name in paraDic.Keys.OrderByDescending(k => k.Length))
{
if (string.IsNullOrWhiteSpace(name)) continue;
foreach (Match m in Regex.Matches(expression, $@"\b{Regex.Escape(name)}\b"))
{
bool overlaps = matchedSpans.Any(s => m.Index < s.End && m.Index + m.Length > s.Start);
if (!overlaps)
{
matchedSpans.Add((m.Index, m.Index + m.Length));
sb.Append($"{name}={paraDic[name]}; ");
break;
}
}
}
return sb.Length > 0 ? sb.ToString() : null;
}
catch
{
return null;
}
}
public void Dispose()
@@ -825,6 +996,7 @@ namespace UIShare
tmpParameters.Clear();
loopStack.Clear();
loopStopwatchStack.Clear();
testItemStack.Clear();
stepStopwatch.Stop();
}
@@ -840,6 +1012,13 @@ namespace UIShare
public StepVM? LoopStartStep { get; set; }
}
/// <summary>测试项执行上下文:记录测试项名称与范围内是否出现过失败</summary>
private class TestItemContext
{
public string Name { get; set; } = string.Empty;
public bool HasFailure { get; set; }
}
#endregion
}
+3 -11
View File
@@ -56,23 +56,15 @@ namespace UIShare.GlobalVariable
{
Category = ParameterCategory.Input,
Type = typeof(int),
Name = "直流负载通道",
Value = 1,
Name = "CAN通道1",
Value = 0,
IsEditable=false
},
new ParameterVM
{
Category = ParameterCategory.Input,
Type = typeof(int),
Name = "交流电源通道",
Value = 1,
IsEditable=false
},
new ParameterVM
{
Category = ParameterCategory.Input,
Type = typeof(int),
Name = "CAN通道",
Name = "CAN通道2",
Value = 0,
IsEditable=false
},
@@ -0,0 +1,37 @@
using Prism.Events;
using UIShare.UIViewModel;
namespace UIShare.PubEvent
{
/// <summary>
/// 子程序导航事件:运行时进入/退出子程序时发布,
/// StepsManagerViewModel 订阅后自动切换显示。
/// </summary>
public class SubProgramNavigateEvent : PubSubEvent<SubProgramNavigatePayload>
{
}
public class SubProgramNavigatePayload
{
/// <summary>目标台架的作用域标识</summary>
public string Scope { get; set; } = "";
/// <summary>Enter = 进入子程序,Exit = 退出回到上一级</summary>
public NavigateAction Action { get; set; }
/// <summary>进入时:子程序的 ProgramVM;退出时可为 null</summary>
public ProgramVM? SubProgram { get; set; }
/// <summary>子程序步骤的名称(用于面包屑显示)</summary>
public string? StepName { get; set; }
/// <summary>是否为错误程序 Tab 的导航(默认 false = 主程序 Tab</summary>
public bool IsErrorProgram { get; set; }
}
public enum NavigateAction
{
Enter,
Exit
}
}
+7
View File
@@ -32,5 +32,12 @@ namespace UIShare.UIViewModel
get => _tag;
set => SetProperty(ref _tag, value);
}
private string? _tooltip;
public string? Tooltip
{
get => _tooltip;
set => SetProperty(ref _tooltip, value);
}
}
}
+10
View File
@@ -26,6 +26,7 @@ namespace UIShare.UIViewModel
NGGotoStepID = source.NGGotoStepID;
Description = source.Description;
IsUsed = source.IsUsed;
IsTestItem = source.IsTestItem;
if (source.Method != null)
{
@@ -55,6 +56,15 @@ namespace UIShare.UIViewModel
set => SetProperty(ref _isUsed, value);
}
private bool _isTestItem = false;
/// <summary>是否测试项(仅子程序步骤可标记,运行时记录其范围内所有 OKExpression 判断)</summary>
public bool IsTestItem
{
get => _isTestItem;
set => SetProperty(ref _isTestItem, value);
}
private int _index;
public int Index
+133 -12
View File
@@ -11,6 +11,11 @@ using System.Threading.Tasks;
namespace ZLGUSBCANFD
{
/// <summary>
/// 周立功 USBCANFD 系列 CAN 卡控制类(如 USBCANFD-400U),封装设备连接、通道初始化、
/// DBC 矩阵加载与解码、报文发送(单次/循环)、信号物理值设置等功能。
/// 每个通道拥有独立的 DBC 引擎句柄与细粒度锁,支持多台架并行互不干扰。
/// </summary>
[ADPCommand]
public class ZLGCANFD : IDisposable
{
@@ -56,6 +61,22 @@ namespace ZLGUSBCANFD
/// </summary>
public event Action<uint, ZDBC.DBCMessage>? OnDbcMessageDecoded;
/// <summary>
/// 事件:当接收到任意 CAN/CANFD 原始报文时触发(不依赖 DBC,自定义报文也能收到)
/// 参数:通道号, 帧ID, 数据, 时间戳(微秒), 是否FD, 数据长度
/// </summary>
public event Action<uint, uint, byte[], ulong, bool, byte>? OnRawMessageReceived;
/// <summary>
/// 构造函数,配置设备类型、索引、通道数及所有通道共用的波特率与终端电阻参数,
/// 并初始化通道状态数组与 DBC 解析器。
/// </summary>
/// <param name="deviceType">设备类型,76 为 USBCANFD-400U</param>
/// <param name="deviceIndex">设备索引,多台同型号设备时区分,默认 0</param>
/// <param name="maxChannels">通道数量,默认 4</param>
/// <param name="abitBaud">仲裁域波特率,默认 "500000"</param>
/// <param name="dbitBaud">数据域波特率(仅 CANFD 生效),默认 "2000000"</param>
/// <param name="enableTerminalResistance">是否启用通道内部终端电阻,默认 true</param>
public ZLGCANFD(uint deviceType = 76, uint deviceIndex = 0, int maxChannels = 4,
string abitBaud = "500000", string dbitBaud = "2000000", bool enableTerminalResistance = true)
{
@@ -85,8 +106,9 @@ namespace ZLGUSBCANFD
#region 1.
/// <summary>
/// 仅仅打开设备,不做具体的通道波特率配置(留给具体的台架去分别配置)
/// 仅仅打开设备,不做具体的通道波特率配置(留给具体的台架去分别配置)
/// </summary>
/// <returns>是否打开成功;设备已打开时重复调用直接返回 true</returns>
public virtual bool ()
{
if (_deviceHandle != IntPtr.Zero) return true;
@@ -95,8 +117,12 @@ namespace ZLGUSBCANFD
}
/// <summary>
/// 针对特定通道进行参数初始化并启动(使用构造时传入的波特率与终端电阻配置)
/// 针对特定通道进行参数初始化并启动(使用构造时传入的波特率与终端电阻配置)
/// 同时为该通道启动专属的后台高性能接收轮询线程。
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
/// <returns>是否初始化并启动成功;通道已启动时重复调用直接返回 true</returns>
/// <exception cref="InvalidOperationException">未先调用“打开设备()”时抛出</exception>
public virtual bool (uint )
{
_isClosing = false; // 重置关闭标志,允许循环发送
@@ -151,6 +177,10 @@ namespace ZLGUSBCANFD
}
}
/// <summary>
/// 关闭 CAN 卡设备:先停止所有循环发送与接收轮询线程,再复位全部通道、
/// 释放各通道 DBC 资源,最后关闭设备主句柄。
/// </summary>
public virtual void CAN卡设备()
{
_isClosing = true; // 通知循环发送任务尽快退出
@@ -212,8 +242,11 @@ namespace ZLGUSBCANFD
#region 2. DBC
/// <summary>
/// 指定通道加载特定的 DBC 文件(支持不同通道加载不同的DBC矩阵)
/// 指定通道加载特定的 DBC 文件(支持不同通道加载不同的DBC矩阵)
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
/// <param name="dbcFilePath">DBC 矩阵文件的完整路径</param>
/// <returns>是否加载成功;该通道已加载过则直接返回 true</returns>
public virtual bool DBC文件(uint , string dbcFilePath)
{
if ( >= _maxChannels) return false;
@@ -251,6 +284,10 @@ namespace ZLGUSBCANFD
}
}
/// <summary>
/// 释放指定通道已加载的 DBC 资源,并清空该通道的报文数据库。
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
public virtual void DBC(uint )
{
if ( >= _maxChannels) return;
@@ -297,6 +334,10 @@ namespace ZLGUSBCANFD
{
IntPtr framePtr = IntPtr.Add(ptrCanBuffer, i * canStructSize);
// 触发原始报文事件(不依赖 DBC,自定义报文也能收到)
var rawData = (ZLGCAN.ZCAN_Receive_Data)Marshal.PtrToStructure(framePtr, typeof(ZLGCAN.ZCAN_Receive_Data))!;
OnRawMessageReceived?.Invoke(channelIndex, rawData.frame.can_id, rawData.frame.data, rawData.timestamp, false, rawData.frame.can_dlc);
// 只锁定当前通道的DBC句柄进行解码,高并发完全不卡顿
lock (_channelLocks[channelIndex])
{
@@ -319,6 +360,10 @@ namespace ZLGUSBCANFD
{
IntPtr framePtr = IntPtr.Add(ptrCanFDBuffer, i * canfdStructSize);
// 触发原始报文事件(不依赖 DBC,自定义报文也能收到)
var rawFdData = (ZLGCAN.ZCAN_ReceiveFD_Data)Marshal.PtrToStructure(framePtr, typeof(ZLGCAN.ZCAN_ReceiveFD_Data))!;
OnRawMessageReceived?.Invoke(channelIndex, rawFdData.frame.can_id, rawFdData.frame.data, rawFdData.timestamp, true, rawFdData.frame.len);
lock (_channelLocks[channelIndex])
{
if (_isDbcLoadedArray[channelIndex] && ZDBC.ZDBC_Decode(_dbcHandles[channelIndex], ptrDbcMsg, framePtr, 1, 1))
@@ -358,6 +403,8 @@ namespace ZLGUSBCANFD
/// <param name="循环间隔毫秒">0 = 只发送一次;>0 = 按指定间隔循环发送(毫秒)</param>
/// <param name="是否使用CANFD">1 = CANFD0 = CAN</param>
/// <returns>是否成功启动/发送</returns>
[Browsable(false)]
public virtual bool DBC定义报文(
uint ,
uint ID,
@@ -426,6 +473,8 @@ namespace ZLGUSBCANFD
/// <summary>
/// 停止指定通道、指定帧 ID 的循环发送。
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
/// <param name="帧ID">要停止循环发送的报文帧 ID</param>
public virtual void (uint , uint ID)
{
if (_cyclicSenders.TryRemove((, ID), out var entry))
@@ -436,7 +485,7 @@ namespace ZLGUSBCANFD
}
/// <summary>
/// 停止所有 DBC 循环发送任务。
/// 停止所有 DBC 循环发送任务,并等待全部发送任务退出(最多 3 秒)
/// </summary>
public virtual void ()
{
@@ -470,6 +519,8 @@ namespace ZLGUSBCANFD
/// <summary>
/// 清除指定通道、指定帧 ID 的信号覆盖值,恢复为 DBC 初始值。
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
/// <param name="帧ID">要清除覆盖值的报文帧 ID</param>
public virtual void (uint , uint ID)
{
if (_signalOverrides.TryRemove((, ID), out var dict))
@@ -479,8 +530,9 @@ namespace ZLGUSBCANFD
}
/// <summary>
/// 清除指定通道所有帧的信号覆盖值。
/// 清除指定通道所有帧的信号覆盖值,全部恢复为 DBC 初始值
/// </summary>
/// <param name="通道号">通道索引 (0 起始)</param>
public virtual void (uint )
{
foreach (var key in _signalOverrides.Keys)
@@ -497,6 +549,7 @@ namespace ZLGUSBCANFD
/// <summary>
/// 单次发送 DBC 报文(调用方已持有通道锁)。
/// </summary>
[Browsable(false)]
private bool DBC定义报文单次(uint , uint ID, Dictionary<string, double> , int 使CANFD)
{
uint chDbcHandle = _dbcHandles[];
@@ -618,6 +671,7 @@ namespace ZLGUSBCANFD
/// <param name="信号名称">DBC 中定义的英文信号名称(不区分大小写)</param>
/// <param name="物理值">要写入的实际物理数值</param>
/// <param name="循环发送间隔毫秒">0 = 单次发送;>0 = 周期循环发送(单位毫秒)</param>
/// <param name="直接发送">true = 设置后立即发送;false = 仅记录到持久化覆盖表,等后续 发送报文 时生效</param>
/// <returns>操作是否成功</returns>
public virtual bool (uint , string IDStr, string , double , int = 0, bool = false)
{
@@ -653,6 +707,7 @@ namespace ZLGUSBCANFD
/// <param name="帧IDStr">DBC 中定义的帧 ID(可以是 "26"、"0x1A"、"1A"</param>
/// <param name="循环发送间隔毫秒">0 = 单次发送;>0 = 周期循环发送(毫秒)</param>
/// <param name="是否使用CANFD">1 = 以 CANFD 格式发送;0 = 经典 CAN 格式</param>
/// <returns>是否成功启动/发送</returns>
public virtual bool (uint , string IDStr, int = 0, int 使CANFD = 1)
{
if (!TryParseFrameId(IDStr, out uint ID))
@@ -671,6 +726,7 @@ namespace ZLGUSBCANFD
/// <summary>
/// 发送自定义报文(原始字节,帧 ID 支持 string 兼容模式)。
/// 循环发送间隔毫秒 = 0 时只发送一次;>0 时按指定间隔循环发送,可调用 停止循环发送 停止。
/// </summary>
/// <param name="通道号">CAN/CANFD 通道索引</param>
/// <param name="帧IDStr">帧 ID(可以是 "26"、"0x1A"、"1A");扩展帧会自动置位 0x80000000</param>
@@ -679,6 +735,8 @@ namespace ZLGUSBCANFD
/// <param name="是否是扩展帧">是否为 29 位扩展帧</param>
/// <param name="是否是CANFD">true = CANFDfalse = 经典 CAN</param>
/// <param name="开启波特率加速BRS">CANFD 是否开启波特率加速</param>
/// <param name="循环发送间隔毫秒">0 = 单次发送;>0 = 周期循环发送(毫秒)</param>
/// <returns>是否成功启动/发送</returns>
public virtual bool (
uint ,
string IDStr,
@@ -686,7 +744,8 @@ namespace ZLGUSBCANFD
byte dlcLength,
bool = false,
bool CANFD = true,
bool BRS = true)
bool BRS = true,
int = 0)
{
if (!TryParseFrameId(IDStr, out uint ID))
{
@@ -696,23 +755,88 @@ namespace ZLGUSBCANFD
if ( >= _maxChannels || _channelHandles[] == IntPtr.Zero) return false;
if ( == null) return false;
if ( < 0) throw new ArgumentOutOfRangeException(nameof(), "循环发送间隔必须大于或等于 0。");
// 扩展帧需要把最高位标志位置起来
uint canId = ID & 0x7FFFFFFF;
if () canId |= 0x80000000;
// 单次发送
if ( == 0)
{
return (, canId, , dlcLength, , CANFD, BRS);
}
// 循环发送:先停止同通道同帧 ID 的旧循环,再启动新循环
(, ID);
// 拷贝原始数据,避免外部修改影响循环发送
byte[] dataCopy = new byte[.Length];
Array.Copy(, dataCopy, .Length);
var cts = new CancellationTokenSource();
var sendTask = Task.Run(async () =>
{
while (!cts.Token.IsCancellationRequested)
{
if (_isClosing) break;
try
{
lock (_channelLocks[])
{
if (_channelHandles[] == IntPtr.Zero || _isClosing) break;
(, canId, dataCopy, dlcLength, , CANFD, BRS);
}
await Task.Delay(, cts.Token);
}
catch (OperationCanceledException)
{
break;
}
catch (Exception ex)
{
Logger.LoggerHelper.Error($"[ZLGCANFD] 循环发送自定义报文失败: {ex.Message}");
break;
}
}
if (_cyclicSenders.TryGetValue((, ID), out var current) && ReferenceEquals(current.Cts, cts))
{
_cyclicSenders.TryRemove((, ID), out _);
}
cts.Dispose();
}, cts.Token);
_cyclicSenders[(, ID)] = (cts, sendTask);
return true;
}
/// <summary>
/// 发送自定义报文的单次执行(内部方法,无循环逻辑)。
/// </summary>
[Browsable(false)]
private bool (
uint ,
uint canId,
byte[] ,
byte dlcLength,
bool ,
bool CANFD,
bool BRS)
{
lock (_channelLocks[])
{
if (CANFD)
{
// CANFD 有效 DLC 校验
byte validFdDlc = CANFD的Dlc(dlcLength);
ZLGCAN.canfd_frame fdFrame = new ZLGCAN.canfd_frame
{
can_id = canId,
len = validFdDlc,
flags = (byte)(( ? 0x01 : 0x00) | (BRS ? 0x02 : 0x00) | 0x20), // 0x20 本地回显
flags = (byte)(( ? 0x01 : 0x00) | (BRS ? 0x02 : 0x00) | 0x20),
data = new byte[64]
};
Array.Copy(, 0, fdFrame.data, 0, Math.Min(.Length, 64));
@@ -732,7 +856,7 @@ namespace ZLGUSBCANFD
{
can_id = canId,
can_dlc = dlcLength > 8 ? (byte)8 : dlcLength,
__pad = 0x20, // 发送回显
__pad = 0x20,
data = new byte[8]
};
Array.Copy(, 0, standardFrame.data, 0, Math.Min(.Length, 8));
@@ -901,9 +1025,6 @@ namespace ZLGUSBCANFD
#region 5.
/// <summary>
/// 计算物理值也需要传入对应通道,使用通道专属的DBC句柄进行计算
/// </summary>
/// <summary>
/// 智能解析帧 ID 字符串,兼容 10 进制、16 进制(如 "0x1A", "1A", "26"
/// </summary>
+1
View File
@@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
+729
View File
@@ -0,0 +1,729 @@
"""
ADP 测试项 (.adp) 文件生成器
根据 ADP 电路图设备拓扑自动生成电性能测试项文件
"""
import json
import uuid
import os
OUTPUT_DIR = r"D:\ADP\子程序"
# ============================================================
# 设备ID - 全部设为null,在ADP软件中配置实际设备后自动匹配
# ============================================================
# CancellationToken 类型
CT_TYPE = "System.Threading.CancellationToken, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
def uid():
return str(uuid.uuid4())
def make_param(name, type_str, value, category=0, is_save=False, is_output=False):
"""创建参数对象"""
return {
"ID": uid(),
"IsVisible": True,
"Name": name,
"Type": type_str,
"Category": category,
"IsGlobal": False,
"InitialValue": None,
"Value": value,
"LowerLimit": None,
"UpperLimit": None,
"Result": True,
"IsUseVar": False,
"IsSave": is_save,
"VariableName": None,
"VariableID": None,
"IsOutputToReport": is_output
}
def make_ct_param():
return make_param("ct", CT_TYPE, None)
def make_result_param(name="Result", type_str="System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", value=""):
return make_param(name, type_str, value, category=1, is_save=True, is_output=True)
def make_method_step(name, method_name, full_name, device_id, params, is_used=True, description=None):
"""创建方法步骤"""
return {
"ID": uid(),
"IsUsed": is_used,
"Index": 0, # Will be set later
"Name": name,
"StepType": "方法",
"Method": {
"Name": method_name,
"FullName": full_name,
"DeviceID": device_id,
"Parameters": params
},
"SubProgram": None,
"LoopCount": None,
"LoopStartStepId": None,
"OKExpression": None,
"GotoSettingString": "",
"OKGotoStepID": None,
"NGGotoStepID": None,
"Description": description
}
def make_delay_step(seconds, name=None, is_used=True):
"""创建延时步骤"""
return make_method_step(
name or f"延时{seconds}",
"Delay_s",
"Command.Delay",
None,
[
make_param("second", "System.Single, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(seconds)),
make_ct_param()
],
is_used=is_used
)
def make_loop_start(count, name="循环开始", is_used=True):
"""创建循环开始步骤"""
return {
"ID": uid(),
"IsUsed": is_used,
"Index": 0,
"Name": name,
"StepType": "循环开始",
"Method": {
"Name": None,
"FullName": None,
"DeviceID": None,
"Parameters": [
make_param("循环次数", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", None)
]
},
"SubProgram": None,
"LoopCount": count,
"LoopStartStepId": None,
"OKExpression": None,
"GotoSettingString": "",
"OKGotoStepID": None,
"NGGotoStepID": None,
"Description": None
}
def make_loop_end(loop_start_step, name="循环结束", is_used=True):
"""创建循环结束步骤"""
return {
"ID": uid(),
"IsUsed": is_used,
"Index": 0,
"Name": name,
"StepType": "循环结束",
"Method": None,
"SubProgram": None,
"LoopCount": None,
"LoopStartStepId": loop_start_step["ID"],
"OKExpression": None,
"GotoSettingString": "",
"OKGotoStepID": None,
"NGGotoStepID": None,
"Description": None
}
def set_indices(steps):
"""设置步骤索引"""
for i, step in enumerate(steps):
step["Index"] = i + 1
return steps
def make_program(steps, parameters=None, devices=None):
"""创建完整的程序文件"""
return {
"ID": uid(),
"StepCollection": set_indices(steps),
"Parameters": parameters or [],
"Devices": devices or []
}
# ============================================================
# 1. 设备初始化
# ============================================================
def gen_device_init():
steps = []
# --- IT7800E 交流源初始化 ---
steps.append(make_method_step("交流源-重置设备", "重置设备", "DeviceCommand.Devices.IT7800E", None, [make_ct_param()]))
steps.append(make_method_step("交流源-清除错误", "清除错误队列和状态字节", "DeviceCommand.Devices.IT7800E", None, [make_ct_param()]))
steps.append(make_method_step("交流源-查询设备标识", "查询设备标识", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("交流源-切换远程控制", "切换远程控制模式", "DeviceCommand.Devices.IT7800E", None, [make_ct_param()]))
steps.append(make_method_step("交流源-设置AC模式", "设置电源模式", "DeviceCommand.Devices.IT7800E", None, [
make_param("模式", "DeviceCommand.Devices.PowerCouplingMode, DeviceCommand", "AC"),
make_ct_param()
]))
steps.append(make_method_step("交流源-关闭输出", "设置DC输出", "DeviceCommand.Devices.IT7800E", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# --- N69200 高压直流负载初始化 ---
steps.append(make_method_step("高压负载-重置设备", "重置设备", "DeviceCommand.Devices.N69200", None, [make_ct_param()]))
steps.append(make_method_step("高压负载-清除错误", "清除错误队列和状态字节", "DeviceCommand.Devices.N69200", None, [make_ct_param()]))
steps.append(make_method_step("高压负载-查询设备标识", "查询设备标识", "DeviceCommand.Devices.N69200", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("高压负载-关闭输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_method_step("高压负载-设置CC模式", "设置负载模式", "DeviceCommand.Devices.N69200", None, [
make_param("模式", "DeviceCommand.Devices.N69200+DeviceWorkMode, DeviceCommand", "CC"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# --- SPAW7000 功率分析仪初始化 ---
steps.append(make_method_step("功率分析仪-重置设备", "重置设备", "DeviceCommand.Devices.SPAW7000", None, [make_ct_param()]))
steps.append(make_method_step("功率分析仪-清除错误", "清除错误队列和状态字节", "DeviceCommand.Devices.SPAW7000", None, [make_ct_param()]))
steps.append(make_method_step("功率分析仪-查询设备标识", "查询设备标识", "DeviceCommand.Devices.SPAW7000", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("功率分析仪-设置电压量程300V", "设置电压量程", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("range", "DeviceCommand.Devices.SPAW7000+VoltageRange, DeviceCommand", "V_300"),
make_ct_param()
]))
steps.append(make_method_step("功率分析仪-设置电流量程10A", "设置电流量程", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("range", "DeviceCommand.Devices.SPAW7000+CurrentRange, DeviceCommand", "A_10"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# --- SDS2000X_HD 示波器初始化 ---
steps.append(make_method_step("示波器-重置设备", "重置设备", "DeviceCommand.Devices.SDS2000X_HD", None, [make_ct_param()]))
steps.append(make_method_step("示波器-清除状态", "清除状态", "DeviceCommand.Devices.SDS2000X_HD", None, [make_ct_param()]))
steps.append(make_method_step("示波器-查询设备标识", "查询设备标识", "DeviceCommand.Devices.SDS2000X_HD", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("示波器-开启CH1", "设置通道开关", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("enable", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_method_step("示波器-设置触发模式AUTO", "设置触发模式", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("mode", "DeviceCommand.Devices.SDS2000X_HD+TriggerMode, DeviceCommand", "AUTO"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# --- N36600 低压直流电源初始化 ---
steps.append(make_method_step("低压电源-设置电压12V", "设置电压", "DeviceCommand.Devices.N36600", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "12.000"),
make_ct_param()
]))
steps.append(make_method_step("低压电源-设置电流2A", "设置电流", "DeviceCommand.Devices.N36600", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "2.000"),
make_ct_param()
]))
steps.append(make_method_step("低压电源-关闭输出", "设置DC输出", "DeviceCommand.Devices.N36600", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒-等待设备就绪"))
return make_program(steps)
# ============================================================
# 2. IO板卡测试
# ============================================================
def gen_io_test():
steps = []
# 测试8个工位的IO控制
for station in range(1, 9):
# 单相充电-开启
steps.append(make_method_step(
f"{station}#工位-单相充电开启",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None, # IOBoardGroup 无DeviceID(组合设备)
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "单相充电"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 单相充电-关闭
steps.append(make_method_step(
f"{station}#工位-单相充电关闭",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "单相充电"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 抛负载-开启
steps.append(make_method_step(
f"{station}#工位-抛负载开启",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "抛负载"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 抛负载-关闭
steps.append(make_method_step(
f"{station}#工位-抛负载关闭",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "抛负载"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 短路测试-开启
steps.append(make_method_step(
f"{station}#工位-短路测试开启",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "短路测试"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 短路测试-关闭
steps.append(make_method_step(
f"{station}#工位-短路测试关闭",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "短路测试"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]
))
steps.append(make_delay_step(0.5, f"延时0.5秒"))
# 蜂鸣器测试
for station in range(1, 9):
steps.append(make_method_step(
f"{station}#工位-蜂鸣器开启",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "蜂鸣器报警"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]
))
steps.append(make_delay_step(2, "蜂鸣器响2秒"))
for station in range(1, 9):
steps.append(make_method_step(
f"{station}#工位-蜂鸣器关闭",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", "蜂鸣器报警"),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]
))
return make_program(steps)
# ============================================================
# 3. 低压直流电源测试 (N36600)
# ============================================================
def gen_lv_dc_test():
steps = []
# 输出电压精度测试 - 多个电压点
test_voltages = [5.0, 12.0, 24.0, 36.0, 48.0]
for v in test_voltages:
steps.append(make_method_step(f"设置输出电压{v}V", "设置电压", "DeviceCommand.Devices.N36600", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"{v:.3f}"),
make_ct_param()
]))
steps.append(make_method_step(f"开启输出", "设置DC输出", "DeviceCommand.Devices.N36600", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_delay_step(2, f"延时2秒-稳定"))
# 读取实际电压
step_v = make_method_step(f"读取实际电压", "查询实际电压", "DeviceCommand.Devices.N36600", None, [
make_ct_param(),
make_result_param("Result", value="")
])
steps.append(step_v)
# 读取实际电流
steps.append(make_method_step(f"读取实际电流", "查询实际电流", "DeviceCommand.Devices.N36600", None, [
make_ct_param(),
make_result_param("Result", value="")
]))
# 读取实际功率
steps.append(make_method_step(f"读取实际功率", "查询实际功率", "DeviceCommand.Devices.N36600", None, [
make_ct_param(),
make_result_param("Result", value="")
]))
steps.append(make_method_step(f"关闭输出", "设置DC输出", "DeviceCommand.Devices.N36600", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
return make_program(steps)
# ============================================================
# 4. 交流电源测试 (IT7800E)
# ============================================================
def gen_ac_source_test():
steps = []
# 交流输入源测试 - 设置不同电压和频率
test_configs = [
(110, 50), (220, 50), (220, 60), (230, 50), (240, 60)
]
for voltage, freq in test_configs:
steps.append(make_method_step(f"设置交流电压{voltage}V 频率{freq}Hz", "设置电源模式", "DeviceCommand.Devices.IT7800E", None, [
make_param("模式", "DeviceCommand.Devices.PowerCouplingMode, DeviceCommand", "AC"),
make_ct_param()
]))
steps.append(make_method_step(f"设置电压{voltage}V", "设置交流电压", "DeviceCommand.Devices.IT7800E", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"{voltage:.2f}"),
make_ct_param()
]))
steps.append(make_method_step(f"设置频率{freq}Hz", "设置频率", "DeviceCommand.Devices.IT7800E", None, [
make_param("频率", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"{freq:.2f}"),
make_ct_param()
]))
steps.append(make_method_step("开启交流输出", "设置DC输出", "DeviceCommand.Devices.IT7800E", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_delay_step(3, "延时3秒-稳定"))
# 测量
steps.append(make_method_step("查询实际电压", "查询实际电压", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("查询实际电流", "查询实际电流", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("查询实际功率", "查询实际功率", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("查询实际频率", "查询实际频率", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("查询功率因数", "查询功率因数", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("关闭交流输出", "设置DC输出", "DeviceCommand.Devices.IT7800E", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(2, "延时2秒"))
return make_program(steps)
# ============================================================
# 5. 效率测试 (SPAW7000 + N69200)
# ============================================================
def gen_efficiency_test():
steps = []
# 效率测试流程:
# 1. 交流源供电给DUT
# 2. DUT输出到高压直流负载
# 3. 功率分析仪测量输入/输出功率
# 4. 计算效率 = 输出功率/输入功率
# 设置功率分析仪通道
steps.append(make_method_step("功率分析仪-设置通道1电压量程", "设置电压量程", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("range", "DeviceCommand.Devices.SPAW7000+VoltageRange, DeviceCommand", "V_300"),
make_ct_param()
]))
steps.append(make_method_step("功率分析仪-设置通道1电流量程", "设置电流量程", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("range", "DeviceCommand.Devices.SPAW7000+CurrentRange, DeviceCommand", "A_10"),
make_ct_param()
]))
# 设置负载为CC模式
steps.append(make_method_step("高压负载-设置CC模式", "设置负载模式", "DeviceCommand.Devices.N69200", None, [
make_param("模式", "DeviceCommand.Devices.N69200+DeviceWorkMode, DeviceCommand", "CC"),
make_ct_param()
]))
# 不同功率点效率测试
load_currents = [1.0, 2.0, 5.0, 10.0, 15.0, 20.0]
for current in load_currents:
steps.append(make_method_step(f"设置负载电流{current}A", "设置恒电流CC", "DeviceCommand.Devices.N69200", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"{current:.4f}"),
make_ct_param()
]))
steps.append(make_method_step("高压负载-开启输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_delay_step(3, "延时3秒-稳定"))
# 功率分析仪读取输入功率
steps.append(make_method_step("读取输入电压", "查询实际电压", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_ct_param()
]))
steps.append(make_method_step("读取输入电流", "查询实际电流", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_ct_param()
]))
steps.append(make_method_step("读取输入功率", "查询实际功率", "DeviceCommand.Devices.SPAW7000", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_ct_param()
]))
# 高压负载读取输出功率
steps.append(make_method_step("读取输出电压", "查询实际电压", "DeviceCommand.Devices.N69200", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("读取输出电流", "查询实际电流", "DeviceCommand.Devices.N69200", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("读取输出功率", "查询实际功率", "DeviceCommand.Devices.N69200", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("高压负载-关闭输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
return make_program(steps)
# ============================================================
# 6. 纹波测试 (SDS2000X_HD)
# ============================================================
def gen_ripple_test():
steps = []
# 纹波测试:用示波器测量DUT输出的电压纹波
# 示波器CH1连接到DUT输出端
# 示波器设置
steps.append(make_method_step("示波器-开启CH1", "设置通道开关", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("enable", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_method_step("示波器-设置CH1电压档位50mV", "设置通道电压档位", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_param("volts", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "0.0500"),
make_ct_param()
]))
steps.append(make_method_step("示波器-设置触发模式AUTO", "设置触发模式", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("mode", "DeviceCommand.Devices.SDS2000X_HD+TriggerMode, DeviceCommand", "AUTO"),
make_ct_param()
]))
steps.append(make_method_step("示波器-设置水平时基", "设置水平时基", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("scale", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "0.000010"),
make_ct_param()
]))
# 设置负载并测量纹波
load_currents = [1.0, 5.0, 10.0, 15.0, 20.0]
for current in load_currents:
steps.append(make_method_step(f"设置负载电流{current}A", "设置恒电流CC", "DeviceCommand.Devices.N69200", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"{current:.4f}"),
make_ct_param()
]))
steps.append(make_method_step("高压负载-开启输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
steps.append(make_delay_step(3, "延时3秒-波形稳定"))
# 测量纹波
steps.append(make_method_step("测量CH1电压峰峰值", "查询实际电压峰峰值", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_ct_param()
]))
steps.append(make_method_step("测量CH1电压RMS", "查询实际电压均方根", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("channel", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "1"),
make_ct_param()
]))
# 截图保存
steps.append(make_method_step(f"保存波形截图-{current}A", "获取屏幕图像并保存", "DeviceCommand.Devices.SDS2000X_HD", None, [
make_param("saveFilePath", "System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", f"D:\\ADP\\纹波截图\\{current}A_纹波.png"),
make_ct_param()
]))
steps.append(make_method_step("高压负载-关闭输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
return make_program(steps)
# ============================================================
# 7. 保护测试 (N36600 OVP/OCP + N69200)
# ============================================================
def gen_protection_test():
steps = []
# === 低压电源OVP测试 ===
steps.append(make_method_step("低压电源-设置OVP阈值", "设置过压保护值", "DeviceCommand.Devices.N36600", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "60.000"),
make_ct_param()
]))
steps.append(make_method_step("低压电源-使能OVP", "设置电压保护使能", "DeviceCommand.Devices.N36600", None, [
make_param("启用", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
# === 低压电源OCP测试 ===
steps.append(make_method_step("低压电源-设置OCP阈值", "设置过流保护值", "DeviceCommand.Devices.N36600", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "10.000"),
make_ct_param()
]))
steps.append(make_method_step("低压电源-使能OCP", "设置电流保护使能", "DeviceCommand.Devices.N36600", None, [
make_param("启用", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "true"),
make_ct_param()
]))
# === 高压负载OVP测试 ===
steps.append(make_method_step("高压负载-设置OVP阈值", "设置过压保护值_OVP", "DeviceCommand.Devices.N69200", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "500.000"),
make_ct_param()
]))
# === 高压负载OCP测试 ===
steps.append(make_method_step("高压负载-设置OCP阈值", "设置过流保护值_OCP", "DeviceCommand.Devices.N69200", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "30.000"),
make_ct_param()
]))
# === 高压负载OPP测试 ===
steps.append(make_method_step("高压负载-设置OPP阈值", "设置过功率保护值_OPP", "DeviceCommand.Devices.N69200", None, [
make_param("功率", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "5000.000"),
make_ct_param()
]))
# === 交流源OVP设置 ===
steps.append(make_method_step("交流源-设置OVP阈值", "设置过压保护_OVP", "DeviceCommand.Devices.IT7800E", None, [
make_param("电压", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "280.00"),
make_ct_param()
]))
# === 交流源OCP设置 ===
steps.append(make_method_step("交流源-设置OCP阈值", "设置过流保护_OCP", "DeviceCommand.Devices.IT7800E", None, [
make_param("电流", "System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "30.000"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒-保护参数设置完成"))
# 查询所有保护状态确认
steps.append(make_method_step("低压电源-查询错误信息", "查询错误信息", "DeviceCommand.Devices.N36600", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("高压负载-查询报警事件", "查询报警事件信息", "DeviceCommand.Devices.N69200", None, [make_ct_param(), make_result_param()]))
steps.append(make_method_step("交流源-查询错误信息", "查询错误信息", "DeviceCommand.Devices.IT7800E", None, [make_ct_param(), make_result_param()]))
return make_program(steps)
# ============================================================
# 8. 设备关机
# ============================================================
def gen_shutdown():
steps = []
# 安全关机流程:先关负载,再关电源
# 关闭高压直流负载
steps.append(make_method_step("高压负载-关闭输入", "设置DC输入", "DeviceCommand.Devices.N69200", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# 关闭交流源
steps.append(make_method_step("交流源-关闭输出", "设置DC输出", "DeviceCommand.Devices.IT7800E", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# 关闭低压直流电源
steps.append(make_method_step("低压电源-关闭输出", "设置DC输出", "DeviceCommand.Devices.N36600", None, [
make_param("开启", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]))
steps.append(make_delay_step(1, "延时1秒"))
# 关闭所有工位继电器
for station in range(1, 9):
for action in ["单相充电", "抛负载", "短路测试"]:
steps.append(make_method_step(
f"{station}#工位-关闭{action}",
"执行台架动作Async",
"DeviceCommand.Devices.IOBoardGroup",
None,
[
make_param("台架序号", "System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", str(station)),
make_param("动作", "DeviceCommand.Devices.功能动作, DeviceCommand", action),
make_param("开关状态", "System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "false"),
make_ct_param()
]
))
# 设备切换本地模式
steps.append(make_method_step("交流源-切换本地模式", "切换本地控制模式", "DeviceCommand.Devices.IT7800E", None, [make_ct_param()]))
steps.append(make_method_step("低压电源-切换本地模式", "切换本地控制模式", "DeviceCommand.Devices.N36600", None, [make_ct_param()]))
steps.append(make_delay_step(2, "延时2秒-关机完成"))
return make_program(steps)
# ============================================================
# 主生成逻辑
# ============================================================
if __name__ == "__main__":
os.makedirs(OUTPUT_DIR, exist_ok=True)
files = {
"01-设备初始化.adp": gen_device_init,
"02-IO板卡测试.adp": gen_io_test,
"03-低压直流电源测试.adp": gen_lv_dc_test,
"04-交流电源测试.adp": gen_ac_source_test,
"05-效率测试.adp": gen_efficiency_test,
"06-纹波测试.adp": gen_ripple_test,
"07-保护测试.adp": gen_protection_test,
"08-设备关机.adp": gen_shutdown,
}
for filename, gen_func in files.items():
filepath = os.path.join(OUTPUT_DIR, filename)
data = gen_func()
with open(filepath, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
step_count = len(data["StepCollection"])
print(f"[OK] {filename} ({step_count} steps)")
print(f"\nAll files generated in: {OUTPUT_DIR}")