tbf/TestBenchFramework/BenchControl/GenericDevices/IValve.cs
2015-04-15 20:32:56 +02:00

51 lines
1.4 KiB
C#

///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.GenericDevices
{
public interface IValve : IComponent
{
/// <summary>
/// Valve state: true = open, false = closed
/// </summary>
bool State { get; }
/// <summary>
/// All, Feeding, Bench, Output or None
/// </summary>
ValveCategory Category { get; }
/// <summary>
/// Delay of the valve in [s] (open or close time, whichever is larger)
/// </summary>
int Delay { get; }
/// <summary>
/// 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.
/// </summary>
IValve CoupledTo { get; }
/// <summary>
/// The coupled valve is inverted referred to the master valve.
/// This property is used only in case 'CoupledTo' is non-null.
/// </summary>
bool InvertCouple { get; }
/// <summary>
/// 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.
/// </summary>
int LagOpening { get; }
/// <summary>
/// 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.
/// </summary>
int LagClosing { get; }
}
}