58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
///
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
///
|
|
using System.Collections.Generic;
|
|
using TBF.BenchControl.Generic;
|
|
using TBF.Boxes;
|
|
|
|
namespace TBF.BenchControl.GenericDevices
|
|
{
|
|
/// <summary>
|
|
/// Basic flow meter functions
|
|
/// </summary>
|
|
public interface IFlowMeter : IComponent
|
|
{
|
|
/// <summary>
|
|
/// 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).
|
|
/// </summary>
|
|
float NominalFlow { get; }
|
|
|
|
/// <summary>
|
|
/// Nominal (uncorrected) volume per flowmeter pulse in [l].
|
|
/// </summary>
|
|
float LtrPerPulse { get; }
|
|
|
|
/// <summary>
|
|
/// Corrected volume per flowmeter pulse in [l].
|
|
/// </summary>
|
|
/// <param name="flow">Water flow in [m3/h]</param>
|
|
float LtrPerPulseCorrected(double flow);
|
|
|
|
/// <summary>
|
|
/// 1 based index of the reference flowmeter
|
|
/// </summary>
|
|
int Idx1 { get; }
|
|
|
|
/// <summary>
|
|
/// Measurement correction table
|
|
/// </summary>
|
|
IList<Config.Entities.MeasurementCorrection> Corrections { get; }
|
|
|
|
/// <summary>
|
|
/// Events: FlowDone, Error
|
|
/// </summary>
|
|
/// <param name="flow">Reference to a variable for the measured flow in xxx</param>
|
|
/// <returns>ReadFlowOp instance reference casted to IOperaton</returns>
|
|
IOperation ReadFlowOp(ref FloatBox flow);
|
|
|
|
/// <summary>
|
|
/// Events: flowDone, Error
|
|
/// </summary>
|
|
/// <param name="flow">Reference to a variable for the measured flow in xxx</param>
|
|
/// <param name="flowDone">Event returned when measurement done</param>
|
|
/// <returns>ReadFlowOp instance reference casted to IOperaton</returns>
|
|
IOperation ReadFlowOp(ref FloatBox flow, Event flowDone);
|
|
}
|
|
}
|