Refactorization : IRegValve.position is double, Uni.RegValve.adcChannel properly initialized, ver. 3.1.1603
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TBF.BenchControl.Generic;
|
||||
using TBF.Boxes;
|
||||
|
||||
namespace TBF.BenchControl.GenericDevices
|
||||
{
|
||||
public interface IRegValve : IComponent
|
||||
{
|
||||
/// <summary>
|
||||
/// All, Feeding, Bench, Output or None
|
||||
/// </summary>
|
||||
ValveCategory Category { get; }
|
||||
|
||||
/// <summary>
|
||||
/// true = The regulation valve is 4-20 mA current controlled coaxial valve
|
||||
/// </summary>
|
||||
bool IsCoax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Regulation valve position 0.0 .. 100.0 %
|
||||
/// </summary>
|
||||
double Position { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Dictionary for position re-use
|
||||
/// </summary>
|
||||
IDictionary<double, double> Dict { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation to set the water flow within tolerances
|
||||
/// Events: Event.None, Event.FlowReached, Event.FlowTimeOut
|
||||
/// </summary>
|
||||
/// <param name="requiredFlowLo">Lower limit of the required flow [m3/h]</param>
|
||||
/// <param name="requiredFlowHi">Higher limit of the required flow [m3/h]</param>
|
||||
/// <param name="pidCoef">PID coefficient (float)</param>
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
IOperation SetFlowOp(IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout);
|
||||
|
||||
/// <summary>
|
||||
/// Operation to set the water flow within tolerances. Leave the measurement running.
|
||||
/// Events: Event.None, Event.FlowReached, Event.FlowTimeOut
|
||||
/// </summary>
|
||||
/// <param name="requiredFlowLo">Lower limit of the required flow [m3/h]</param>
|
||||
/// <param name="requiredFlowHi">Higher limit of the required flow [m3/h]</param>
|
||||
/// <param name="pidCoef">PID coefficient (float)</param>
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <param name="filter">Passed to SendCommand() as argument filterContant</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
IOperation SetFlowAndMeasureOp(IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, float filter);
|
||||
|
||||
/// <summary>
|
||||
/// Operation to set the regulation valve to a required position
|
||||
/// Events: Event.None
|
||||
/// </summary>
|
||||
/// <param name="posLoPct">Lower limit of the required valve position in %</param>
|
||||
/// <param name="posHiPct">Higher limit of the required valve position in %</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetPositionOp instance</returns>
|
||||
IOperation SetRegulValvePositionOp(double posLoPct, double posHiPct, int timeout);
|
||||
|
||||
/// <summary>
|
||||
/// Operation to set the regulation valve to a required position
|
||||
/// Events: Event.None
|
||||
/// </summary>
|
||||
/// <param name="timePulseSec">Time pulse in sec</param>
|
||||
/// <returns>SetPositionOp instance</returns>
|
||||
IOperation ChangeRegulValvePositionOp(double timePulseSec);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user