using System; using System.Collections.Generic; using TBF.BenchControl.Generic; using TBF.Boxes; namespace TBF.BenchControl.GenericDevices { public interface IRegulValve : IComponent { /// /// Regulation valve position 0.0 .. 100.0 % /// float Position { get; } /// /// Dictionary for position re-use /// IDictionary Dict { get; } /// /// Operation to set the water flow within tolerances /// Events: Event.None, Event.FlowReached, Event.FlowTimeOut /// /// Lower limit of the required flow [m3/h] /// Higher limit of the required flow [m3/h] /// Measured flow [m3/h] /// Timeout in [s] /// SetFlowOp instance IOperation SetFlowOp(IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout); /// /// Operation to set the water flow within tolerances. Leave the measurement running. /// Events: Event.None, Event.FlowReached, Event.FlowTimeOut /// /// Lower limit of the required flow [m3/h] /// Higher limit of the required flow [m3/h] /// Measured flow [m3/h] /// Timeout in [s] /// Passed to SendCommand() as argument filterContant /// SetFlowOp instance IOperation SetFlowAndMeasureOp(IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout, float filter); /// /// Operation to set the regulation valve to a required position /// Events: Event.None /// /// Lower limit of the required valve position in % /// Higher limit of the required valve position in % /// Timeout in [s] /// SetPositionOp instance IOperation SetRegulValvePositionOp(float posLoPct, float posHiPct, int timeout); /// /// Operation to set the regulation valve to a required position /// Events: Event.None /// /// Time pulse in sec /// SetPositionOp instance IOperation ChangeRegulValvePositionOp(float timePulseSec); } }