12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using PowerTestDemo.com;
- using AppLibs.Devices;
- using System.Threading;
- namespace PowerTestDemo.models
- {
- /// <summary>
- /// 增益测试测试模板,继承自指标测试模板基类
- /// </summary>
- public class OutputCurrent : BaseModel
- {
- /// <summary>
- /// 测试模板名称,测试指标配置表中的模板名称源自这个参数
- /// </summary>
- public OutputCurrent()
- {
- //首先要定义模板名称,excel 自动测试项总表中的指标测试模板的名称要和这个名称一致
- TemplateName = "输出电流模板";
- }
- /// <summary>
- /// 重写的Run方法,当执行到这个测试指标项时,Run会被调用
- /// </summary>
- /// <param name="parameters"></param>
- /// <returns></returns>
- 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 ch = parameters.Parameters.GetParameter<int>("板卡通道");
- double[] ratedThreshold = parameters.Parameters.GetParameterToArray<double>("+15V1空载阈值");
- double[] downThreshold = parameters.Parameters.GetParameterToArray<double>("下拉偏阈值");
- double[] upThreshold = parameters.Parameters.GetParameterToArray<double>("上拉偏阈值");
- if (ratedThreshold == null)
- {
- ShowMessage(MsgType.Error, string.Format("配置文件中频率参数为空,{0}/{1}无法运行",parameters.Channel,parameters.Name));
- return false;
- }
- //开始测试
- Thread.Sleep(50);
- Random rd = new Random();
- double result = 0;
- result =rd.NextDouble();
- result = double.Parse(String.Format("{0:F1}", result));
- if (parameters.Channel == "+15V1")
- this.tps.SetTestTableCellValue(7, 1, true, result + 2.2);
- else if (parameters.Channel == "-15V1")
- this.tps.SetTestTableCellValue(7, 2, true, result + 0.6);
- else if (parameters.Channel == "+5V1")
- this.tps.SetTestTableCellValue(7, 3, true, result + 6.5);
- else if (parameters.Channel == "-5V")
- this.tps.SetTestTableCellValue(7, 4, false, result + 0.8);
- else if (parameters.Channel == "+12V")
- this.tps.SetTestTableCellValue(7, 5, true, result + 1.4);
- else if (parameters.Channel == "+15V2")
- this.tps.SetTestTableCellValue(7, 6, false, result + 0.7);
- else if (parameters.Channel == "-15V2")
- this.tps.SetTestTableCellValue(7, 7, false, result + 0.8);
- else if (parameters.Channel == "+5V2")
- this.tps.SetTestTableCellValue(7, 8, true, result + 6.5);
- else if (parameters.Channel == "+50V")
- this.tps.SetTestTableCellValue(7, 9, false, (result/10) + 0.1);
- else if (parameters.Channel == "+25V")
- this.tps.SetTestTableCellValue(7, 10, true, result + 1.0);
- else if (parameters.Channel == "+28V")
- this.tps.SetTestTableCellValue(7, 11, true,0.01);
- //当测试过程比较久时,要走合适的地方检测IsRuning
- if (IsRuning == false)
- {
- //过程中如果IsRunning为false,表示按了停止测试按钮,要退出程序运行
- return false;
- }
- return true;
- }
- }
- }
|