diff --git a/TBF/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs b/TBF/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs index 58aaf380b..1df738128 100644 --- a/TBF/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs +++ b/TBF/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs @@ -402,10 +402,12 @@ namespace TBF.BenchControl.TestMethods.Adjustment tstRslt.FlowSetTime = flowSetTime; tstRslt.TestTime = cBrd.TTime; /// [s] measurement time tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total) - tstRslt.MassStart = 0; - tstRslt.MassEnd = 0; - tstRslt.FlowMass = 0; /// [kg/h] - tstRslt.FlowVolume = 3.6 * LtrPerRefPulse * cBrd.EtPulses(0) / tstRslt.TestTime; /// [m3/h] + tstRslt.MassStartRaw = 0; + tstRslt.MassStart = 0; + tstRslt.MassEndRaw = 0; + tstRslt.MassEnd = 0; + tstRslt.FlowMass = 0; /// [kg/h] + tstRslt.FlowVolume = 3.6 * LtrPerRefPulse * tstRslt.PulsesMaster / tstRslt.TestTime; /// [m3/h] tstRslt.Buoyancy = Config.Formulas.Buoyancy(); tstRslt.VolumeMaster = LtrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient diff --git a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm.cs b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm.cs index 900412e42..58f938064 100644 --- a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm.cs +++ b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2013-2015 Sensus Metering Systems +/// Copyright (c) 2013-2019 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -15,6 +15,8 @@ namespace TBF.BenchControl.TestMethods.Adjustment { private static readonly ILog log = LogManager.GetLogger(typeof(WMErrorsForm)); + const int MaxWMsCount = 6; /// Implementation limit of this form + /// /// Updated in constructor /// @@ -43,13 +45,16 @@ namespace TBF.BenchControl.TestMethods.Adjustment public WMErrorsForm(IList waterMeters) : this() { - waterMetersCount = waterMeters.Count; + waterMetersCount = Math.Min(Config.Data.WMsCount, waterMeters.Count); rects = new Rectangle[waterMetersCount]; for (int i = 0; i < waterMetersCount; i++) rects[i] = new Rectangle(385, 30 + 90 * i, 324, 57); disabled = new bool[waterMetersCount]; - for (int i = 0; i < waterMetersCount; i++) disabled[i] = waterMeters[i].Disabled; + for (int i = 0; i < waterMetersCount; i++) + { + if (i < MaxWMsCount) disabled[i] = waterMeters[i].Disabled; + } error = new double[waterMetersCount]; } @@ -123,17 +128,20 @@ namespace TBF.BenchControl.TestMethods.Adjustment string testName = args.TestName; Results.Entities.TestRslt tr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetTestRslt(testName, 0); - errLimLo = tr.ErrLimLo() + tr.ErrLimMargin(); - errLimHi = tr.ErrLimHi() - tr.ErrLimMargin(); - - int count = Math.Min(waterMetersCount, TBF.BenchControl.Sequences.ProcessData.BatchRslts.WMPositionsCount); - for (int i = 0; i < count; i++) - { - Results.Entities.MeterTestRslt mtr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Single); - if (mtr != null) error[i] = mtr.Error; + if (tr != null) + { + errLimLo = tr.ErrLimLo() + tr.ErrLimMargin(); + errLimHi = tr.ErrLimHi() - tr.ErrLimMargin(); + + int count = Math.Min(waterMetersCount, TBF.BenchControl.Sequences.ProcessData.BatchRslts.WMPositionsCount); + for (int i = 0; i < count; i++) + { + Results.Entities.MeterTestRslt mtr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Single); + if (mtr != null) error[i] = mtr.Error; + } + + Redraw(); } - - Redraw(); } void Redraw() @@ -154,7 +162,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment for (int i = 0; i < waterMetersCount; i++) { - if (!disabled[i]) + if ((i < MaxWMsCount) && (!disabled[i])) { PaintOne(graphics, rects[i], error[i], errLimLo, errLimHi); } diff --git a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm12.cs b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm12.cs index 8dfb81d64..48c437471 100644 --- a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm12.cs +++ b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm12.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2015 Sensus Metering Systems +/// Copyright (c) 2015-2019 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -90,12 +90,15 @@ namespace TBF.BenchControl.TestMethods.Adjustment public WMErrorsForm12(IList waterMeters) : this() { - waterMetersCount = waterMeters.Count; + waterMetersCount = Math.Min(Config.Data.WMsCount, waterMeters.Count); ShuffleTextBoxes(waterMetersCount, Config.Data.LineSize); disabled = new bool[waterMetersCount]; - for (int i = 0; i < waterMetersCount; i++) disabled[i] = waterMeters[i].Disabled; + for (int i = 0; i < waterMetersCount; i++) + { + if (i < MaxWMsCount) disabled[i] = waterMeters[i].Disabled; + } error = new double[waterMetersCount]; } @@ -109,7 +112,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment /// Number of watermeters in one line void ShuffleTextBoxes(int wmsCount, int lineSize) { - if (wmsCount < textBoxesCount && lineSize > 0) + if ((wmsCount < textBoxesCount) && (lineSize > 0)) { int nrLines = (wmsCount + lineSize - 1) / lineSize; int gap = (textBoxesCount - wmsCount) / nrLines; @@ -164,17 +167,20 @@ namespace TBF.BenchControl.TestMethods.Adjustment string testName = args.TestName; Results.Entities.TestRslt tr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetTestRslt(testName, 0); - errLimLo = tr.ErrLimLo() + tr.ErrLimMargin(); - errLimHi = tr.ErrLimHi() - tr.ErrLimMargin(); - - int count = Math.Min(waterMetersCount, TBF.BenchControl.Sequences.ProcessData.BatchRslts.WMPositionsCount); - for (int i = 0; i < count; i++) - { - Results.Entities.MeterTestRslt mtr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Single); - if (mtr != null) error[i] = mtr.Error; + if (tr != null) + { + errLimLo = tr.ErrLimLo() + tr.ErrLimMargin(); + errLimHi = tr.ErrLimHi() - tr.ErrLimMargin(); + + int count = Math.Min(waterMetersCount, TBF.BenchControl.Sequences.ProcessData.BatchRslts.WMPositionsCount); + for (int i = 0; i < count; i++) + { + Results.Entities.MeterTestRslt mtr = TBF.BenchControl.Sequences.ProcessData.BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Single); + if (mtr != null) error[i] = mtr.Error; + } + + Redraw(); } - - Redraw(); } void Redraw() @@ -192,7 +198,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment for (int i = 0; i < waterMetersCount; i++) { - if (!disabled[i]) + if ((i < MaxWMsCount) && (!disabled[i])) { PaintOne(graphics, rects[i], error[i], errLimLo, errLimHi); } diff --git a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm24.cs b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm24.cs index 77dcac7ac..b9ee7a2dc 100644 --- a/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm24.cs +++ b/TBF/BenchControl/TestMethods/Adjustment/WMErrorsForm24.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2015 Sensus Metering Systems +/// Copyright (c) 2015-2019 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -94,12 +94,15 @@ namespace TBF.BenchControl.TestMethods.Adjustment public WMErrorsForm24(IList waterMeters) : this() { - waterMetersCount = waterMeters.Count; + waterMetersCount = Math.Min(Config.Data.WMsCount, waterMeters.Count); ShuffleTextBoxes(waterMetersCount, Config.Data.LineSize); disabled = new bool[waterMetersCount]; - for (int i = 0; i < waterMetersCount; i++) disabled[i] = waterMeters[i].Disabled; + for (int i = 0; i < waterMetersCount; i++) + { + if (i < MaxWMsCount) disabled[i] = waterMeters[i].Disabled; + } error = new double[waterMetersCount]; } @@ -113,7 +116,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment /// Number of watermeters in one line void ShuffleTextBoxes(int wmsCount, int lineSize) { - if (wmsCount < textBoxesCount && lineSize > 0) + if ((wmsCount < textBoxesCount) && (lineSize > 0)) { int nrLines = (wmsCount + lineSize - 1) / lineSize; int gap = (textBoxesCount - wmsCount) / nrLines; @@ -199,8 +202,8 @@ namespace TBF.BenchControl.TestMethods.Adjustment for (int i = 0; i < waterMetersCount; i++) { - if (!disabled[i]) - { + if ((i < MaxWMsCount) && (!disabled[i])) + { PaintOne(graphics, rects[i], error[i], errLimLo, errLimHi); } } diff --git a/TBF/BenchControl/TestMethods/FixedStart/FixedStartSeq.cs b/TBF/BenchControl/TestMethods/FixedStart/FixedStartSeq.cs index 01317dc8d..582b33cc8 100644 --- a/TBF/BenchControl/TestMethods/FixedStart/FixedStartSeq.cs +++ b/TBF/BenchControl/TestMethods/FixedStart/FixedStartSeq.cs @@ -31,13 +31,6 @@ namespace TBF.BenchControl.TestMethods.FixedStart HeatMeters.TestParams heatMetersTestParams, Config.Entities.DebugMode debugLevel) { - IScale scale = outPath.Scale as IScale; - if (scale == null) - { - Bridge.OnError(this, Strings.Missing_a_scale); - new List { Event.ConfigurationError }; /// or Event.UiCmdStop - } - int rangeIx = 0; /// Default range, used for non-Elde flowmeters if (outPath.FlowMeter is Elde.FlowMeter.FlowMeter) { @@ -138,61 +131,6 @@ namespace TBF.BenchControl.TestMethods.FixedStart } - if (!test.DoDraining) - { - /// - /// Measure the weight in case there is no unconditional draining - /// - State.Create(string.Format("{0}({1}) : Measuring mass of water in the tank", test.Method, test.Name)) - .AddOperation(checkUiOp) - .AddOperations(readTempPressOps) - .AddOperation(scale.ReadMassOp(ref Mass)) - .AddOperation(heatMetersPromptOp) - .EnterState(); - do { - e = StateMachine.WaitRunDevsRunOps(); - Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Config.Entities.Progress.JustStarted)); - - if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } - if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; } - } - while (!e.Contains(Event.BalanceDone)); - } - /// - /// Skip draining in case there is enough room in the tank - /// - if (test.DoDraining || (Mass.Val + test.Volume >= scale.Capacity * Constants.TankFullFactor)) - { - /// - /// Drain the water tank - /// - switch (DrainTheTank(scale, heatMetersPromptOp)) - { - case Event.Error: { retVal = Event.Error; goto stopTest; } - case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } - } - } - /// - /// Make sure the drain valve is closed - /// - State.Create(string.Format("{0}({1}) : Make sure the drain valve is closed", test.Method, test.Name)) - .AddOperation(checkUiOp) - .AddOperations(readTempPressOps) - .AddOperation(scale.ReadMassOp(ref Mass)) - .AddOperation(heatMetersPromptOp) - .AddOperation(StateMachine.ControlBoard.SetValvesOp(null, scale.DrainValve)) - .EnterState(); - do { - e = StateMachine.WaitRunDevsRunOps(); - Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Config.Entities.Progress.JustStarted)); - - if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } - if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; } - } - while (!e.Contains(Event.ValvesSet) || !e.Contains(Event.BalanceDone)); - - - //------------------------------------------------ Bridge.OnActivity(this, Strings.Starting_the_pump); //------------------------------------------------ @@ -371,12 +309,12 @@ namespace TBF.BenchControl.TestMethods.FixedStart { double Tw = (TempRefHi1.Val + TempRefHi2.Val) / 2; double Tc = (TempRefLo1.Val + TempRefLo2.Val) / 2; - if (heatMetersTestParams.TempWarmLo <= Tw && Tw <= heatMetersTestParams.TempWarmHi && - heatMetersTestParams.TempColdLo <= Tc && Tc <= heatMetersTestParams.TempColdHi && - Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm && - Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold && - Math.Abs(TempRefHi1.Val - TempRefHi2.Val) <= heatMetersTestParams.DeltaTempWarm && - Math.Abs(TempRefLo1.Val - TempRefLo2.Val) <= heatMetersTestParams.DeltaTempCold) + if ((heatMetersTestParams.TempWarmLo <= Tw) && (Tw <= heatMetersTestParams.TempWarmHi) && + (heatMetersTestParams.TempColdLo <= Tc) && (Tc <= heatMetersTestParams.TempColdHi) && + (Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm) && + (Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold) && + (Math.Abs(TempRefHi1.Val - TempRefHi2.Val) <= heatMetersTestParams.DeltaTempWarm) && + (Math.Abs(TempRefLo1.Val - TempRefLo2.Val) <= heatMetersTestParams.DeltaTempCold)) { goto temperature_set; } @@ -434,26 +372,6 @@ namespace TBF.BenchControl.TestMethods.FixedStart double currentFlow = RefFlow.Val; - //------------------------------------------------ - Bridge.OnActivity(this, Strings.Measuring_the_weight); - //------------------------------------------------ - - if (test.TimeFlow2Mass > 0) - { - State.Create(string.Format("{0}({1}) : Waiting before 1st measurement", test.Method, test.Name)) - .AddOperation(checkUiOp) - .AddOperations(readTempPressOps) - .AddOperation(new Operations.TimerOp(test.TimeFlow2Mass)) - .EnterState(); - do { - e = StateMachine.WaitRunDevsRunOps(); - if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } - if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; } - } - while (!e.Contains(Event.TimerExpired)); - } - - TestStartTime = DateTime.Now; LogProcessDataTestInfo(processDataLogger, test.Procedure.Name, test.Name); int startPulses = 0; @@ -486,8 +404,7 @@ namespace TBF.BenchControl.TestMethods.FixedStart } } state2.EnterState(); - do - { + do { e = StateMachine.WaitRunDevsRunOps(); Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Config.Entities.Progress.Test)); @@ -553,12 +470,19 @@ namespace TBF.BenchControl.TestMethods.FixedStart { string srcDir = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString()); string destDir = Path.Combine(Program.ImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString()); - if (File.Exists(Path.Combine(srcDir, fileName))) - { - Directory.CreateDirectory(destDir); - File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, fileName), true); + try + { + if (File.Exists(Path.Combine(srcDir, fileName))) + { + Directory.CreateDirectory(destDir); + File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, fileName), true); + } } - } + catch (Exception exc) + { + log.ErrorFormat("Failed to copy image {0} to {1}: {2}", fileName, destDir, exc.Message); + } + } } } } @@ -603,7 +527,7 @@ namespace TBF.BenchControl.TestMethods.FixedStart queryEnd1 = cBrd.QueryMeasurementEndOp(); queryEnd2 = cBrd.QueryMeasurementEndOp(); - StartNewStatistics(StateMachine.Time, BatchRslts.Batch.BatchNr, test.Name, repetitionNr, Math.Max((int)(test.TstTime/10), 5)); + StartNewStatistics(StateMachine.Time, BatchRslts.Batch.BatchNr, test.Name, repetitionNr, Math.Max((int)(test.TstTime / 10), 5)); int estimtdEndTime = StateMachine.Time + (int)test.TstTime; /// Measurement loop - begin @@ -696,22 +620,22 @@ namespace TBF.BenchControl.TestMethods.FixedStart } while (e.Contains(Event.ValvesBusy)); - switchTimeEnd = 0.001f * cBrd.ValveOpenCloseTime; - log.WarnFormat("Start valve switch time on test end = {0} ms", cBrd.ValveOpenCloseTime); - State.Create(string.Format("{0}({1}) : Waiting before 2nd measurement", test.Method, test.Name)) + State.Create(string.Format("{0}({1}) : Stopping flow regulation", test.Method, test.Name)) .AddOperation(checkUiOp) .AddOperations(readTempPressOps) - .AddOperation(scale.ReadMassOp(ref Mass)) - .AddOperation(new Operations.TimerOp(test.TimeStop2Mass)) - .AddOperation(processDataLoggingOp) + .AddOperation(cBrd.StopFlowRegulationOp(outPath)) .EnterState(); do { e = StateMachine.WaitRunDevsRunOps(); if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; } } - while (!e.Contains(Event.TimerExpired)); + while (!e.Contains(Event.FlowRegulationStopped)); + + + switchTimeEnd = 0.001f * cBrd.ValveOpenCloseTime; + log.WarnFormat("Start valve switch time on test end = {0} ms", cBrd.ValveOpenCloseTime); TestEndTime = DateTime.Now; @@ -780,7 +704,8 @@ namespace TBF.BenchControl.TestMethods.FixedStart State state = State.Create(string.Format("{0}({1}) : Entering the end-state", test.Method, test.Name)); if (heatMetersTestParams != null && dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm) { - state.AddOperation((dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).ShowTestEndFormOp(sensPath.RegisterReaders, + state.AddOperation((dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm). + ShowTestEndFormOp(sensPath.RegisterReaders, volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty, refEnergy, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty)); } @@ -840,11 +765,18 @@ namespace TBF.BenchControl.TestMethods.FixedStart { string srcDir = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString()); string destDir = Path.Combine(Program.ImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString()); - if (File.Exists(Path.Combine(srcDir, fileName))) - { - Directory.CreateDirectory(destDir); - File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, fileName), true); - } + try + { + if (File.Exists(Path.Combine(srcDir, fileName))) + { + Directory.CreateDirectory(destDir); + File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, fileName), true); + } + } + catch (Exception exc) + { + log.ErrorFormat("Failed to copy image {0} to {1}: {2}", fileName, destDir, exc.Message); + } } } } @@ -1060,7 +992,7 @@ namespace TBF.BenchControl.TestMethods.FixedStart (BenchInfo != null) ? BenchInfo.TestBenchName : "testbench", inPath.Pump != null ? inPath.Pump.Name : string.Empty, outPath.FlowMeter != null ? outPath.FlowMeter.Name : string.Empty, - scale != null ? scale.Name : string.Empty, + string.Empty, outPath.RegulValve != null ? outPath.RegulValve.Name : string.Empty, outPath.Diverter != null ? outPath.Diverter.Name : string.Empty)); diff --git a/TBF/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs b/TBF/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs index 0e8a77614..5f4feba34 100644 --- a/TBF/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs +++ b/TBF/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs @@ -80,7 +80,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection foreach (var rr in sensPath.RegisterReaders) { TBF.BenchControl.Elde.RegisterReader.RegisterReader eldeRR = rr as TBF.BenchControl.Elde.RegisterReader.RegisterReader; - if (eldeRR != null && eldeRR.Position >= 1 && eldeRR.Position <= 8) + if ((eldeRR != null) && (eldeRR.Position >= 1) && (eldeRR.Position <= 8)) { filters[eldeRR.Position - 1] = eldeRR.Filter; } @@ -618,7 +618,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection .AddOperation(checkUiOp) .AddOperations(readTempPressOps) .AddOperation(cBrd.StartMeasurementOp(outPath, (Elde.TestMethods.Diverter | Elde.TestMethods.FixedStart), - test.Qfrom, test.Qto, (2 * totalPulses))) + test.Qfrom, test.Qto, 2 * totalPulses)) .EnterState(); do { e = StateMachine.WaitRunDevsRunOps(); @@ -866,8 +866,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection } } state2.EnterState(); - do - { + do { e = StateMachine.WaitRunDevsRunOps(); Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Config.Entities.Progress.Test)); diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index b151a4e6f..446d77322 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.24.1363.0")] -[assembly: AssemblyFileVersion("2.24.1363.0")] +[assembly: AssemblyVersion("2.24.1364.0")] +[assembly: AssemblyFileVersion("2.24.1364.0")]