using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Tps_LQ_Transmitter.com; using AppLibs.Devices; namespace Tps_LQ_Transmitter.models { /// /// 增益测试测试模板,继承自指标测试模板基类 /// public class GainTestModel : BaseModel { /// /// 测试模板名称,测试指标配置表中的模板名称源自这个参数 /// public GainTestModel() { //首先要定义模板名称,excel 自动测试项总表中的指标测试模板的名称要和这个名称一致 TemplateName = "增益测试模板"; } /// /// 重写的Run方法,当执行到这个测试指标项时,Run会被调用 /// /// /// public override bool Run(TestNode parameters) { //检查当前指标需要的仪器是否OK, var sig = this.tps.GetDevice("信号源1"); var spe = this.tps.GetDevice("频谱仪"); if(sig == null || spe == null) { ShowMessage(MsgType.Error, string.Format("仪器不齐全,{0}/{1}无法运行",parameters.Channel,parameters.Name)); return false; } int[] values = parameters.Parameters.GetParameterToArray("频率"); int delay = parameters.Parameters.GetParameter("通道延迟"); if (values == null) { ShowMessage(MsgType.Error, string.Format("配置文件中频率参数为空,{0}/{1}无法运行",parameters.Channel,parameters.Name)); return false; } //开始测试 this.tps.SetTestTableCellValue(0, 4, values[0]); this.tps.SetTestTableCellValue(0, 5, values[1]); this.tps.SetTestTableCellValue(0, 6, values[2]); tps.SetManualTableCellValue(0, 2, delay); //当测试过程比较久时,要走合适的地方检测IsRuning if (IsRuning == false) { //过程中如果IsRunning为false,表示按了停止测试按钮,要退出程序运行 return false; } return true; } } }