///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.GenericDevices
{
public interface IValve : IComponent
{
///
/// Valve state: true = open, false = closed
///
bool State { get; }
///
/// All, Feeding, Bench, Output or None
///
ValveCategory Category { get; }
///
/// Delay of the valve in [s] (open or close time, whichever is larger)
///
int Delay { get; }
///
/// Coupled valve or null.
/// This valve is a slave and follows the coupled valve, which is a master.
/// In case of CoupledValve == null, this valve can be independently controlled.
///
IValve CoupledTo { get; }
///
/// The coupled valve is inverted referred to the master valve.
/// This property is used only in case 'CoupledTo' is non-null.
///
bool InvertCouple { get; }
///
/// Delay (referred to the master valve) when opening this (coupled, slave) valve in [s]
/// This property is used only in case 'CoupledTo' is non-null.
///
int LagOpening { get; }
///
/// Delay (referred to the master valve) when opening this (coupled, slave) valve in [s]
/// This property is used only in case 'CoupledTo' is non-null.
///
int LagClosing { get; }
}
}