74 lines
3.2 KiB
C#
74 lines
3.2 KiB
C#
///
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
///
|
|
|
|
namespace TBF.BenchControl.Elde
|
|
{
|
|
interface IControlCom
|
|
{
|
|
StatusP StatusP { get; }
|
|
float ReferenceFreq { get; }
|
|
int EtPulses(int wmNr0);
|
|
int WMeterPulses(int wmNr0);
|
|
int WMeterReference(int wmNr0);
|
|
uint RegulValveDAC { get; }
|
|
float Pressure(int prsNr0);
|
|
float Temperature(int tmpNr0);
|
|
RegulValveState RegulValveState(int rvNr1);
|
|
ulong RRoute { get; }
|
|
uint DivTime { get; }
|
|
float TTime { get; }
|
|
uint FmState { get; }
|
|
uint BeginState(int wmNr0);
|
|
float ReferenceFlow { get; }
|
|
float RValvePosition(int rvNr1);
|
|
float DivSamples(int ms);
|
|
int ScopeSamples(int i, int j, int k);
|
|
uint DigitalInputs { get; }
|
|
float AnalogInput(int adcNr0);
|
|
uint AnalogInputRaw(int adcNr0, int bank);
|
|
float ReferenceVolume { get; }
|
|
float VyslExt(int wmNr0, int what);
|
|
void SetWeight(int pos, float mass);
|
|
|
|
/// <summary>
|
|
/// Sends calibration and configuration data to the control board.
|
|
/// </summary>
|
|
/// <param name="rvCalib">Regulating valves calib.coefs, ix1 = valve nr. (1..5), ix2 = coef.nr. (0..1), values typ. c0 = 0, c1 = 0.2</param>
|
|
/// <param name="meretA">Meret address, index = 0..1, value typ. 99 and 100</param>
|
|
/// <param name="usedCom">COM port number of the control board (typ. 1)</param>
|
|
/// <param name="tempCalib">Temp.calc.coefs, ix1 = temp.sens.nr. (0..7 ???), ix2 = coef.nr</param>
|
|
/// <param name="etCalib">Etalon nominal values</param>
|
|
/// <param name="divEdge">Percentages for switching of diverters, ix = diverter nr.(0,1), typ.value 50 (%)</param>
|
|
void SendCalibData(uint[,] rvCalib, byte[] meretA, int usedCom, float[,] tempCalib, float[] etCalib, uint[] divEdge, uint[] balanceRange);
|
|
|
|
/// <summary>
|
|
/// Updates a command that is regularly sent to the control board by SendCommand.
|
|
/// </summary>
|
|
/// <param name="cmd">See ControlBoard.Command enum</param>
|
|
/// <param name="refNr">Number of the etalon/reference (1..5)</param>
|
|
/// <param name="route">Route: 64-bit installation specific number</param>
|
|
/// <param name="refPulses">kolko impulzov ma trvat skuska</param>
|
|
/// <param name="testMethods">See ControlBoard.TestMethods enum</param>
|
|
/// <param name="filterConstant">0 = No filtering (0..255)</param>
|
|
/// <param name="FMFreq">Freq.inverter control (not applicable in DT100, Munich)</param>
|
|
/// <param name="regConst">Coefficient used to control reg. valves (1..100)</param>
|
|
/// <param name="shortImp">0 = default value, 1 = spec. processing of very short pulses</param>
|
|
/// <param name="stopDevs">What to stop</param>
|
|
void SendCommand(Command cmd, int refNr, ulong route, int refPulses, TestMethods testMethods,
|
|
float filterConstant, float[] fmFreq, int regConst, int shortImp, StopDevs stopDevs);
|
|
|
|
/// <summary>
|
|
/// Control of regulating valves.
|
|
/// </summary>
|
|
/// <param name="valveNo">Regulating valve nr. (1..5)</param>
|
|
/// <param name="valveMode">???</param>
|
|
/// <param name="valveValue">???</param>
|
|
/// <param name="stableTime">Stabilization time when setting the flow: 0=200ms, step 50ms, max. 1.5 sec.</param>
|
|
void ValveMove(int valveNo, RegulValveMode valveMode, float[] valveValue, int stableTime);
|
|
|
|
void RunDeviceBefore();
|
|
void RunDeviceAfter();
|
|
}
|
|
}
|