57 lines
2.1 KiB
C#
57 lines
2.1 KiB
C#
///
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using Dirichlet.Numerics;
|
|
using TBF.Boxes;
|
|
|
|
namespace TBF.Rig.GenericDevices
|
|
{
|
|
public interface IValveControl
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="valveToOpen">Valves to be opened as a bit field</param>
|
|
/// <param name="valveToClose">Valves to be closed as a bit field</param>
|
|
/// <param name="extendedValves">List of extended valves</param>
|
|
/// <returns></returns>
|
|
UInt128 SetValves(UInt128 valvesToOpen, UInt128 valvesToClose, IList<BuiltIn.ValveEx.Valve> extendedValves);
|
|
|
|
/// <summary>
|
|
/// Open/close one valve.
|
|
/// Events: ValvesSet, ValvesBusy, Error
|
|
/// </summary>
|
|
/// <param name="valveToOpen">Valve to be opened</param>
|
|
/// <param name="valveToClose">Valve to be closed</param>
|
|
/// <returns>Newly created operation instance reference casted to IOperaton</returns>
|
|
IOperation SetValvesOp(IValve valveToOpen, IValve valveToClose);
|
|
|
|
/// <summary>
|
|
/// Open/close multiple valves.
|
|
/// Events: ValvesSet, ValvesBusy, Error
|
|
/// </summary>
|
|
/// <param name="valvesToOpen">A list of valves to be opened</param>
|
|
/// <param name="valvesToClose">A list of valves to be closed</param>
|
|
/// <returns>Newly created operation instance reference casted to IOperaton</returns>
|
|
IOperation SetValvesOp(IList<IValve> valvesToOpen, IList<IValve> valvesToClose);
|
|
|
|
/// <summary>
|
|
/// Open start/stop valve.
|
|
/// Events: ValvesSet, ValvesBusy, Error
|
|
/// </summary>
|
|
/// <returns>Created operation</returns>
|
|
IOperation OpenStartValveOp();
|
|
IOperation OpenStartValveOp(DateTimeBox openTimeStamp, FloatBox switchTime);
|
|
|
|
/// <summary>
|
|
/// Close start/stop valve.
|
|
/// Events: ValvesSet, ValvesBusy, Error
|
|
/// </summary>
|
|
/// <returns>Created operation</returns>
|
|
IOperation CloseStartValveOp();
|
|
IOperation CloseStartValveOp(DateTimeBox closeTimeStamp, FloatBox switchTime);
|
|
}
|
|
}
|