/// /// Copyright (c) 2013-2017 Sensus Metering Systems /// using System.Collections.Generic; using TBF.BenchControl.Generic; using TBF.Boxes; namespace TBF.BenchControl.GenericDevices { /// /// Basic balance functions /// public interface IScale : IComponent { /// /// Balance number: 0-based index required for communication with the Elde component /// int ScaleNr { get; } /// /// Balance water tank capacity in kg or ltr /// double Capacity { get; } /// /// Water tank drain valve or 'null' /// IValve DrainValve { get; } /// /// Returns true if tank s empty, mass is less then some threshold /// bool IsEmpty(double mass); /// /// Returns true if tank s empty, the last measured mass is less then some threshold /// bool IsEmpty(); /// /// Format string to be used as ToString() argument (e.g. "F3" to obtain resolution 1g) /// string Format { get; } /// /// Time in seconds to empty the tank completely when it is full /// int EmptyTimeSec { get; } float BuoyancyTemp { get; } /// float BuoyancyPress { get; } /// Displayed in Metrology tab page float BuoyancyHumi { get; } /// /// /// Measurement correction table /// IList Corrections { get; } /// /// Events: BalanceDone, Error /// /// Reference to a variable for 'tara' in kg /// TaringOp instance reference casted to IOperaton IOperation TaringOp(ref DoubleBox tara); /// /// Events: BalanceDone, Error /// /// Reference to a variable for the measured mass in kg /// ReadMassOp instance reference casted to IOperaton IOperation ReadMassOp(ref DoubleBox mass); /// /// Events: BalanceDone, Error /// /// Reference to a variable for the measured mass in kg /// Required mass readings count (>= 3) /// Maximum spread of measurements in kg (otherwise the measurement continues) /// Method: false = slow (precise), true = fast (immediate) /// ReadMassAverageOp instance reference casted to IOperaton IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method); /// /// Events: Done, Error /// /// Reference to the serialNumber /// GetBalanceSerNumOp instance reference casted to IOperaton IOperation GetSerNumOp(ref string serialNumber); } }