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); /// /// Sends calibration and configuration data to the control board. /// /// Regulating valves calib.coefs, ix1 = valve nr. (1..5), ix2 = coef.nr. (0..1), values typ. c0 = 0, c1 = 0.2 /// Meret address, index = 0..1, value typ. 99 and 100 /// COM port number of the control board (typ. 1) /// Temp.calc.coefs, ix1 = temp.sens.nr. (0..7 ???), ix2 = coef.nr /// Etalon nominal values /// Percentages for switching of diverters, ix = diverter nr.(0,1), typ.value 50 (%) void SendCalibData(uint[,] rvCalib, byte[] meretA, int usedCom, float[,] tempCalib, float[] etCalib, uint[] divEdge, uint[] balanceRange); /// /// Updates a command that is regularly sent to the control board by SendCommand. /// /// See ControlBoard.Command enum /// Number of the etalon/reference (1..5) /// Route: 64-bit installation specific number /// kolko impulzov ma trvat skuska /// See ControlBoard.TestMethods enum /// 0 = No filtering (0..255) /// Freq.inverter control (not applicable in DT100, Munich) /// Coefficient used to control reg. valves (1..100) /// 0 = default value, 1 = spec. processing of very short pulses /// What to stop void SendCommand(Command cmd, int refNr, ulong route, int refPulses, TestMethods testMethods, float filterConstant, float[] fmFreq, int regConst, int shortImp, StopDevs stopDevs); /// /// Control of regulating valves. /// /// Regulating valve nr. (1..5) /// ??? /// ??? /// Stabilization time when setting the flow: 0=200ms, step 50ms, max. 1.5 sec. void ValveMove(int valveNo, RegulValveMode valveMode, float[] valveValue, int stableTime); void RunDeviceBefore(); void RunDeviceAfter(); } }