/// /// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using System.Collections.Generic; using TBF.BenchControl.Generic; using TBF.Boxes; namespace TBF.BenchControl.GenericDevices { /// /// Basic flow meter functions /// public interface IFlowMeter : IComponent { /// /// Nominal flow in m3/h at the maximum (2kHz) output frequency. /// In case of a flowmeter couple, the sum of two nominal flows (reached at 4kHz of summed pulses). /// float NominalFlow { get; } /// /// Nominal (uncorrected) volume per flowmeter pulse in [l]. /// float LtrPerPulse { get; } /// /// Corrected volume per flowmeter pulse in [l]. /// /// Water flow in [m3/h] float LtrPerPulseCorrected(double flow, int rangeIx); /// /// Reference flow meter communicated to the board: 1-based index, 0 for flow meter twins /// int Idx1 { get; } /// /// Measurement correction table /// IList Corrections { get; } /// /// Returns current flow value in [m3/h] /// /// Flow in m3/h double ReadFlow(); /// /// Returns current flow meter frequency value in [Hz] /// /// Frequency in Hz double ReadFrequency(); /// /// Events: FlowDone, Error /// /// Reference to a variable for the measured flow in xxx /// ReadFlowOp instance reference casted to IOperaton IOperation ReadFlowOp(ref DoubleBox flow); /// /// Events: flowDone, Error /// /// Reference to a variable for the measured flow in xxx /// Event returned when measurement done /// ReadFlowOp instance reference casted to IOperaton IOperation ReadFlowOp(ref DoubleBox flow, Event flowDone); } }