/// <summary> /// 设置被试电磁阀的电磁铁状态22V:左、中、右 /// </summary> /// <param name="state"></param> public void SetTestValveState_22V(TestValveState state) { //Group["被试阀电压切换缓存"] = true; //switch (state) //{ // case TestValveState.左位: // Group["被试阀右控缓存_22V"] = false; // Group["被试阀左控缓存_22V"] = true; // break; // case TestValveState.右位: // Group["被试阀右控缓存_22V"] = true; // Group["被试阀左控缓存_22V"] = false; // break; // default: // Group["被试阀右控缓存_22V"] = false; // Group["被试阀左控缓存_22V"] = false; // break; //} LOG.Debug("电磁铁22V电源被设置为" + state.ToString()); }
/// <summary> /// /// </summary> /// <param name="state"></param> private void SteadystatePreeesureSingleSide(TestValveState state) { if (state == TestValveState.中位) { return; } CurvePanel panel = new CurvePanel(); panel.Title = TestType.稳态压差流量特性试验.ToString() + "(" + state.ToString() + ")"; panel.XLabel = "流量(L/Min)"; panel.YLabel = "压差(MPa)"; Curve curvePT = new Curve(); Curve curvePA = new Curve(); Curve curvePB = new Curve(); Curve curveAT = new Curve(); Curve curveBT = new Curve(); //添加曲线 panel.AddCurve(curvePT); panel.AddCurve(curvePA); panel.AddCurve(curvePB); panel.AddCurve(curveAT); panel.AddCurve(curveBT); //添加曲线名称 curvePT.Name = "PT口"; curvePA.Name = "PA口"; curvePB.Name = "PB口"; curveAT.Name = "AT口"; curveBT.Name = "BT口"; this.SetCircuitState(CircuitState.PABTOut); this.SetThrottleValve(100f); this.SetTestValveState(state); this.SetSourcePre(this.额定压力); float 最大流量 = (float)(this.额定流量); this.SetSourceFlow(0); Pause(3000); const int div_cnt = 10; const int measure_cnt = 10; float pressure_A = 0; float pressure_B = 0; float pressure_P = 0; float pressure_T = 0; float delta_q = (float)(最大流量 / div_cnt); float flow = 0; for (int i = 0; i <= div_cnt; i++) { this.SetSourceFlow(i * delta_q); //读取压力流量数据 flow = 0; pressure_A = 0; pressure_B = 0; pressure_P = 0; pressure_T = 0; for (int j = 0; j < measure_cnt; j++) { Pause(500); flow += this.当前流量绝对值 / measure_cnt; pressure_A += this.当前A口压力 / measure_cnt; pressure_B += this.当前B口压力 / measure_cnt; pressure_P += this.当前P口压力 / measure_cnt; pressure_T += this.当前T口压力 / measure_cnt; } //将数据添加到曲线 curvePT.AddPoint(flow, pressure_P - pressure_T); curvePA.AddPoint(flow, pressure_P - pressure_A); curvePB.AddPoint(flow, pressure_P - pressure_B); curveAT.AddPoint(flow, pressure_A - pressure_T); curveBT.AddPoint(flow, pressure_B - pressure_T); } this.SetSourcePre(0); this.SetSourceFlow(0); SetTestValveState(TestValveState.中位); this.SetThrottleValve(50f); this.dictCurvePanel.Remove(panel.Title); this.dictCurvePanel.Add(panel.Title, panel); }
/// <summary> /// 设置被试阀至指定工位 /// </summary> /// <param name="state"></param> protected override void SetTestValveState(TestValveState state) { MessageBox.Show("请手动将被试阀切换至" + state.ToString()); }