GainTestModel.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows.Forms;
  7. using Tps_LQ_Transmitter.com;
  8. using AppLibs.Devices;
  9. namespace Tps_LQ_Transmitter.models
  10. {
  11. /// <summary>
  12. /// 增益测试测试模板,继承自指标测试模板基类
  13. /// </summary>
  14. public class GainTestModel : BaseModel
  15. {
  16. /// <summary>
  17. /// 测试模板名称,测试指标配置表中的模板名称源自这个参数
  18. /// </summary>
  19. public GainTestModel()
  20. {
  21. //首先要定义模板名称,excel 自动测试项总表中的指标测试模板的名称要和这个名称一致
  22. TemplateName = "增益测试模板";
  23. }
  24. /// <summary>
  25. /// 重写的Run方法,当执行到这个测试指标项时,Run会被调用
  26. /// </summary>
  27. /// <param name="parameters"></param>
  28. /// <returns></returns>
  29. public override bool Run(TestNode parameters)
  30. {
  31. //检查当前指标需要的仪器是否OK,
  32. var sig = this.tps.GetDevice("信号源1");
  33. var spe = this.tps.GetDevice("频谱仪");
  34. if(sig == null || spe == null)
  35. {
  36. ShowMessage(MsgType.Error, string.Format("仪器不齐全,{0}/{1}无法运行",parameters.Channel,parameters.Name));
  37. return false;
  38. }
  39. int[] values = parameters.Parameters.GetParameterToArray<int>("频率");
  40. int delay = parameters.Parameters.GetParameter<int>("通道延迟");
  41. if (values == null)
  42. {
  43. ShowMessage(MsgType.Error, string.Format("配置文件中频率参数为空,{0}/{1}无法运行",parameters.Channel,parameters.Name));
  44. return false;
  45. }
  46. //开始测试
  47. this.tps.SetTestTableCellValue(0, 4, values[0]);
  48. this.tps.SetTestTableCellValue(0, 5, values[1]);
  49. this.tps.SetTestTableCellValue(0, 6, values[2]);
  50. tps.SetManualTableCellValue(0, 2, delay);
  51. //当测试过程比较久时,要走合适的地方检测IsRuning
  52. if (IsRuning == false)
  53. {
  54. //过程中如果IsRunning为false,表示按了停止测试按钮,要退出程序运行
  55. return false;
  56. }
  57. return true;
  58. }
  59. }
  60. }