Compare commits

...
Author SHA1 Message Date
michal 33ef914984 Update GenesisReaderTests: add real input parsing, format variation handling, and rollover cases; remove outdated Q3 calibration tests; increment version to 3.9.3056.1 2026-04-15 09:56:54 +02:00
michal 3eb0b87f0d Add Q3 calibration tests for GenesisSmartReader and refactor test cases:
- Introduce new `GenesisSmartReader_Q3Test` class with comprehensive Q3 calibration scenarios.
- Refactor existing tests to utilize simulation data for better consistency and validation.
- Adjust Q3 calibration logic in `GenesisSmartReader` to enhance calculation accuracy and validation criteria.
2026-04-15 09:22:09 +02:00
michal 711dfc03ef Fix Q3 calibration logic in GenesisSmartReader: replace _rawStartEndByChannel with recalculatedVariablesByChannel for accurate data computation. 2026-04-14 15:54:28 +02:00
michal 93459ccfab Refactor water meter handling in SequenceBase and FlyingStartMassCollectionSeq:
- Enhance logic for enabling/disabling channels based on water meter data.
- Introduce Q3 calibration validation in `GenesisSmartReader` with configurable thresholds.
- Update `GenesisCfgCtrl` UI to disable certain inputs.
2026-04-14 15:41:13 +02:00
michal 009aefb7c9 Refactor GenesisSmartReader and SequenceBase logic, enhance channel handling in water meters, and update GUI components:
- Adjust `Disabled` logic for water meters in `SequenceBase` allowing conditional enabling of channels based on serial number.
- Introduce `EnableShowChanels` property in `GenesisSmartReader` and integrate into `FlyingStartMassCollectionSeq`.
- Modify `StartupFlushMs` to derive configuration dynamically.
- Update `GenesisCfgCtrl` with a checkbox for enabling channels and input for flush timing.
- Increment assembly version to `3.9.3054.1`.
2026-04-14 08:03:02 +02:00
michal d2e18d615d Bump assembly version to 3.9.3053.1. 2026-04-13 14:17:56 +02:00
michal 69b475eb77 Refactor GenesisSmartReader for improved simulation and testing:
- Add `PrepareCalculatedChannelDataSimulationForTest` and supporting utility methods for generating and cloning test data.
- Update `StartupFlushMs` and sampling intervals for increased flexibility.
- Revise water meter handling logic in `FlyingStartMassCollectionSeq` to support multiple channels.
2026-04-13 14:17:34 +02:00
michal 2210bb8240 Enhance FlyingStartMassCollectionSeq with GenesisSmartReader support; add water meter handling logic and bump assembly version to 3.9.3050.1. 2026-04-11 21:55:34 +02:00
michal 65ab19290f simulate mode - flow reached 2026-04-09 12:49:00 +02:00
michal 94c7279da1 Add localized string resources for "Test in calculation" and integrate it into FlyingStartMassCollectionSeq
- Add `Test_in_calculation` localized strings to `.resx` files for English, Slovak, and Czech.
- Update `FlyingStartMassCollectionSeq` to display the new activity message during the calculation phase.
2026-04-09 10:08:50 +02:00
michal 2136695b80 Fix Stop 2026-04-08 16:37:27 +02:00
michal c0f9b0ffa0 Refactor GenesisSmartReader stop logic for enhanced thread safety and post-processing; bump assembly version to 3.9.3047.1. 2026-04-08 15:44:59 +02:00
michal c4ef22436f Update GenesisSmartReader Stop logic and bump assembly version to 3.9.3045.1:
- Refactor `Stop` for improved thread safety using `lock` on `_stateSync` and `_stopSync`.
- Enhance `Stop` behavior by introducing state updates during immediate stop requests.
- Fix redundant operations and reorganize log and processing statements for clarity.
- Update `RequestImmediateStopInternal` to accept a new state parameter.
2026-04-08 15:06:45 +02:00
michal 0b73871518 Refactor GenesisSmartReader and add advanced test utilities:
- Introduce `ForceProcessingEnabled`, `InstallSuccessfulProcessingOverride`, and `EnqueueIncomingLine` helpers to streamline test setup.
- Add new test suite `GenesisSmartReaderStopTests` to validate `Stop` behavior for different processing states.
- Enhance `GenesisSmartReader` state management with a dedicated `Reset` method and improved `Stop` logic.
- Improve buffer initialization in `ProcessOptoLine` to address null-value edge cases.
- Update assembly version to `3.9.3043.1`.
2026-04-08 13:51:55 +02:00
michal f7dc6fee5e immediate Stop improve 2026-04-07 16:37:19 +02:00
michal ba848a167d improve 2026-04-07 15:44:32 +02:00
michal dcb0bf9a88 Update GenesisSmartReader logging and bump assembly version to 3.9.3040.1:
- Enhance `Stop` logs with `registerReader` and `optoSerialPort` details for improved traceability.
2026-04-07 15:27:20 +02:00
michal f6433134c1 Add WaitForStartupFlushToFinish and EnableProcessingLoopForTests utilities for improved test reliability:
- Incorporate `WaitForStartupFlushToFinish` in `GenesisSmartReaderThreadedReadTests` to ensure startup flush completion before processing.
- Introduce `EnableProcessingLoopForTests` in `GenesisSmartReaderTest` to streamline test initialization.
- Fix thread-safety issues in startup flush handling and reorder operations in `GenesisSmartReader.Stop`.
- Bump assembly version to `3.9.3039.1`.
2026-04-07 14:45:37 +02:00
michal 7e3df77b5b Refactor GenesisSmartReader processing logic and tests for robust handling:
- Replace property getters with concise expressions in `GenesisSmartReader`.
- Implement FIFO and concurrent producer-consumer unit tests for `ProcessingLoop`.
- Add startup flush mechanism for improved input handling on initialization.
- Refactor processing loop with structured start/stop tasks and cancellation tokens.
- Fix thread-safety issues and enhance logic in `Stop` and `StopDataStreamProcessing`.
- Add internal visibility for tests in `TBFTests` via `InternalsVisibleTo`.
- Update assembly version to `3.9.3038.1`.
2026-04-07 10:42:27 +02:00
michal 08dff1272b Add overflow volume/timestamp handling and related tests for GenesisSmartReader:
- Extend `CalibrationRecord` constructor to include overflow fields (`OverflowVolumeCm`, `OverflowTimeS`).
- Implement additional unit tests in `OptoTelegramRawTest` to validate multi-rollover scenarios and extended calculations.
- Add `GenesisSmartReaderThreadedReadTests` to cover threaded read-loop functionality and serial processing.
- Enhance logging in `Pump` classes (`TurnOff` methods).
- Update project file to include new test files.
2026-04-02 09:25:17 +02:00
michal d5c8fd1c8f Refactor GenesisSmartReader with enhanced channel-specific volume and timestamp processing:
- Replace `AverageNullable` with `AverageCachedTime` and introduce `GetCachedVolume`/`GetCachedTime` helpers.
- Add recalibration logic with `_recalculatedStartEndByChannel` and `_rawStartEndByChannel`.
- Implement `PrepareCalculatedChannelData` for refined multi-channel synchronization.
- Add unit tests (`GenesisSmartReaderChannelTests`) for improved coverage and validation of new methods.
- Update `OptoTelegramRaw.Copy` to fix field assignment issues.
2026-03-27 15:12:43 +01:00
michal a34740e838 Update GenesisSmartReaderTest to handle DiscardOutCalls and configure block repetition resets:
- Modify tests to validate `DiscardOutCalls` alongside `DiscardInCalls`.
- Add support for configuring `ResetAfterBlockRepetitions` in test initialization.
2026-03-27 13:19:10 +01:00
michal 836ba5a41f Refactor GenesisSmartReader processing logic and add advanced multi-channel volume and timestamp handling:
- Introduce `TimeDeltaPerChannel` and `GroupRecordsPerChannel` for calculating time and volume deltas across channels.
- Add recalibration logic to synchronize volume and timestamp data with channel-specific maxima.
- Fix `ResetDataBuffer` implementation and replace redundant `ReasetDataBuffer` calls.
- Update handling of flow markers and block completion logic for improved buffer management.
- Add `Copy` method to `OptoTelegramRaw` for efficient cloning and recalculation.
- Bump `AssemblyVersion` and `AssemblyFileVersion` to `3.9.3019.1`.
2026-03-27 13:18:37 +01:00
michal 23c83ab452 Enhance GenesisSmartReader multi-channel processing and add tests for telegram handling:
- Refactor `ProcessOptoLine` logic to support output buffer resets at configurable repetition intervals.
- Add tests:
  - `ProcessOptoLine_Block_f_h1_h2_h3_f_ShouldResetBuffersOnlyAfterLastF`
  - `ReadOptoData_FullBlock_ShouldDiscardBuffersAfterClosingF`
  - `ProcessOptoLine_LastF_AfterH3_ShouldRequestBufferReset`
  - `ProcessOptoLine_ShouldReset
2026-03-26 14:45:36 +01:00
michal bc9e583c29 FIX Add ChannelAverages to project and remove unused imports in GenesisHead. 2026-03-26 07:29:13 +01:00
michal 18cef617da Enhance Genesis SmartReader with channel-specific volume and timestamp tracking:
- Add per-channel `VolumeStart`, `VolumeEnd`, `TimeStart`, and `TimeEnd` processing for improved multi-channel support.
- Introduce `ChannelAverages` for centralized average calculations across channels.
- Refactor `GenesisSmartReader` to improve data decoding and logging for calibration and flow test records.
- Add telemetry unwrapping helpers for precise volume and timestamp calculations.
- Update `OptoTelegramRaw` to support channel-specific updates and robust data processing.
- Update `AssemblyVersion` and `AssemblyFileVersion` to `3.9.3013.1`.
2026-03-26 07:19:22 +01:00
michal 4ee736cff5 Add advanced multi-channel processing for Genesis SmartReader:
- Refactor `VolumeLtrStart` and `VolumeLtrEnd` to compute channel-specific averages at test boundaries.
- Implement `ProcessOptoLine_ShouldInsertTelegrams` tests for validating telegram insertion and channel updates.
- Add `VolumeLtrEnd_ShouldAverageOnlyAvailableChannels` to handle partial channel data gracefully.
- Introduce `VolumeFromChannelsAtStart` and `VolumeFromChannelsAtEnd` helpers for refined channel data handling.
- Update Opto telegram processing logic to support robust volume and timestamp unwrapping.
- Enhance `GenesisSmartReader.ToString()` for clearer configuration representation.
- Add `OptoTelegramRawTest` to validate telegram behavior, flag handling, and delta computations.
- Update `AssemblyVersion` to `3.9.3012.1`.
2026-03-24 15:23:06 +01:00
michal 4e40dc8601 Comment out Detect_BaudRate_By_ViewFactoryId test method in TouchReadBaudRateDetectionTests. 2026-03-24 10:07:24 +01:00
michal a5a68ec457 Refactor Genesis serial communication handling (ISerialDriver interface compatible with SerialPort):
- Replace method-based `IsOpen()` checks with property-based `IsOpen` usage in `ISerialDriver` and related classes.
- Simplify `Open()` and add `Close()` methods to unify connection management.
- Introduce `InitializeThreeChannelState()` helper in `GenesisSmartReaderTest` for multi-channel state initialization.
- Adjust calculations in `CalculateTimeByChannels()` and `CalculateVolumeByChannels()` for clarity.
- Add new tests for multi-channel processing and validation of updated telegram handling logic.
2026-03-24 10:04:30 +01:00
michal e26d88d437 Refactor Genesis use 3 chanels reader structure:
- Replace `Xylem.Common` namespace references with `TBF.Rig.RegisterReaders`.
- Introduce `GenesisSmartReaderTest` and `FakeSerialDriver` for unit testing.
- Revamp `FlowDirectionDetection` to support multiple channels.
- Make constants in `StreamingDecoder` public for enhanced accessibility.
- Update `AssemblyVersion` and `AssemblyFileVersion` to `3.9.3010.1`.
2026-03-24 08:53:16 +01:00
michal 2522d1da9f Add Genesis radio/opto communication and configuration components
- Replace `OpthoHeadService` with `RadioService` to enhance Genesis communication handling via serial interface.
- Introduce `OptoReceivedEventArgs` to manage event-driven communication.
- Add foundational protocol implementations (`BaseProtocol`, `IProtocol`, etc.) for Genesis configuration and processing.
- Implement `SirtConfig`, `MeterConfig`, and `ProcessConfig` classes for flexible Genesis configuration management.
- Expand Genesis framework to support diagnostics, activity modes, and version retrieval.
2026-03-18 15:57:04 +01:00
michal 8983c01591 Add integration tests for IperlHat communication and diagnostic LED parsing
- Implement `IperlHatIntegrationTests` to validate serial communication, diagnostic LED states, and Opto data handling.
- Add `HexFormatterTest` for verifying Hex formatting utilities.
- Add `DiagnosticLedParserTest` to test parsing for all diagnostic LED states.
2026-03-17 12:15:52 +01:00
michal 61b1320d4f Add Genesis COM port configuration and update Genesis meter setup logic
- Introduce `OptoComPortNr` and `HeadComPortNr` properties in `GenesisHead`.
- Update `SetupGenesisMeter` to use new COM port configurations.
- Add reference to `Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig`.
2026-03-16 15:48:41 +01:00
michal 2c8a0922d1 Genesis dialog with Com ports 2026-03-16 15:47:12 +01:00
michal b078d9586d Add detailed logging for Genesis operations in FlyingStartMassCollectionSeq and FlyingStartSeq.
- Introduce debug and info logs for Genesis initialization, calibration, measurement, and data storage.
- Ensure proper logging during Genesis operations' start and stop phases.
2026-03-16 15:42:45 +01:00
michal 6e35de5f4d Update AssemblyVersion and AssemblyFileVersion to 3.9.3001.1 2026-03-16 15:36:25 +01:00
michal 2dbe4cded4 Genesis slot max count 10, Add DB writer component
Integrate `DatabaseWriter` component and update GenesisHead configuration:

- Add `DatabaseWriter` factory and related classes (`WriteDBCfgCtrl`, `WriterCfg`, `WritingToDB`).
- Extend GenesisHead slot number range to 1-10 and adjust UI layout accordingly.
2026-03-16 15:36:02 +01:00
michal 10865c6878 Update AssemblyVersion and AssemblyFileVersion to 3.9.3000.1 2026-03-16 15:35:06 +01:00
michal ee1353fe54 Add DatabaseWriter component:
- Implement `DatabaseWriter` factory and configuration logic.
- Add `WriteDbCfgCtrl` for component configuration UI.
- Introduce database connection handling, network adapter selection, and tracing record management.
2026-03-16 15:31:58 +01:00
michal 5cefd7fc3a Integrate Genesis meter support into FlyingStartMassCollectionSeq:
- Add initialization, calibration, and measurement logic for Genesis meters.
- Extend result handling to capture Genesis-specific data (timestamps, volumes, errors).
- Ensure proper cleanup of Genesis meters at test conclusion.
2026-03-16 15:31:49 +01:00
michal ab0e5ea82a Genesis heap 2026-03-16 15:17:56 +01:00
michal b2276c086c Merge branch 'develop/SLM-PT50' into develop/Mexico 2026-03-16 13:33:21 +01:00
michal 4fa462661c Merge remote-tracking branch 'remotes/private-origin/develop/SLM-PT50' into develop/Goeteborg 2026-03-16 13:11:34 +01:00
michal 2b30d0cf34 packages add/clean up 2026-03-13 13:51:42 +01:00
michal df2c56e6c4 FIX NaN - devide by zero
Add simulation logic to `StandingStartStopTestOp` and handle zero `TestTime` edge cases in `FlyingStartMassCollectionSeq`
2026-03-12 16:25:26 +01:00
michal a997c3d7be iPerl ASIC - implementation 2026-03-12 14:50:47 +01:00
marekf 3c964f2aab BugFix - repair test RegisterReader deserialize - FSMC method as in SSMC 2026-03-09 14:37:51 +01:00
marekf c445b3e098 BugFix - after applying the transition valve 40% in procedure-purge begin, the RegValve was not regulating correctly after starting the test 2026-03-09 14:20:37 +01:00
marekf 2ea2a2592e Merge branch 'feature/task_6-add-new-admins' into develop/SLM-PT50 2026-03-04 19:14:22 +01:00
marekf 27072598cd Merge branch 'feature/task_5-new-app-icon' into develop/SLM-PT50 2026-03-04 19:14:02 +01:00
marekf 4a2d4772d7 Add new icon to forms of application 2026-03-04 18:48:46 +01:00
marekf 2bf00606d3 Merge branch 'feature/task_4-ListView-ListBox-navigation' into develop/SLM-PT50 2026-03-04 18:42:25 +01:00
marekf 3773e1d96c Merge branch 'feature/task_3-new-pump-grundfoss' into develop/SLM-PT50 2026-03-04 18:42:15 +01:00
marekf 19ddc753c7 Merge branch 'feature/task_2-dripping-on-the-scale-meassure-mass' into develop/SLM-PT50 2026-03-04 18:33:20 +01:00
marekf 0c41c750e8 Add parameter and management IsOffline for components: Modbus>TempMeter>Groch, Meret and Modbus>PressureMeter>Meret and Rig>Keithley>TempMeter and add indicator redColor itemValue for SchematicDrawing 2026-03-04 18:25:28 +01:00
marekf 4bfd5c8e11 Update output printer OnePerMeter - 1. printer configuration in PrintResultsSelectionDlg, 2. document preview, 3. edit document name, 4. enable more save destinations 2026-03-04 13:21:45 +01:00
marekf f0fb70e38b Add new type of pump - Grundfoss 2026-03-04 11:54:39 +01:00
marekf 6e5bcafec0 Update dripping on the scale and measuring the start mass 2026-03-04 10:37:35 +01:00
marekf d5cb18c910 Fixed incorrect loading of RegisterReader in the StandingStartMassCollection method, when the RR Units and RR Quantity variables in results were filled with only string.empty 2026-03-04 09:44:42 +01:00
marekf 3a2069b255 Refactor variable naming in results in response to mass meter pulse processing 2026-03-04 09:42:55 +01:00
marekf 80c651dbfd Add search and navigation as UI>shared for ListBox-es and ListView-s to components listview, components listbox, procedure listview 2026-02-25 13:22:56 +01:00
marekf 5a3b9b57c4 Add new admins marek and michal 2026-02-25 10:02:09 +01:00
marekf ead350eef3 Add initial MassMeter implementation 2026-02-19 19:22:02 +01:00
marekf b43657a4db Initial import from local copy 2026-02-19 12:02:07 +01:00
michal 8fffb9e366 Update clean.bat to remove build artifacts for AppDiagnostic, NfcC7_DLL, NfcC7_DLL.Tests, and TBFTests 2026-01-23 11:04:23 +01:00
michal 0fdd229141 Refactor IPerlImplHeadTestCtrl to use descriptive enums for operations, update command mappings, introduce IPerlASICCorrections, and improve test configuration checks and NFC handling. 2026-01-23 10:51:47 +01:00
michal 2f1ada3f5b Add DiagnosticLedState classes for States #4-#7, enums for PipeStatus and SpikeDetectionStatus, and implement TouchReadProtocol commands, frames, and builders. 2026-01-19 08:10:36 +01:00
708 changed files with 200444 additions and 7741 deletions
+4
View File
@@ -76,6 +76,7 @@
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
@@ -97,5 +98,8 @@
<Name>SharedComponents</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Resources\TBF_icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+2
View File
@@ -29,6 +29,8 @@ namespace AppDiagnostic
public MainForm()
{
this.Icon = Properties.Resources.TBF_icon;
InitializeComponent();
// Inicializujeme LogAdapter a priradíme ho k memoListView
+28 -26
View File
@@ -8,10 +8,10 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppDiagnostic.Properties
{
namespace AppDiagnostic.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
@@ -19,53 +19,55 @@ namespace AppDiagnostic.Properties
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppDiagnostic.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set
{
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon TBF_icon {
get {
object obj = ResourceManager.GetObject("TBF_icon", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
}
}
+12 -5
View File
@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
@@ -68,9 +69,10 @@
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
@@ -85,9 +87,10 @@
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
@@ -109,9 +112,13 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="TBF_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TBF_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+21 -2
View File
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;
namespace Common
{
@@ -289,11 +290,20 @@ namespace Common
CompoundAux,
Compound,
HeatMeterVolume,
HeatMeterEnergy,
HeatMeterMass,//...MF
HeatMeterEnergy,
SingleOrCompound, /// Only used when querying results
}
public enum Medium
public enum PulsesTypeByQuantity : short
{
[Description("dm3")] Volume_dm3,
[Description("kg")] Mass_kg,
Count
}
public enum Medium
{
[Description("")] NotSpecified,
#if LANG_PL
@@ -829,6 +839,15 @@ namespace Common
E63 = (1L << 62),
}
//...MF
public enum FlowType : int
{
none,
volume,
mass,
Count,
}
#region iPERL enums
public enum Side
+67 -2
View File
@@ -33,6 +33,20 @@ namespace Common
[Description("m3/m")] m3pm, /// 1 m3/m = 60 m3/h
[Description("cf/s")] cfs, /// 1 cubic foot per second = 101.9406477312 m3/h
[Description("g/s")] gps, /// 1 g/s = 0.0036 t/h
[Description("g/min")] gpm, /// 1 g/min = 0.00006 t/h
[Description("g/h")] gph, /// 1 g/h = 0.000001 t/h
[Description("kg/s")] kgps, /// 1 kg/s = 3.6 t/h
[Description("kg/min")] kgpm, /// 1 kg/min = 0.06 t/h
[Description("kg/h")] kgph, /// 1 kg/h = 0.001 t/h
[Description("t/s")] tps, /// 1 t/s = 3600 t/h
[Description("t/min")] tpm, /// 1 t/min = 60 t/h
[Description("t/h")] tph, /// 1 t/h = 1 t/h
[Description("lb/s")] lbps, /// 1 lb/s ≈ 1.633 t/h
[Description("lb/min")] lbpm, /// 1 lb/min ≈ 0.027216 t/h
[Description("lb/h")] lbph, /// 1 lb/h ≈ 0.0004536 t/h
[Description("g")] g, /// 0.001 kg
[Description("oz")] oz, /// 0.0283495231 kg
[Description("lb")] lb, /// 0.45359237 kg
@@ -221,9 +235,13 @@ namespace Common
[Description("Corrente")] Current,
[Description("Voltaggio")] Voltage,
#else
[Description("RegisterReader")] RegisterReader,
[Description("MultiFunctionalVariables")] MultiFunctionalVariables,
[Description("VolumeFlow")] VolumeFlow,
[Description("Volume")] Volume,
[Description("Flow")] Flow,
[Description("Mass")] Mass,
[Description("MassFlow")] MassFlow,
[Description("Mass")] Mass,
[Description("Time")] Time,
[Description("Temperature")] Temperature,
[Description("Pressure")] Pressure,
@@ -234,6 +252,8 @@ namespace Common
[Description("Energy")] Energy,
[Description("Pulses")] Pulses,
[Description("Pulses/liter")] PulsePerLtr,
[Description("Pulses/kg")] PulsePerKilogram, //...MF
[Description("Pulses/Unit")] PulsePerUnit,//...MF
[Description("Pulses/kWh")] PulsePerKWh,
[Description("Conductivity")] Conductivity,
@@ -278,29 +298,72 @@ namespace Common
return Quantity.Pulses;
case Unit.ml:
return Quantity.Volume;
case Unit.l:
return Quantity.Volume;
case Unit.dm3:
return Quantity.Volume;
case Unit.USgal:
return Quantity.Volume;
case Unit.UKgal:
return Quantity.Volume;
case Unit.cf:
return Quantity.Volume;
case Unit.m3:
return Quantity.Volume;
case Unit.lph:
return Quantity.Flow;
case Unit.cfph:
return Quantity.Flow;
case Unit.lpm:
return Quantity.Flow;
case Unit.USgalpm:
return Quantity.Flow;
case Unit.m3ph:
return Quantity.Flow;
case Unit.lps:
return Quantity.Flow;
case Unit.USgalps:
return Quantity.Flow;
case Unit.m3pm:
return Quantity.Flow;
case Unit.cfs:
return Quantity.Flow;
case Unit.gps:
return Quantity.MassFlow;
case Unit.gpm:
return Quantity.MassFlow;
case Unit.gph:
return Quantity.MassFlow;
case Unit.kgps:
return Quantity.MassFlow;
case Unit.kgpm:
return Quantity.MassFlow;
case Unit.kgph:
return Quantity.MassFlow;
case Unit.tps:
return Quantity.MassFlow;
case Unit.tpm:
return Quantity.MassFlow;
case Unit.tph:
return Quantity.MassFlow;
case Unit.lbps:
return Quantity.MassFlow;
case Unit.lbpm:
return Quantity.MassFlow;
case Unit.lbph:
return Quantity.MassFlow;
case Unit.g:
return Quantity.Mass;
case Unit.oz:
return Quantity.Mass;
case Unit.lb:
return Quantity.Mass;
case Unit.kg:
return Quantity.Mass;
case Unit.t:
return Quantity.Mass;
@@ -384,8 +447,10 @@ namespace Common
}
}
public static bool IsVolume(Unit unit) { return IsQuantity(unit, Quantity.Volume); }
public static bool IsVolumeFlow(Unit unit) { return IsQuantity(unit, Quantity.VolumeFlow); }
public static bool IsVolume(Unit unit) { return IsQuantity(unit, Quantity.Volume); }
public static bool IsFlow(Unit unit) { return IsQuantity(unit, Quantity.Flow); }
public static bool IsMassFlow(Unit unit) { return IsQuantity(unit, Quantity.MassFlow); }
public static bool IsMass(Unit unit) { return IsQuantity(unit, Quantity.Mass); }
public static bool IsTime(Unit unit) { return IsQuantity(unit, Quantity.Time); }
public static bool IsTemperature(Unit unit) { return IsQuantity(unit, Quantity.Temperature); }
+3 -1
View File
@@ -302,7 +302,7 @@ namespace Common
string passwordOfDay = Convert.ToString(number, 8);
return (userName.Equals("milan") && password.Equals("kraken")) ||
(userName.Equals("BuMi") && password.Equals("70630")) ||
(userName.Equals("bumi") && password.Equals("70630")) ||
(userName.Equals("igor") && password.Equals("mojronko8")) ||
(userName.Equals("lubo1212") && password.Equals("Tatry52")) ||
(userName.Equals("Michal") && password.Equals("Plok789456123")) ||
@@ -311,6 +311,8 @@ namespace Common
(userName.Equals("jan") && password.Equals("jaugust")) ||
(userName.Equals("JCermak") && password.Equals("Zt6911")) ||
(userName.Equals("gilles") && password.Equals("alibaba")) ||
(userName.Equals("michal") && password.Equals("mojnelson8")) ||
(userName.Equals("marek") && password.Equals("mareciino")) ||
#if DEBUG
(userName.Equals("Sensus Developers") && password.Equals("5fbg12gf5hn8nhy1fr")) ||
#endif
+37 -4
View File
@@ -16,20 +16,26 @@ namespace Results.Entities
public virtual double PulsesMeter { get; set; } /// # of water meter or heat meter pulses
public virtual double PulsesMaster { get; set; } /// # of reference flowmeter pulses (gated by this water meter pulses)
public virtual double PulsesPerLiter { get; set; } /// [l ^ -1], in case of heat meters (CompoundMeterId==5) pulses per kWh in [kWh ^ -1]
public virtual double PulsesPerKilogram { get; set; } /// [kg ^ -1]
public virtual double VolumeStart { get; set; } /// Volume or energy (CompoundMeterId==5) on test start in [l] or [J]
public virtual double VolumeEnd { get; set; } /// Volume or energy (CompoundMeterId==5) on test end in [l] or [J]
public virtual double VolumeMeter { get; set; } /// Measured volume or energy (CompoundMeterId==5) in [l] or [J]
public virtual double VolumeRef { get; set; } /// Reference volume or energy (CompoundMeterId==5) in [l] or [J]
public virtual double VolumeMeter { get; set; } /// Measured volume or energy (CompoundMeterId==5) in [l] or [J]
public virtual double MassMeter { get; set; } /// Measured mass or energy (CompoundMeterId==5) in [kg] or [J]
public virtual double VolumeRef { get; set; } /// Reference volume or energy (CompoundMeterId==5) in [l] or [J]
public virtual double MassRef { get; set; } /// Reference mass or energy (CompoundMeterId==5) in [kg] or [J]
public virtual double TimestampStart { get; set; } /// [s]
public virtual double TimestampEnd { get; set; } /// [s]
public virtual double TestTime { get; set; } /// [s]
/// Main result
public virtual double Error { get; set; } /// [%]
public virtual double Error { get; set; } /// [%] for volume register reader
public virtual double ErrorMass { get; set; } /// [%] for mass register reader
public virtual long ErrorIndicators { get; set; } /// Not mapped to DB !!!, bit24=E25, bit25=E26, bit26=E27, bit27=E28 (error flags)
public virtual long InfoIndicators { get; set; } /// Not mapped to DB !!!, bit24=E25, bit25=E26, bit26=E27, bit27=E28 (info flags)
public virtual bool TestDone { get; set; } /// true = test was completed
public virtual bool Passed { get; set; } /// true = test passed, water meter is OK
public virtual bool Passed { get; set; } /// true = test passed, water meter is OK for Volume RegisterReader
public virtual bool PassedMass { get; set; } /// true = test passed, water meter is OK for Mass RegisterReader
public virtual string QuantityUnits { get; set; } /// dm3, kg, etc. - this value defined the quantity of meter, its decisive for distinction of pulse types
#if IPERL
public virtual int CalibFactor { get; set; }
public virtual int CalibFactorLNA { get; set; }
@@ -123,6 +129,33 @@ namespace Results.Entities
return Passed ? yesNo[0] : ((yesNo.Length >= 2) ? yesNo[1] : Results.Resources.Strings.No);
}
}
public virtual string PassedMassColorStr(string yesNoFormatOrEmpty)
{
if (string.IsNullOrEmpty(yesNoFormatOrEmpty))
{
return Utils.PassedColorStr(PassedMass, Evaluate());
}
else
{
string[] yesNo = yesNoFormatOrEmpty.Split(new char[] { '~' });
return PassedMass ? yesNo[0] : ((yesNo.Length >= 2) ? yesNo[1] : Results.Resources.Strings.No);
}
}
public virtual string GetQuantityFromUnits()
{
if (QuantityUnits == "kg")
{
return "Mass";
}
else if (QuantityUnits == "dm3")
{
return "Volume";
}
return "Volume";
}
public MeterTestRslt()
{
+7 -1
View File
@@ -36,6 +36,8 @@ namespace Results.Entities
public virtual double ConstMasterCorr { get; set; } /// [l/pls] Liters per pulse of the master flow meter corrected by a correction table.
public virtual double ConstMaster { get; set; } /// [l/pls] Liters per pulse of the master flow meter calculated from a mass measurement.
/// When mass measurement is not available, corrected by a correction table.
public virtual double MassConstMaster { get; set; } /// [kg/pls] kilograms per pulse of the master flow meter calculated from a mass measurement.
/// When mass measurement is not available, corrected by a correction table.
public virtual double MassStartRaw { get; set; } /// [kg]
public virtual double MassStart { get; set; } /// [kg]
public virtual double MassEndRaw { get; set; } /// [kg]
@@ -48,7 +50,11 @@ namespace Results.Entities
public virtual double Flow { get; set; } /// [m3/h] calculated from conventional true value
public virtual double VolumeCTV { get; set; } /// [l] Volume conventional true value
public virtual double VolumeMaster { get; set; } /// [l] Volume from the master flow meter
public virtual double ErrorMaster { get; set; } /// [%] Error of the master flow meter
public virtual double ErrorMaster { get; set; } /// [%] Error of the master flow meter
public virtual double MassFlow { get; set; } /// [t/h] calculated from conventional true value
public virtual double MassCTV { get; set; } /// [kg] Volume conventional true value
public virtual double MassMaster { get; set; } /// [kg] Volume from the master flow meter
public virtual double MassErrorMaster { get; set; } /// [%] Error of the master flow meter
public virtual float DiverterStart { get; set; } /// [s] Diverter switch time or a start/stop valve open time when the test starts
public virtual float DivStart10 { get; set; } /// [s] Diverter switch time when test starts at level 10 (e.g. 10%) (not mapped to DB)
+6 -1
View File
@@ -33,7 +33,8 @@ namespace Results.Entities
public virtual string ApprovalInfo { get; set; }
public virtual string Certificate { get; set; }
public virtual double PulsesPerLtr { get; set; }
public virtual double PulsesPerKilogram { get; set; }
/// Concerns compound water meters
public virtual string ProducerAux { get; set; }
public virtual double Q3_Qn_Aux { get; set; } /// [m3/h]
@@ -85,6 +86,7 @@ namespace Results.Entities
ApprovalInfo = oriWMData.ApprovalInfo;
Certificate = oriWMData.Certificate;
PulsesPerLtr = oriWMData.PulsesPerLtr;
PulsesPerKilogram = oriWMData.PulsesPerKilogram;
ProducerAux = oriWMData.ProducerAux;
Q3_Qn_Aux = oriWMData.Q3_Qn_Aux;
MetrologicalClassAux = oriWMData.MetrologicalClassAux;
@@ -129,6 +131,7 @@ namespace Results.Entities
if (ApprovalInfo != wmd.ApprovalInfo) return false;
if (Certificate != wmd.Certificate) return false;
if (PulsesPerLtr != wmd.PulsesPerLtr) return false;
if (PulsesPerKilogram != wmd.PulsesPerKilogram) return false;
if (ProducerAux != wmd.ProducerAux) return false;
if (Q3_Qn_Aux != wmd.Q3_Qn_Aux) return false;
if (MetrologicalClassAux != wmd.MetrologicalClassAux) return false;
@@ -188,6 +191,7 @@ namespace Results.Entities
writer.Write((ApprovalInfo != null) ? ApprovalInfo : string.Empty);
writer.Write((Certificate != null) ? Certificate : string.Empty);
writer.Write(PulsesPerLtr);
writer.Write(PulsesPerKilogram);
writer.Write((ProducerAux != null) ? ProducerAux : string.Empty);
writer.Write(Q3_Qn_Aux);
writer.Write((MetrologicalClassAux != null) ? MetrologicalClassAux : string.Empty);
@@ -227,6 +231,7 @@ namespace Results.Entities
ApprovalInfo = reader.ReadString();
Certificate = reader.ReadString();
PulsesPerLtr = reader.ReadDouble();
PulsesPerKilogram = reader.ReadDouble();
ProducerAux = reader.ReadString();
Q3_Qn_Aux = reader.ReadDouble();
MetrologicalClassAux = reader.ReadString();
+2
View File
@@ -49,6 +49,8 @@ namespace Results.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
firstEnabledControl = null;
lastSizeChange = DateTime.Now;
nrGroups = 1;
+4 -1
View File
@@ -24,7 +24,10 @@ namespace Results.Forms
public ManualEntryConfigDlg()
{
InitializeComponent();
manualEntryConfigCtrl.Unlocked = true;
this.Icon = Properties.Resources.TBF_icon;
manualEntryConfigCtrl.Unlocked = true;
}
+2
View File
@@ -25,6 +25,8 @@ namespace Results.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
Localize();
ShowAllResults(wm);
+4 -1
View File
@@ -35,7 +35,10 @@ namespace Results.Forms
public ResultsConfigDlg()
{
InitializeComponent();
resultsConfigCtrl.Unlocked = true;
this.Icon = Properties.Resources.TBF_icon;
resultsConfigCtrl.Unlocked = true;
}
+11 -1
View File
@@ -350,7 +350,17 @@ namespace Results
Pulses_aux, /// 296 Compound aux meter pulses (recalculated so that the gated ref. pulses for this meter are equal to the total ref. pulses)
Failed_meters_countE15, /// 297
Quantity, /// 298
Reference_quantity, /// 299
Start_quantity, /// 300
End_quantity, /// 301
RR_Quantity, /// 302
RR_Units, /// 303
MassCTV, /// 304
Unit_per_pulse_Read, /// 305
Pulses_per_unit, /// 306
Count,
}
}
+8 -2
View File
@@ -16,16 +16,22 @@ namespace Results.Mappings
Map(x => x.PulsesMeter);
Map(x => x.PulsesMaster);
Map(x => x.PulsesPerLiter);
Map(x => x.VolumeStart);
Map(x => x.PulsesPerKilogram);
Map(x => x.VolumeStart);
Map(x => x.VolumeEnd);
Map(x => x.VolumeMeter);
Map(x => x.VolumeRef);
Map(x => x.TimestampStart);
Map(x => x.MassMeter);
Map(x => x.MassRef);
Map(x => x.TimestampStart);
Map(x => x.TimestampEnd);
Map(x => x.TestTime);
Map(x => x.Error);
Map(x => x.ErrorMass);
Map(x => x.TestDone);
Map(x => x.Passed);
Map(x => x.PassedMass);
Map(x => x.QuantityUnits);
#if IPERL
Map(x => x.ExtraDataPath);
Map(x => x.X1);
+4
View File
@@ -45,6 +45,10 @@ namespace Results.Mappings
Map(x => x.VolumeCTV);
Map(x => x.VolumeMaster);
Map(x => x.ErrorMaster);
Map(x => x.MassFlow).Column("MassFlow");
Map(x => x.MassCTV);
Map(x => x.MassMaster);
Map(x => x.MassErrorMaster);
Map(x => x.DiverterStart);
Map(x => x.DiverterEnd);
Map(x => x.ErrorFlags);
+11 -1
View File
@@ -19,7 +19,7 @@ namespace Results.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -69,5 +69,15 @@ namespace Results.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon TBF_icon {
get {
object obj = ResourceManager.GetObject("TBF_icon", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
}
}
+3
View File
@@ -121,4 +121,7 @@
<data name="Headpic" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Headpic.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TBF_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TBF_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
+36
View File
@@ -294,6 +294,15 @@ namespace Results.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to End quantity.
/// </summary>
internal static string End_quantity {
get {
return ResourceManager.GetString("End_quantity", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to End state.
/// </summary>
@@ -897,6 +906,15 @@ namespace Results.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Pulses/Unit.
/// </summary>
internal static string PulsesUnit {
get {
return ResourceManager.GetString("PulsesUnit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Q fall.
/// </summary>
@@ -1131,6 +1149,15 @@ namespace Results.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Start quantity.
/// </summary>
internal static string Start_quantity {
get {
return ResourceManager.GetString("Start_quantity", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Start volume.
/// </summary>
@@ -2103,6 +2130,15 @@ namespace Results.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Quant..
/// </summary>
internal static string VName_Quantity {
get {
return ResourceManager.GetString("VName_Quantity", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Temp..
/// </summary>
+57 -45
View File
@@ -123,9 +123,18 @@
<data name="Alignment" xml:space="preserve">
<value>Zarovnání</value>
</data>
<data name="Approval" xml:space="preserve">
<value>Schválení</value>
</data>
<data name="Available_results" xml:space="preserve">
<value>Dostupné výsledky</value>
</data>
<data name="Batch_nr" xml:space="preserve">
<value>Číslo dávky</value>
</data>
<data name="Bench" xml:space="preserve">
<value>Stanice</value>
</data>
<data name="CancelBtnText" xml:space="preserve">
<value>Zrušit</value>
</data>
@@ -135,9 +144,21 @@
<data name="Configuration" xml:space="preserve">
<value>Konfigurace</value>
</data>
<data name="Density" xml:space="preserve">
<value>Hustota</value>
</data>
<data name="DownBtnText" xml:space="preserve">
<value>Dolů</value>
</data>
<data name="End" xml:space="preserve">
<value>Konec</value>
</data>
<data name="Error" xml:space="preserve">
<value>Chyba</value>
</data>
<data name="Flow" xml:space="preserve">
<value>Průtok</value>
</data>
<data name="Format" xml:space="preserve">
<value>Formát</value>
</data>
@@ -150,8 +171,8 @@
<data name="Precision" xml:space="preserve">
<value>Přesnost</value>
</data>
<data name="Remark" xml:space="preserve">
<value>Poznámka</value>
<data name="Procedure" xml:space="preserve">
<value>Procedura</value>
</data>
<data name="Remove" xml:space="preserve">
<value>&lt; Odebrat</value>
@@ -162,15 +183,15 @@
<data name="Result" xml:space="preserve">
<value>Výsledek</value>
</data>
<data name="Results" xml:space="preserve">
<value>Výsledky</value>
</data>
<data name="Result_code" xml:space="preserve">
<value>Kód výsledku</value>
</data>
<data name="Selected_results" xml:space="preserve">
<value>Vybrané výsledky</value>
</data>
<data name="sn" xml:space="preserve">
<value>sériové číslo</value>
</data>
<data name="Start" xml:space="preserve">
<value>Začátek</value>
</data>
<data name="Test_ID" xml:space="preserve">
<value>Test</value>
</data>
@@ -180,9 +201,21 @@
<data name="UpBtnText" xml:space="preserve">
<value>Nahoru</value>
</data>
<data name="User" xml:space="preserve">
<value>Uživatel</value>
</data>
<data name="Width" xml:space="preserve">
<value>Šířka</value>
</data>
<data name="Results" xml:space="preserve">
<value>Výsledky</value>
</data>
<data name="Remark" xml:space="preserve">
<value>Poznámka</value>
</data>
<data name="Result_code" xml:space="preserve">
<value>Kód výsledku</value>
</data>
<data name="Mounting" xml:space="preserve">
<value>Montáž</value>
</data>
@@ -195,54 +228,27 @@
<data name="Quantity" xml:space="preserve">
<value>Veličina</value>
</data>
<data name="sn" xml:space="preserve">
<value>sériové číslo</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Vodoměr</value>
</data>
<data name="Batch_nr" xml:space="preserve">
<value>Číslo dávky</value>
</data>
<data name="from" xml:space="preserve">
<value>od</value>
</data>
<data name="to" xml:space="preserve">
<value>do</value>
</data>
<data name="Unit" xml:space="preserve">
<value>Jednotka</value>
</data>
<data name="Approval" xml:space="preserve">
<value>Schválení</value>
</data>
<data name="Bench" xml:space="preserve">
<value>Stanice</value>
</data>
<data name="Density" xml:space="preserve">
<value>Hustota</value>
</data>
<data name="Density_correction" xml:space="preserve">
<value>Korekce hustoty</value>
</data>
<data name="End" xml:space="preserve">
<value>Konec</value>
<data name="User_description" xml:space="preserve">
<value>Popis uživatele</value>
</data>
<data name="Procedure" xml:space="preserve">
<value>Procedura</value>
<data name="Unit" xml:space="preserve">
<value>Jednotka</value>
</data>
<data name="Procedure_description" xml:space="preserve">
<value>Popis procedury</value>
</data>
<data name="Start" xml:space="preserve">
<value>Začátek</value>
</data>
<data name="User" xml:space="preserve">
<value>Uživatel</value>
</data>
<data name="User_description" xml:space="preserve">
<value>Popis uživatele</value>
</data>
<data name="Bench_ID" xml:space="preserve">
<value>ID stanice</value>
</data>
@@ -315,9 +321,6 @@
<data name="Serial_number_is_missing" xml:space="preserve">
<value>Chybí sériové číslo</value>
</data>
<data name="Error" xml:space="preserve">
<value>Chyba</value>
</data>
<data name="Lower_limit" xml:space="preserve">
<value>Dolní hranice</value>
</data>
@@ -330,9 +333,6 @@
<data name="Relative_error" xml:space="preserve">
<value>Relativní chyba</value>
</data>
<data name="Flow" xml:space="preserve">
<value>Průtok</value>
</data>
<data name="This_position_is_disabled" xml:space="preserve">
<value>Taro pozice je vypnuta</value>
</data>
@@ -351,4 +351,16 @@
<data name="Merge" xml:space="preserve">
<value>Spojit</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
+63 -51
View File
@@ -210,6 +210,9 @@
<data name="Procedure" xml:space="preserve">
<value>Prüfvorlage</value>
</data>
<data name="Producer" xml:space="preserve">
<value>Hersteller</value>
</data>
<data name="Protocol" xml:space="preserve">
<value>Protokoll</value>
</data>
@@ -360,57 +363,6 @@
<data name="Mounting" xml:space="preserve">
<value>Montage</value>
</data>
<data name="Producer" xml:space="preserve">
<value>Hersteller</value>
</data>
<data name="Meter_type" xml:space="preserve">
<value>WZ-Typ</value>
</data>
<data name="Compound" xml:space="preserve">
<value>Verbundzähler</value>
</data>
<data name="Heat_meter" xml:space="preserve">
<value>Wärmezähler</value>
</data>
<data name="Single" xml:space="preserve">
<value>Einzel</value>
</data>
<data name="Category" xml:space="preserve">
<value>Kategorie</value>
</data>
<data name="Quantity" xml:space="preserve">
<value>Größe</value>
</data>
<data name="Page" xml:space="preserve">
<value>Seite</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Wasserzähler</value>
</data>
<data name="aux" xml:space="preserve">
<value>Nebenzähler</value>
</data>
<data name="main" xml:space="preserve">
<value>Hauptzähler</value>
</data>
<data name="fall" xml:space="preserve">
<value>fall</value>
</data>
<data name="from" xml:space="preserve">
<value>von</value>
</data>
<data name="rise" xml:space="preserve">
<value>steig</value>
</data>
<data name="to" xml:space="preserve">
<value>bis</value>
</data>
<data name="VName_Mass" xml:space="preserve">
<value>Masse</value>
</data>
<data name="Density_correction" xml:space="preserve">
<value>Dichtekorrektur</value>
</data>
<data name="Energy" xml:space="preserve">
<value>Energie</value>
</data>
@@ -429,6 +381,21 @@
<data name="P_delta_start" xml:space="preserve">
<value>Druckdifferenz Beginn Prüfung</value>
</data>
<data name="Meter_type" xml:space="preserve">
<value>WZ-Typ</value>
</data>
<data name="Compound" xml:space="preserve">
<value>Verbundzähler</value>
</data>
<data name="Heat_meter" xml:space="preserve">
<value>Wärmezähler</value>
</data>
<data name="Single" xml:space="preserve">
<value>Einzel</value>
</data>
<data name="Page" xml:space="preserve">
<value>Seite</value>
</data>
<data name="End_volume" xml:space="preserve">
<value>Ende Volumen</value>
</data>
@@ -459,6 +426,15 @@
<data name="Start_mass" xml:space="preserve">
<value>Start Prüfung</value>
</data>
<data name="Category" xml:space="preserve">
<value>Kategorie</value>
</data>
<data name="Quantity" xml:space="preserve">
<value>Größe</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Wasserzähler</value>
</data>
<data name="VName_Flow" xml:space="preserve">
<value>Q</value>
</data>
@@ -474,6 +450,9 @@
<data name="VName_Humi" xml:space="preserve">
<value>Hu</value>
</data>
<data name="VName_Mass" xml:space="preserve">
<value>Masse</value>
</data>
<data name="VName_TstTime" xml:space="preserve">
<value>Tau</value>
</data>
@@ -582,6 +561,12 @@
<data name="Tooltip_T_up_st" xml:space="preserve">
<value>Temperatur Prüstreckeneingang am Prüfungsbeginn (4 Messungen nach Beginn)</value>
</data>
<data name="aux" xml:space="preserve">
<value>Nebenzähler</value>
</data>
<data name="main" xml:space="preserve">
<value>Hauptzähler</value>
</data>
<data name="Tooltip_E_rel" xml:space="preserve">
<value>Relative Messabweichung eines WZ</value>
</data>
@@ -606,6 +591,18 @@
<data name="VName_Error" xml:space="preserve">
<value>E</value>
</data>
<data name="fall" xml:space="preserve">
<value>fall</value>
</data>
<data name="from" xml:space="preserve">
<value>von</value>
</data>
<data name="rise" xml:space="preserve">
<value>steig</value>
</data>
<data name="to" xml:space="preserve">
<value>bis</value>
</data>
<data name="Tooltip_Hu_Amb_M" xml:space="preserve">
<value>Umgebungs-Luftfeuchtigkeit während der Prüfung</value>
</data>
@@ -627,6 +624,9 @@
<data name="Yes" xml:space="preserve">
<value>Ja</value>
</data>
<data name="Density_correction" xml:space="preserve">
<value>Dichtekorrektur</value>
</data>
<data name="Error_flags" xml:space="preserve">
<value>Fehlerflags</value>
</data>
@@ -825,4 +825,16 @@
<data name="Selected_items" xml:space="preserve">
<value>Ausgewählte Objekte</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
+12
View File
@@ -804,4 +804,16 @@
<data name="Serial_number_is_missing" xml:space="preserve">
<value>Numérotation en série</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
+12
View File
@@ -537,4 +537,16 @@
<data name="Yes" xml:space="preserve">
<value>Sì</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
+12
View File
@@ -441,4 +441,16 @@
<data name="Unit" xml:space="preserve">
<value>Jednostka</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
+12
View File
@@ -852,4 +852,16 @@
<data name="Merge" xml:space="preserve">
<value>Merge</value>
</data>
<data name="PulsesUnit" xml:space="preserve">
<value>Pulses/Unit</value>
</data>
<data name="VName_Quantity" xml:space="preserve">
<value>Quant.</value>
</data>
<data name="Start_quantity" xml:space="preserve">
<value>Start quantity</value>
</data>
<data name="End_quantity" xml:space="preserve">
<value>End quantity</value>
</data>
</root>
+17 -5
View File
@@ -420,22 +420,34 @@
<data name="Volume_main" xml:space="preserve">
<value>Объем главн.</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Счетчик воды</value>
</data>
<data name="VName_Vol" xml:space="preserve">
<value>Объем</value>
</data>
<data name="aux" xml:space="preserve">
<value>доп.</value>
</data>
<data name="main" xml:space="preserve">
<value>главн.</value>
</data>
<data name="VName_Vol" xml:space="preserve">
<value>Объем</value>
</data>
<data name="No" xml:space="preserve">
<value>Нет</value>
</data>
<data name="Yes" xml:space="preserve">
<value>Да</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Счетчик воды</value>
<data name="PulsesUnit" xml:space="preserve">
<value />
</data>
<data name="VName_Quantity" xml:space="preserve">
<value />
</data>
<data name="Start_quantity" xml:space="preserve">
<value />
</data>
<data name="End_quantity" xml:space="preserve">
<value />
</data>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+1
View File
@@ -256,6 +256,7 @@
<ItemGroup>
<Content Include="Entities\PurchaseEntities\createPurchaseTables.sql" />
<Content Include="Entities\PurchaseEntities\ImportPurchaseOrderTestData.sql" />
<None Include="Resources\TBF_icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+21 -13
View File
@@ -131,6 +131,12 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.String, "String", "", Quantity.String, ItemCategory.Other, (w,t,u,f,p) => f));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Separator, "Separator", "", Quantity.String, ItemCategory.Other, (w,t,u,f,p) => string.Empty));
///
/// Register reader
///
AllItems.Add(new WMeterRsltItemSpec(ItemID.RR_Quantity, "RR Quantity", "", Quantity.RegisterReader, ItemCategory.Other, (w,t,u,f,p) => (w.GetMeterTestRslt(t) != null) ? FormatStr(f, w.GetMeterTestRslt(t).GetQuantityFromUnits()) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.RR_Units, "RR Units", "", Quantity.RegisterReader, ItemCategory.Other, (w,t,u,f,p) => (w.GetMeterTestRslt(t) != null) ? FormatStr(f, w.GetMeterTestRslt(t).QuantityUnits) : string.Empty));
/// Common
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_name, Strings.Test + "()", Quantity.String, ItemCategory.TestData, (w,t,u,f,p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Name())));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Procedure_name, Strings.Procedure, Quantity.String, ItemCategory.Other, (w,t,u,f,p) => FormatStr(f, w.ProcedureName())));
@@ -155,21 +161,22 @@ namespace Results
///
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_volume, Strings.Test_vol + "()", Quantity.Volume, ItemCategory.TestData, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetTestRslt(t).TargetVolume())));
AllItems.Add(new WMeterRsltItemSpec(ItemID.VolumeCTV, string.Format("{0} CTV ()", Strings.VName_Vol), Quantity.Volume, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetTestRslt(t).VolumeCTV)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume, string.Format("{0} Mt. ()", Strings.VName_Vol), Strings.Tooltip_Vol_Mt, Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeMeter) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u,f,p, "V4", w.GetMeterTestRslt(t).VolumeMeter) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_volume, string.Format("{0} rm ()", Strings.VName_Vol), Strings.Tooltip_Vol_rm, Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeRef) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u,f,p, "V4", w.GetMeterTestRslt(t).VolumeRef) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Quantity, string.Format("{0} Mt. ()", Strings.VName_Quantity), Strings.Tooltip_Vol_Mt, Quantity.MultiFunctionalVariables, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", (w.GetMeterTestRslt(t).GetQuantityFromUnits() == "Mass" ? w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).MassMeter : w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeMeter)) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", (w.GetMeterTestRslt(t).GetQuantityFromUnits() == "Mass" ? w.GetMeterTestRslt(t).MassMeter : w.GetMeterTestRslt(t).VolumeMeter)) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_quantity,string.Format("{0} rm ()", Strings.VName_Quantity), Strings.Tooltip_Vol_rm, Quantity.MultiFunctionalVariables, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", (w.GetMeterTestRslt(t).GetQuantityFromUnits() == "Mass" ? w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).MassRef : w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeRef)) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", (w.GetMeterTestRslt(t).GetQuantityFromUnits() == "Mass" ? w.GetMeterTestRslt(t).MassRef : w.GetMeterTestRslt(t).VolumeRef)) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_main, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.main), Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeMeter) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_aux, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.aux), Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeMeter) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume, Strings.Start_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeStart) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u,f,p, "V4", w.GetMeterTestRslt(t).VolumeStart) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_quantity, Strings.Start_quantity + "()", Quantity.MultiFunctionalVariables, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeStart) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeStart) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_main, Strings.Start_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeStart) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_aux, Strings.Start_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeStart) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume, Strings.End_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeEnd) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u,f,p, "V4", w.GetMeterTestRslt(t).VolumeEnd) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_quantity, Strings.End_quantity + "()", Quantity.MultiFunctionalVariables, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeEnd) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeEnd) : string.Empty)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_main, Strings.End_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeEnd) : string.Empty));
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_aux, Strings.End_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeEnd) : string.Empty));
///
/// Mass
///
AllItems.Add(new WMeterRsltItemSpec(ItemID.Mass_start_raw, string.Format("{0} ST raw ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassStartRaw)));
///
/// Mass
///
AllItems.Add(new WMeterRsltItemSpec(ItemID.MassCTV, string.Format("{0} CTV ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassCTV)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Mass_start_raw, string.Format("{0} ST raw ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassStartRaw)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Mass_start, string.Format("{0} ST ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassStart)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Mass_end_raw, string.Format("{0} EN raw ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassEndRaw)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Mass_end, string.Format("{0} EN ()", Strings.VName_Mass), Quantity.Mass, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u,f,p, "V4", w.GetTestRslt(t).MassEnd)));
@@ -374,10 +381,11 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.Camera_angle_start, "Start angle ()", "Start angle measured by a camera",Quantity.Pulses, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u,f,p, "F0", w.GetMeterTestRslt(t).IsCamera() ? w.GetMeterTestRslt(t).VolumeStart * w.GetMeterTestRslt(t).PulsesPerLiter : 0)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Camera_angle_end, "End angle ()", "End angle measured by a camera", Quantity.Pulses, ItemCategory.MeterResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u,f,p, "F0", w.GetMeterTestRslt(t).IsCamera() ? w.GetMeterTestRslt(t).VolumeEnd * w.GetMeterTestRslt(t).PulsesPerLiter : 0)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pulses_per_liter, Strings.PulsesLiter, Quantity.PulsePerLtr, ItemCategory.MeterData, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", w.WaterMeterData.PulsesPerLtr)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pls_per_ltr_aux, Strings.PulsesLiter + " aux", Quantity.PulsePerLtr, ItemCategory.MeterData, (w, t, u, f, p) => FormatDbl(u, f, p, "V4", w.WaterMeterData.PulsesPerLtrAux)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pulse__liter, Strings.PulsesLiter + "()", Quantity.PulsePerLtr, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).IsCamera() ? 0 : w.GetMeterTestRslt(t).PulsesPerLiter)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Degree__liter, "Degree per liter ()", Quantity.PulsePerLtr, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).IsCamera() ? w.GetMeterTestRslt(t).PulsesPerLiter : 0)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pulses_per_unit, Strings.PulsesUnit, Quantity.PulsePerUnit, ItemCategory.MeterData, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", w.WaterMeterData.PulsesPerLtr)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pls_per_ltr_aux, Strings.PulsesUnit + " aux", Quantity.PulsePerUnit, ItemCategory.MeterData, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", w.WaterMeterData.PulsesPerLtrAux)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pulse__liter, Strings.PulsesUnit + "()", Quantity.PulsePerUnit, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).IsCamera() ? 0 : w.GetMeterTestRslt(t).PulsesPerLiter)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Degree__liter, "Degree per unit ()", Quantity.PulsePerUnit, ItemCategory.TestResult, (w,t,u,f,p) => (w.GetMeterTestRslt(t) == null) ? string.Empty : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).IsCamera() ? w.GetMeterTestRslt(t).PulsesPerLiter : 0)));
/// Water meters results (combined)
AllItems.Add(new WMeterRsltItemSpec(ItemID.Pulses_main, Strings.Pulses + " " + Strings.main + "()", Quantity.Pulses, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) == null) ? string.Empty : FormatDbl(u, f, p, "F0", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).IsPulses() ? w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).PulsesMeter : 0)));
@@ -405,7 +413,7 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.Watermeters, Strings.WMs, Quantity.String, ItemCategory.Other, (w,t,u,f,p) => FormatStr(f, w.Batch.WatermetersStr)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_start_time, Strings.Start, Quantity.DateTime, ItemCategory.Other, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? w.Batch.StartTime.ToString() : string.Format(f, w.Batch.StartTime)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_end_time, Strings.End, Quantity.DateTime, ItemCategory.Other, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? w.Batch.EndTime.ToString() : string.Format(f, w.Batch.EndTime)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Lite_per_pulse_Read, "1 / PlsPerLtr_Read", Quantity.PulsePerLtr, ItemCategory.Other, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", (w.WaterMeterData.PulsesPerLtr != 0) ? 1/w.WaterMeterData.PulsesPerLtr : 0)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Unit_per_pulse_Read, "1 / PlsPerUnit_Read", Quantity.PulsePerUnit,ItemCategory.Other, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", (w.WaterMeterData.PulsesPerLtr != 0) ? 1 / w.WaterMeterData.PulsesPerLtr : 0)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed_meters_count, Strings.Passed_meters_count, Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.PassedMetersCount())));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Failed_meters_count, Strings.Failed_meters_count, Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.FailedMetersCount())));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Failed_meters_countE15, Strings.Failed_meters_count + "E15", Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.FailedMetersCountE15())));
@@ -13,5 +13,6 @@ namespace SchematicDrawing
Common.Unit MsrdUnit { get; }
double MsrdValLimLo { get; }
double MsrdValLimHi { get; }
bool IsOffline { get; set; }
}
}
+5 -1
View File
@@ -672,7 +672,11 @@ namespace SchematicDrawing
SizeF size = e.Graphics.MeasureString(strVal, measuredValueFont);
Rectangle rect = new Rectangle(itm.X + itm.MsrdX, itm.Y + itm.MsrdY, (int)Math.Round(size.Width) + 4, (int)Math.Round(size.Height) + 2);
ItemElementRectangles.Add(new ItemElementRect(item, Element.MeasuredVal, rect));
if (measuredValues[msrdValIx] >= itm.MsrdValLimLo && measuredValues[msrdValIx] <= itm.MsrdValLimHi)
if ((item as IDrawingItemWithMeasuredVal).IsOffline)
{
e.Graphics.FillRectangle(measuredValueErrorBackColor, rect);
}
else if (measuredValues[msrdValIx] >= itm.MsrdValLimLo && measuredValues[msrdValIx] <= itm.MsrdValLimHi)
{
e.Graphics.FillRectangle(measuredValueBackColor, rect);
}
@@ -1,5 +0,0 @@
is_global = true
build_property.RootNamespace = SharedComponents
build_property.ProjectDir = C:\Users\micha\git\tbf\SharedComponents\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
@@ -5,11 +5,12 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\micha\.nuget\packages\</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\MFRNIAK\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\micha\.nuget\packages\" />
<SourceRoot Include="C:\Users\MFRNIAK\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>
+2
View File
@@ -44,6 +44,8 @@ namespace SharedDatabase.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
loginStatePictureBox1.Image = Properties.Resources.questionMark;
loginStatePictureBox2.Image = Properties.Resources.questionMark;
authorizedUser1 = null;
+3
View File
@@ -31,6 +31,9 @@ namespace SharedDatabase.Forms
public EditSelectedUser()
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
this.toolTip1.SetToolTip(this.txtName, string.Format(Strings.max_0_alphanum_chars, 20));
oriGroupMember = new bool[(displayedGroups != null) ? displayedGroups.Count : 0];
okBtn.Enabled = false;
+2
View File
@@ -45,6 +45,8 @@ namespace SharedDatabase.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
oriBackColor = BackColor;
}
@@ -22,6 +22,8 @@ namespace SharedDatabase.Forms
public PasswordChangeDlg()
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
}
/// <summary>
@@ -30,6 +32,9 @@ namespace SharedDatabase.Forms
public PasswordChangeDlg(string predefinedUser)
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
userNameTextBox.Text = predefinedUser;
}
+2
View File
@@ -46,6 +46,8 @@ namespace SharedDatabase.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
oriBackColor = BackColor;
}
+2
View File
@@ -46,6 +46,8 @@ namespace SharedDatabase.Forms
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
loginStatePictureBox1.Image = Properties.Resources.questionMark;
loginStatePictureBox2.Image = Properties.Resources.questionMark;
loginStatePictureBox3.Image = Properties.Resources.questionMark;
@@ -35,6 +35,9 @@ namespace SharedDatabase.Forms
public UserManagementDlg(NHibernate.ISession session, bool showLocalExtensions)
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
this.session = session;
this.showExtensions = showLocalExtensions;
if (showLocalExtensions) copyFromRemoteButton.Visible = true;
+11 -1
View File
@@ -19,7 +19,7 @@ namespace SharedDatabase.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -89,5 +89,15 @@ namespace SharedDatabase.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon TBF_icon {
get {
object obj = ResourceManager.GetObject("TBF_icon", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
}
}
+3
View File
@@ -127,4 +127,7 @@
<data name="rejected" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Pictures\rejected.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TBF_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TBF_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+3
View File
@@ -221,6 +221,9 @@
<None Include="Pictures\questionMark.bmp" />
<None Include="Pictures\rejected.bmp" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\TBF_icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
+6 -3
View File
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Sensus")]
[assembly: AssemblyProduct("TestBenchFramework")]
[assembly: AssemblyCopyright("Copyright © 2013 - 2023 Sensus Slovensko, a.s.")]
[assembly: AssemblyCopyright("Copyright © 2013 - 2025 Sensus Slovensko, a.s.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -19,6 +19,9 @@ using System.Runtime.InteropServices;
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//Visibility to TBFTests internal classes
[assembly: InternalsVisibleTo("TBFTests")]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2c13538e-15ee-48b2-af0f-2c95afb67186")]
@@ -29,5 +32,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("3.9.2149.4")]
[assembly: AssemblyFileVersion("3.9.2149.4")]
[assembly: AssemblyVersion("3.9.3056.1")]
[assembly: AssemblyFileVersion("3.9.3056.1")]
+11 -1
View File
@@ -19,7 +19,7 @@ namespace TBF.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -150,6 +150,16 @@ namespace TBF.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon TBF_icon {
get {
object obj = ResourceManager.GetObject("TBF_icon", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
+3
View File
@@ -208,4 +208,7 @@
<data name="TControl_XL_idle" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Rig\Modbus\TempControl\Pictures\TControl-XL-idle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TBF_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TBF_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
+1 -1
View File
@@ -19,8 +19,8 @@
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>
+3 -3
View File
@@ -1,5 +1,5 @@
## Version History
| Version | Target Environment | Title | Description |
|------------|--------------------------------------------------------------|-----------------------------------------------------|------------------------------------|
| 3.9.2149.0 | HeatMeters, Heat meter sensors, Procedure Dilog, Tab Process | Excanged columns value 'Sensor' and 'Heat meter sensor' | Fix in code ProcedureDlg, row 1851 |
| Version | Source of change | Target Environment | Title | Description |
|------------|----------------------|--------------------------------------------------------------|-----------------------------------------------------|------------------------------------|
| 3.9.2149.0 | Michal databse error | HeatMeters, Heat meter sensors, Procedure Dilog, Tab Process | Excanged columns value 'Sensor' and 'Heat meter sensor' | Fix in code ProcedureDlg, row 1851 |
+36
View File
@@ -4415,6 +4415,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Pulses per kilogram.
/// </summary>
internal static string PulsesPerKilogram {
get {
return ResourceManager.GetString("PulsesPerKilogram", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Pulses per kWh.
/// </summary>
@@ -4433,6 +4442,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Pulses per unit.
/// </summary>
internal static string PulsesPerUnit {
get {
return ResourceManager.GetString("PulsesPerUnit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Pump.
/// </summary>
@@ -6251,6 +6269,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Test in calculation.
/// </summary>
internal static string Test_in_calculation {
get {
return ResourceManager.GetString("Test_in_calculation", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Test in progress.
/// </summary>
@@ -6686,6 +6713,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Units.
/// </summary>
internal static string Units {
get {
return ResourceManager.GetString("Units", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unlock.
/// </summary>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+9
View File
@@ -126,4 +126,13 @@
<data name="ShowDialog" xml:space="preserve">
<value>Mostrar diálogo</value>
</data>
<data name="PulsesPerUnit" xml:space="preserve">
<value />
</data>
<data name="PulsesPerKilogram" xml:space="preserve">
<value />
</data>
<data name="Units" xml:space="preserve">
<value />
</data>
</root>
+38 -32
View File
@@ -117,9 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Activité</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>Confirmation</value>
</data>
@@ -399,9 +396,6 @@
<data name="Tol_red_pct_chdr" xml:space="preserve">
<value>Toler rouge. [%]</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Temps test [s]</value>
</data>
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
<value>Erreur lors de la création de la base de données. Raison:</value>
</data>
@@ -525,9 +519,6 @@
<data name="RelativeQto" xml:space="preserve">
<value>Q relatif à</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Q cible [m3/h]</value>
</data>
<data name="Compound_meters" xml:space="preserve">
<value>Mètres composés</value>
</data>
@@ -618,6 +609,9 @@
<data name="Switching_flow_detection" xml:space="preserve">
<value>Détection flux commutation</value>
</data>
<data name="Activity" xml:space="preserve">
<value>Activité</value>
</data>
<data name="Progress" xml:space="preserve">
<value>Progrès</value>
</data>
@@ -888,7 +882,7 @@
<data name="Qrise" xml:space="preserve">
<value>Q hausse</value>
</data>
<data name="Serial_Number" xml:space="preserve">
<data name="Serial_number" xml:space="preserve">
<value>Numéro série</value>
</data>
<data name="State" xml:space="preserve">
@@ -939,6 +933,9 @@
<data name="Purchase_order" xml:space="preserve">
<value>Commande</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Numéro de projet</value>
</data>
<data name="Ambient_humidity" xml:space="preserve">
<value>Humidité ambiante</value>
</data>
@@ -1245,9 +1242,6 @@
<data name="Target_ref_pulses_" xml:space="preserve">
<value>Cible ref impulsions:</value>
</data>
<data name="Target_volume_l_" xml:space="preserve">
<value>Volume cible [l]:</value>
</data>
<data name="Save_column_widths" xml:space="preserve">
<value>Enregistrer largeurs colonne</value>
</data>
@@ -1386,9 +1380,6 @@
<data name="Last_changed_by" xml:space="preserve">
<value>Dernier changement dby</value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>Types compteurs testés</value>
</data>
<data name="Notes" xml:space="preserve">
<value>Remarques</value>
</data>
@@ -1671,6 +1662,9 @@
<data name="Protected_procedure" xml:space="preserve">
<value>Procédure protégée</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Vidanger</value>
</data>
<data name="Session" xml:space="preserve">
<value>Session</value>
</data>
@@ -1713,9 +1707,6 @@
<data name="RFID_communication_failed" xml:space="preserve">
<value>Échec communication RFID</value>
</data>
<data name="Opto_head_was_disabled_by_the_user" xml:space="preserve">
<value>tête désactivée par utilisateur</value>
</data>
<data name="failed_0_1_exclamation" xml:space="preserve">
<value>{0}' exclamation échoué ({1}) !!!</value>
</data>
@@ -1803,9 +1794,6 @@
<data name="Refresh" xml:space="preserve">
<value>Rafraîchir</value>
</data>
<data name="current" xml:space="preserve">
<value>actuel</value>
</data>
<data name="Flow" xml:space="preserve">
<value>Couler</value>
</data>
@@ -1905,7 +1893,7 @@
<data name="Import" xml:space="preserve">
<value>Importation</value>
</data>
<data name="repetition" xml:space="preserve">
<data name="Repetition" xml:space="preserve">
<value>répétition</value>
</data>
<data name="Result" xml:space="preserve">
@@ -1989,6 +1977,9 @@
<data name="End_session" xml:space="preserve">
<value>Terminer le cycle</value>
</data>
<data name="Fill" xml:space="preserve">
<value>Inonder</value>
</data>
<data name="Pipeline" xml:space="preserve">
<value>Pipeline</value>
</data>
@@ -2001,25 +1992,40 @@
<data name="Q_tg" xml:space="preserve">
<value>Q obj.</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Vidanger</value>
</data>
<data name="Empty_the_tank" xml:space="preserve">
<value>Vidanger réservoir</value>
</data>
<data name="Fill" xml:space="preserve">
<value>Inonder</value>
</data>
<data name="Current" xml:space="preserve">
<value>Curren</value>
</data>
<data name="Voltage" xml:space="preserve">
<value>Tension</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Numéro de projet</value>
</data>
<data name="ShowDialog" xml:space="preserve">
<value>Afficher la boîte de dialogue</value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>Types compteurs testés</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Q cible [m3/h]</value>
</data>
<data name="Target_volume_l_" xml:space="preserve">
<value>Volume cible [l]:</value>
</data>
<data name="Opto_head_was_disabled_by_the_user" xml:space="preserve">
<value>tête désactivée par utilisateur</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Temps test [s]</value>
</data>
<data name="PulsesPerUnit" xml:space="preserve">
<value />
</data>
<data name="PulsesPerKilogram" xml:space="preserve">
<value />
</data>
<data name="Units" xml:space="preserve">
<value />
</data>
</root>
+67 -58
View File
@@ -117,9 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Attività</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>conferma</value>
</data>
@@ -252,9 +249,6 @@
<data name="Nr" xml:space="preserve">
<value>numero</value>
</data>
<data name="Mass" xml:space="preserve">
<value>massa</value>
</data>
<data name="AddBtnText" xml:space="preserve">
<value>Aggiunta</value>
</data>
@@ -276,12 +270,6 @@
<data name="OkBtnText" xml:space="preserve">
<value>Ok</value>
</data>
<data name="Flow" xml:space="preserve">
<value>flusso</value>
</data>
<data name="Pressure" xml:space="preserve">
<value>pressione</value>
</data>
<data name="Invalid_username_or_password" xml:space="preserve">
<value>Username o password non validi</value>
</data>
@@ -399,12 +387,6 @@
<data name="Output_chdr" xml:space="preserve">
<value>Uscite</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Qda [l/h]</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q a [l/h]</value>
</data>
<data name="Red_type_chdr" xml:space="preserve">
<value>tipo rosso</value>
</data>
@@ -414,9 +396,6 @@
<data name="Tol_red_pct_chdr" xml:space="preserve">
<value>tolleranza rossa [%]</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>test time [s]</value>
</data>
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
<value>errore durante la creazione del data base. ragioni:</value>
</data>
@@ -540,9 +519,6 @@
<data name="RelativeQto" xml:space="preserve">
<value>Q relativo a</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>target Q [m3/h]</value>
</data>
<data name="Compound_meters" xml:space="preserve">
<value>metri composti</value>
</data>
@@ -633,6 +609,9 @@
<data name="Switching_flow_detection" xml:space="preserve">
<value>rilevamento del flusso di commutazione</value>
</data>
<data name="Activity" xml:space="preserve">
<value>Attività</value>
</data>
<data name="Progress" xml:space="preserve">
<value>progressi</value>
</data>
@@ -903,7 +882,7 @@
<data name="Qrise" xml:space="preserve">
<value>Qalta</value>
</data>
<data name="Serial_Number" xml:space="preserve">
<data name="Serial_number" xml:space="preserve">
<value>Numero Seriale</value>
</data>
<data name="State" xml:space="preserve">
@@ -954,6 +933,9 @@
<data name="Purchase_order" xml:space="preserve">
<value>ordine acquisto</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Numero del progetto</value>
</data>
<data name="Ambient_humidity" xml:space="preserve">
<value>Umidità dell'ambiente</value>
</data>
@@ -981,9 +963,6 @@
<data name="Start" xml:space="preserve">
<value>Inizio</value>
</data>
<data name="AtTemperature_C" xml:space="preserve">
<value>@temperatura [°C]</value>
</data>
<data name="Density" xml:space="preserve">
<value>densità</value>
</data>
@@ -1125,15 +1104,15 @@
<data name="ID" xml:space="preserve">
<value>ID </value>
</data>
<data name="Focus" xml:space="preserve">
<value>messa a fuoco</value>
</data>
<data name="Grab" xml:space="preserve">
<value>afferrare</value>
</data>
<data name="Live" xml:space="preserve">
<value>dal vivo</value>
</data>
<data name="Camera" xml:space="preserve">
<value>Fotocamera</value>
</data>
<data name="Closing_the_tank" xml:space="preserve">
<value>chiusura del serbatoio</value>
</data>
@@ -1212,15 +1191,15 @@
<data name="Compound_meter_0" xml:space="preserve">
<value>misuratore composto {0}</value>
</data>
<data name="Error_" xml:space="preserve">
<value>Errore:</value>
</data>
<data name="Estimated_time_s_" xml:space="preserve">
<value>tempo stimato [s]:</value>
</data>
<data name="Mass_diff_kg_" xml:space="preserve">
<value>mass diff [kg]:</value>
</data>
<data name="Mass" xml:space="preserve">
<value>massa</value>
</data>
<data name="Meter" xml:space="preserve">
<value>metri</value>
</data>
@@ -1260,9 +1239,6 @@
<data name="Target_ref_pulses_" xml:space="preserve">
<value>Target ref. count:</value>
</data>
<data name="Target_volume_l_" xml:space="preserve">
<value>target volume [l]:</value>
</data>
<data name="Save_column_widths" xml:space="preserve">
<value>salva larghezza colonne</value>
</data>
@@ -1314,6 +1290,9 @@
<data name="Print_watermeter_results" xml:space="preserve">
<value>stampare i risultati dei contatori</value>
</data>
<data name="Save_again" xml:space="preserve">
<value>inviato</value>
</data>
<data name="Sent" xml:space="preserve">
<value>inviato</value>
</data>
@@ -1398,9 +1377,6 @@
<data name="Last_changed_by" xml:space="preserve">
<value>ultimo cambiato da </value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>tipi di contatori testati</value>
</data>
<data name="Notes" xml:space="preserve">
<value>note</value>
</data>
@@ -1572,9 +1548,6 @@
<data name="User_code" xml:space="preserve">
<value>codice utente</value>
</data>
<data name="Save_again" xml:space="preserve">
<value>inviato</value>
</data>
<data name="Failed_to_initialize_device_0_1_2" xml:space="preserve">
<value>Errore dispositivo '{0}':{1}{2}</value>
</data>
@@ -1686,8 +1659,8 @@
<data name="Protected_procedure" xml:space="preserve">
<value>Procedura protetta</value>
</data>
<data name="Drain" xml:space="preserve">
<value>Drenare</value>
<data name="Empty" xml:space="preserve">
<value>Svuotare</value>
</data>
<data name="Session" xml:space="preserve">
<value>Sessione</value>
@@ -1740,14 +1713,17 @@
<data name="Correction" xml:space="preserve">
<value>correzione</value>
</data>
<data name="Camera" xml:space="preserve">
<value>Fotocamera</value>
<data name="Start_the_test_bench" xml:space="preserve">
<value>Avvio del banco prova</value>
</data>
<data name="Finish_the_session_please" xml:space="preserve">
<value>Finire la misurazione perfavore</value>
</data>
<data name="Start_the_test_bench" xml:space="preserve">
<value>Avvio del banco prova</value>
<data name="Flow" xml:space="preserve">
<value>flusso</value>
</data>
<data name="Pressure" xml:space="preserve">
<value>pressione</value>
</data>
<data name="Flow_adjustment_failed" xml:space="preserve">
<value>Errore impostazione del flusso</value>
@@ -1761,12 +1737,6 @@
<data name="Abort_session" xml:space="preserve">
<value>Interrompere</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Svuotare</value>
</data>
<data name="Empty_the_tank" xml:space="preserve">
<value>Svuotare il serbatoio</value>
</data>
<data name="End_session" xml:space="preserve">
<value>Finire il ciclo</value>
</data>
@@ -1779,16 +1749,55 @@
<data name="Start_cycle" xml:space="preserve">
<value>Avviare il ciclo</value>
</data>
<data name="Empty_the_tank" xml:space="preserve">
<value>Svuotare il serbatoio</value>
</data>
<data name="Current" xml:space="preserve">
<value>Corrente</value>
</data>
<data name="Voltage" xml:space="preserve">
<value>Voltaggio</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Numero del progetto</value>
</data>
<data name="ShowDialog" xml:space="preserve">
<value>Mostra dialogo</value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>tipi di contatori testati</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Qda [l/h]</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q a [l/h]</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>target Q [m3/h]</value>
</data>
<data name="Target_volume_l_" xml:space="preserve">
<value>target volume [l]:</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>test time [s]</value>
</data>
<data name="AtTemperature_C" xml:space="preserve">
<value>@temperatura [°C]</value>
</data>
<data name="Focus" xml:space="preserve">
<value>messa a fuoco</value>
</data>
<data name="Error_" xml:space="preserve">
<value>Errore:</value>
</data>
<data name="Drain" xml:space="preserve">
<value>Drenare</value>
</data>
<data name="PulsesPerUnit" xml:space="preserve">
<value />
</data>
<data name="PulsesPerKilogram" xml:space="preserve">
<value />
</data>
<data name="Units" xml:space="preserve">
<value />
</data>
</root>
File diff suppressed because it is too large Load Diff
+15 -4
View File
@@ -198,10 +198,10 @@
<data name="Reg_valve" xml:space="preserve">
<value>Reg. valve</value>
</data>
<data name="RegulMinStep" xml:space="preserve">
<data name="RegulMinStep" xml:space="preserve">
<value>Reg. min step</value>
</data>
<data name="Application_Diagnostic" xml:space="preserve">
<data name="Application_Diagnostic" xml:space="preserve">
<value>Application diagnostic</value>
</data>
<data name="Balance" xml:space="preserve">
@@ -2449,7 +2449,7 @@
<data name="Upgrade_DB" xml:space="preserve">
<value>Upgrade database</value>
</data>
<data name="AppDiagnostic" xml:space="preserve">
<data name="AppDiagnostic" xml:space="preserve">
<value>Application diagnostic</value>
</data>
<data name="About" xml:space="preserve">
@@ -2473,5 +2473,16 @@
<data name="SaveCommunication" xml:space="preserve">
<value>Save Communication</value>
</data>
<data name="PulsesPerUnit" xml:space="preserve">
<value>Pulses per unit</value>
</data>
<data name="PulsesPerKilogram" xml:space="preserve">
<value>Pulses per kilogram</value>
</data>
<data name="Units" xml:space="preserve">
<value>Units</value>
</data>
<data name="Test_in_calculation" xml:space="preserve">
<value>Test in calculation</value>
</data>
</root>
File diff suppressed because it is too large Load Diff
+85 -76
View File
@@ -117,9 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Активность</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>Подтверждение</value>
</data>
@@ -183,6 +180,12 @@
<data name="P_out" xml:space="preserve">
<value>P вниз</value>
</data>
<data name="Q_from" xml:space="preserve">
<value>Q от</value>
</data>
<data name="Q_to" xml:space="preserve">
<value>Q до</value>
</data>
<data name="Reference" xml:space="preserve">
<value>Ссылка</value>
</data>
@@ -240,9 +243,6 @@
<data name="Nr" xml:space="preserve">
<value>№</value>
</data>
<data name="Mass" xml:space="preserve">
<value>Масса</value>
</data>
<data name="AddBtnText" xml:space="preserve">
<value>Добавить</value>
</data>
@@ -264,12 +264,6 @@
<data name="OkBtnText" xml:space="preserve">
<value>OK</value>
</data>
<data name="Flow" xml:space="preserve">
<value>Расход</value>
</data>
<data name="Pressure" xml:space="preserve">
<value>Давление</value>
</data>
<data name="Username" xml:space="preserve">
<value>Имя пользователя</value>
</data>
@@ -384,12 +378,6 @@
<data name="Output_chdr" xml:space="preserve">
<value>Выход</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Q от [л/ч]</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q до [л/ч]</value>
</data>
<data name="Red_type_chdr" xml:space="preserve">
<value>Тип сокращ.</value>
</data>
@@ -399,9 +387,6 @@
<data name="Tol_red_pct_chdr" xml:space="preserve">
<value>Toler. red. [%]</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Время теста [с]</value>
</data>
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
<value>Ошибка при создании базы данных. Причина:</value>
</data>
@@ -525,9 +510,6 @@
<data name="RelativeQto" xml:space="preserve">
<value>Относительный Q до</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Заданный Q [м3/ч]</value>
</data>
<data name="Compound_meters" xml:space="preserve">
<value>Комбинированные счетчики</value>
</data>
@@ -618,6 +600,9 @@
<data name="Switching_flow_detection" xml:space="preserve">
<value>Переключение потока</value>
</data>
<data name="Activity" xml:space="preserve">
<value>Активность</value>
</data>
<data name="Progress" xml:space="preserve">
<value>Прогресс</value>
</data>
@@ -888,7 +873,7 @@
<data name="Qrise" xml:space="preserve">
<value>Qпониж</value>
</data>
<data name="Serial_Number" xml:space="preserve">
<data name="Serial_number" xml:space="preserve">
<value>Серийный номер</value>
</data>
<data name="State" xml:space="preserve">
@@ -939,6 +924,9 @@
<data name="Purchase_order" xml:space="preserve">
<value>Заказ</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Номер проекта</value>
</data>
<data name="Ambient_humidity" xml:space="preserve">
<value>Относительная влажность окружающей среды</value>
</data>
@@ -966,9 +954,6 @@
<data name="Start" xml:space="preserve">
<value>Старт</value>
</data>
<data name="AtTemperature_C" xml:space="preserve">
<value>температура [°C]</value>
</data>
<data name="Density" xml:space="preserve">
<value>Плотность</value>
</data>
@@ -996,12 +981,6 @@
<data name="Qt" xml:space="preserve">
<value>Qt</value>
</data>
<data name="cold" xml:space="preserve">
<value>холодный</value>
</data>
<data name="hot" xml:space="preserve">
<value>горячий</value>
</data>
<data name="Water" xml:space="preserve">
<value>Вода</value>
</data>
@@ -1110,9 +1089,6 @@
<data name="ID" xml:space="preserve">
<value>ID</value>
</data>
<data name="Focus" xml:space="preserve">
<value>Сфокусировать</value>
</data>
<data name="Grab" xml:space="preserve">
<value>Захватить</value>
</data>
@@ -1203,6 +1179,9 @@
<data name="Mass_diff_kg_" xml:space="preserve">
<value>Mass diff. [kg]:</value>
</data>
<data name="Mass" xml:space="preserve">
<value>Масса</value>
</data>
<data name="Meter" xml:space="preserve">
<value>Счетчик</value>
</data>
@@ -1242,9 +1221,6 @@
<data name="Target_ref_pulses_" xml:space="preserve">
<value>Target ref. count:</value>
</data>
<data name="Target_volume_l_" xml:space="preserve">
<value>Заданный объем [л]:</value>
</data>
<data name="Save_column_widths" xml:space="preserve">
<value>Сохранить ширину столбцов</value>
</data>
@@ -1296,9 +1272,6 @@
<data name="Print_watermeter_results" xml:space="preserve">
<value>Печатать результатов водосчетчиков</value>
</data>
<data name="Again" xml:space="preserve">
<value>Снова</value>
</data>
<data name="Sent" xml:space="preserve">
<value>Отправлено</value>
</data>
@@ -1383,9 +1356,6 @@
<data name="Last_changed_by" xml:space="preserve">
<value>Изменено</value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>Типы испытываемых счетчиков</value>
</data>
<data name="Notes" xml:space="preserve">
<value>Заметки</value>
</data>
@@ -1557,6 +1527,57 @@
<data name="User_code" xml:space="preserve">
<value>Код пользователя</value>
</data>
<data name="Resetting_scales" xml:space="preserve">
<value>Сброс весов</value>
</data>
<data name="Correction" xml:space="preserve">
<value>Коррекция</value>
</data>
<data name="Flow" xml:space="preserve">
<value>Расход</value>
</data>
<data name="Pressure" xml:space="preserve">
<value>Давление</value>
</data>
<data name="Result" xml:space="preserve">
<value>Результат</value>
</data>
<data name="Evaporation" xml:space="preserve">
<value>испарение</value>
</data>
<data name="String1" xml:space="preserve">
<value>Строка 1</value>
</data>
<data name="Current" xml:space="preserve">
<value>Current</value>
</data>
<data name="Voltage" xml:space="preserve">
<value>Voltage</value>
</data>
<data name="cold" xml:space="preserve">
<value>холодный</value>
</data>
<data name="hot" xml:space="preserve">
<value>горячий</value>
</data>
<data name="Test_method2" xml:space="preserve">
<value>Метод испытаний 2</value>
</data>
<data name="Meter_types_tested" xml:space="preserve">
<value>Типы испытываемых счетчиков</value>
</data>
<data name="Short_dercription" xml:space="preserve">
<value>Краткое описание</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Q от [л/ч]</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q до [л/ч]</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Заданный Q [м3/ч]</value>
</data>
<data name="P_in_end" xml:space="preserve">
<value>P вверх конец</value>
</data>
@@ -1569,43 +1590,31 @@
<data name="P_out_start" xml:space="preserve">
<value>P вниз начало</value>
</data>
<data name="Q_from" xml:space="preserve">
<value>Q от</value>
<data name="Target_volume_l_" xml:space="preserve">
<value>Заданный объем [л]:</value>
</data>
<data name="Q_to" xml:space="preserve">
<value>Q до</value>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Время теста [с]</value>
</data>
<data name="AtTemperature_C" xml:space="preserve">
<value>температура [°C]</value>
</data>
<data name="Focus" xml:space="preserve">
<value>Сфокусировать</value>
</data>
<data name="ROI_Detection_in_ProgressROI_Detection_in_Progress" xml:space="preserve">
<value>Продолжается распознавание</value>
</data>
<data name="String1" xml:space="preserve">
<value>Строка 1</value>
<data name="Again" xml:space="preserve">
<value>Снова</value>
</data>
<data name="Test_method2" xml:space="preserve">
<value>Метод испытаний 2</value>
<data name="PulsesPerUnit" xml:space="preserve">
<value />
</data>
<data name="Short_dercription" xml:space="preserve">
<value>Краткое описание</value>
<data name="PulsesPerKilogram" xml:space="preserve">
<value />
</data>
<data name="Correction" xml:space="preserve">
<value>Коррекция</value>
</data>
<data name="Resetting_scales" xml:space="preserve">
<value>Сброс весов</value>
</data>
<data name="Result" xml:space="preserve">
<value>Результат</value>
</data>
<data name="Evaporation" xml:space="preserve">
<value>испарение</value>
</data>
<data name="Current" xml:space="preserve">
<value>Current</value>
</data>
<data name="Voltage" xml:space="preserve">
<value>Voltage</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Номер проекта</value>
<data name="Units" xml:space="preserve">
<value />
</data>
</root>
+40 -28
View File
@@ -117,33 +117,51 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Činnosť</value>
<data name="Error" xml:space="preserve">
<value>Chyba</value>
</data>
<data name="Sensor" xml:space="preserve">
<value>Senzor</value>
</data>
<data name="CancelBtnText" xml:space="preserve">
<value>Zrušiť</value>
</data>
<data name="Compound" xml:space="preserve">
<value>Združený</value>
<data name="OkBtnText" xml:space="preserve">
<value>Áno</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Ukončiť</value>
</data>
<data name="Compound_meters" xml:space="preserve">
<value>Združené vodomery</value>
</data>
<data name="Error" xml:space="preserve">
<value>Chyba</value>
<data name="Activity" xml:space="preserve">
<value>Činnosť</value>
</data>
<data name="Compound" xml:space="preserve">
<value>Združený</value>
</data>
<data name="Serial_number" xml:space="preserve">
<value>Sériové číslo</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Číslo projektu</value>
</data>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="OkBtnText" xml:space="preserve">
<value>Áno</value>
<data name="Paths" xml:space="preserve">
<value>Cesty</value>
</data>
<data name="Head_was_disabled_by_the_user" xml:space="preserve">
<value>Hlavica bola vypnutá používateľom</value>
<data name="Meter" xml:space="preserve">
<value>Merač</value>
</data>
<data name="RFID_communication_failed" xml:space="preserve">
<value>Zlyhala RFID komunikácia</value>
</data>
<data name="Head_was_disabled_by_the_user" xml:space="preserve">
<value>Hlavica bola vypnutá používateľom</value>
</data>
<data name="Level" xml:space="preserve">
<value>Hladina</value>
</data>
@@ -156,15 +174,9 @@
<data name="Side" xml:space="preserve">
<value>Strana</value>
</data>
<data name="Meter" xml:space="preserve">
<value>Merač</value>
</data>
<data name="Result" xml:space="preserve">
<value>Výsledok</value>
</data>
<data name="Sensor" xml:space="preserve">
<value>Senzor</value>
</data>
<data name="Mute_alarm" xml:space="preserve">
<value>Stlmiť sirénu</value>
</data>
@@ -217,9 +229,6 @@
<data name="Production_order_and_serial_numbers" xml:space="preserve">
<value>Výrobná zákazka a sériové čísla</value>
</data>
<data name="Serial_number" xml:space="preserve">
<value>Sériové číslo</value>
</data>
<data name="Serial_numbers" xml:space="preserve">
<value>Sériové čísla</value>
</data>
@@ -235,19 +244,22 @@
<data name="Do_you_really_want_to_delete_all_codes_Q" xml:space="preserve">
<value>Naozaj chcete vymazať všetky kódy ?</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Ukončiť</value>
</data>
<data name="Paths" xml:space="preserve">
<value>Cesty</value>
</data>
<data name="Project_number" xml:space="preserve">
<value>Číslo projektu</value>
</data>
<data name="ShowDialog" xml:space="preserve">
<value>Zobraz dialóg</value>
</data>
<data name="SaveCommunication" xml:space="preserve">
<value>Ulož komunikáciu</value>
</data>
<data name="PulsesPerUnit" xml:space="preserve">
<value />
</data>
<data name="PulsesPerKilogram" xml:space="preserve">
<value />
</data>
<data name="Units" xml:space="preserve">
<value />
</data>
<data name="Test_in_calculation" xml:space="preserve">
<value>Prebieha výpočet</value>
</data>
</root>
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+8 -5
View File
@@ -73,8 +73,11 @@ namespace TBF.Rig.Ambient.Comet
[XmlIgnore]
public IList<GNode> GNodes { get; set; }
/// Private parameterless constructor invoked by all other (public) constructors
AmbientCfg()
[XmlIgnore]
public bool IsOffline { get; set; }
/// Private parameterless constructor invoked by all other (public) constructors
AmbientCfg()
{
GNodes = new List<GNode>();
Format = string.Empty;
@@ -128,15 +131,15 @@ namespace TBF.Rig.Ambient.Comet
"Stop bits", /// 4
"Handshake", /// 5
"Set DTR to one", /// 6
"Unit of temperature", /// 7
"Units of temperature", /// 7
"Temperature limit Lo", /// 8
"Temperature limit Hi", /// 9
"Default temperature", /// 10
"Unit of pressure", /// 11
"Units of pressure", /// 11
"Pressure limit Lo", /// 12
"Pressure limit Hi", /// 13
"Default pressure", /// 14
"Unit of rel. humidity", /// 15
"Units of rel. humidity", /// 15
"Rel. humidity limit Lo", /// 16
"Rel. humidity limit Hi", /// 17
"Default retl. humidity", /// 18
+3
View File
@@ -72,6 +72,9 @@ namespace TBF.Rig.Ambient.Greco
[XmlIgnore]
public IList<GNode> GNodes { get; set; }
[XmlIgnore]
public bool IsOffline { get; set; }
/// Private parameterless constructor invoked by all other (public) constructors
AmbientCfg()
{
+4
View File
@@ -67,11 +67,13 @@ namespace TBF.Rig.BuiltIn.PumpTandem
if (pump1 is BuiltIn.Pump.Pump) { mask1 = (pump1 as BuiltIn.Pump.Pump).Mask; }
else if (pump1 is Danfoss.VLT2800.Pump) { mask1 = (pump1 as Danfoss.VLT2800.Pump).Mask; }
else if (pump1 is Modbus.PumpFM.DanfossVLT.Pump) { mask1 = (pump1 as Modbus.PumpFM.DanfossVLT.Pump).Mask; }
else if (pump1 is Modbus.PumpFM.Grundfoss.Pump) { mask1 = (pump1 as Modbus.PumpFM.Grundfoss.Pump).Mask; }
else { mask1 = 0; }
if (pump2 is BuiltIn.Pump.Pump) { mask2 = (pump2 as BuiltIn.Pump.Pump).Mask; }
else if (pump2 is Danfoss.VLT2800.Pump) { mask2 = (pump2 as Danfoss.VLT2800.Pump).Mask; }
else if (pump2 is Modbus.PumpFM.DanfossVLT.Pump) { mask2 = (pump2 as Modbus.PumpFM.DanfossVLT.Pump).Mask; }
else if (pump2 is Modbus.PumpFM.Grundfoss.Pump) { mask2 = (pump2 as Modbus.PumpFM.Grundfoss.Pump).Mask; }
else { mask2 = 0; }
log.FatalFormat("{0} initialized: {1}", Name, this);
@@ -109,6 +111,7 @@ namespace TBF.Rig.BuiltIn.PumpTandem
public void TurnOff()
{
log.DebugFormat("{0}.TurnOff()", Name);
if ((pumpFm1 != null) && (pumpFm2 != null))
{
pumpFm1.TurnOff();
@@ -118,6 +121,7 @@ namespace TBF.Rig.BuiltIn.PumpTandem
{
// TODO
}
log.DebugFormat("DONE {0}.TurnOff()", Name);
}
@@ -44,6 +44,7 @@ namespace TBF.Rig.BuiltIn.PumpTandem
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is BuiltIn.Pump.PumpFactory ||
TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Danfoss.VLT2800.PumpFactory ||
TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Modbus.PumpFM.DanfossVLT.Factory ||
TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Modbus.PumpFM.Grundfoss.Factory ||
TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is BuiltIn.PumpTandem.PumpFactory)
{
pump1ComboBox.Items.Add(cmpnt.Name);
+4 -2
View File
@@ -120,7 +120,8 @@ namespace TBF.Rig.BuiltIn
if (valve is PumpTandem.Pump) point.MasksOpen |= (valve as PumpTandem.Pump).Mask;
if (valve is Danfoss.VLT2800.Pump) point.MasksOpen |= (valve as Danfoss.VLT2800.Pump).Mask;
if (valve is Modbus.PumpFM.DanfossVLT.Pump) point.MasksOpen |= (valve as Modbus.PumpFM.DanfossVLT.Pump).Mask;
}
if (valve is Modbus.PumpFM.Grundfoss.Pump) point.MasksOpen |= (valve as Modbus.PumpFM.Grundfoss.Pump).Mask;
}
point.MasksClose = 0;
foreach (var valve in point.VClose)
{
@@ -129,7 +130,8 @@ namespace TBF.Rig.BuiltIn
if (valve is PumpTandem.Pump) point.MasksClose |= (valve as PumpTandem.Pump).Mask;
if (valve is Danfoss.VLT2800.Pump) point.MasksClose |= (valve as Danfoss.VLT2800.Pump).Mask;
if (valve is Modbus.PumpFM.DanfossVLT.Pump) point.MasksClose |= (valve as Modbus.PumpFM.DanfossVLT.Pump).Mask;
}
if (valve is Modbus.PumpFM.Grundfoss.Pump) point.MasksClose |= (valve as Modbus.PumpFM.Grundfoss.Pump).Mask;
}
point.TimeSec += timeShift;
}
}
+2
View File
@@ -35,6 +35,7 @@ namespace TBF.Rig.BuiltIn
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is Danfoss.VLT2800.Pump && ((vlv as Danfoss.VLT2800.Pump).Mask & changed) == 0) continue;
if (vlv is Modbus.PumpFM.DanfossVLT.Pump && ((vlv as Modbus.PumpFM.DanfossVLT.Pump).Mask & changed) == 0) continue;
if (vlv is Modbus.PumpFM.Grundfoss.Pump && ((vlv as Modbus.PumpFM.Grundfoss.Pump).Mask & changed) == 0) continue;
if ((vlv != null) && (vlv.Delay > max)) max = vlv.Delay;
}
@@ -45,6 +46,7 @@ namespace TBF.Rig.BuiltIn
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is Danfoss.VLT2800.Pump && ((vlv as Danfoss.VLT2800.Pump).Mask & changed) == 0) continue;
if (vlv is Modbus.PumpFM.DanfossVLT.Pump && ((vlv as Modbus.PumpFM.DanfossVLT.Pump).Mask & changed) == 0) continue;
if (vlv is Modbus.PumpFM.Grundfoss.Pump && ((vlv as Modbus.PumpFM.Grundfoss.Pump).Mask & changed) == 0) continue;
if ((vlv != null) && (vlv.Delay > max)) max = vlv.Delay;
}
@@ -5,6 +5,7 @@ using System;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
using Common;
using log4net;
using TBF.Rig.GenericDevices;
@@ -24,6 +25,9 @@ namespace TBF.Rig.ControlBoard.Uni
readonly TBF.Rig.Uni.Diverter.Diverter diverter;
readonly int pulsesCount; /// Number of reference pulses for a complete test
readonly bool withDiverter; /// Test with diverter (and scale)
private DateTime startTimeForSimulation;
private bool simulationTimerStarted = false;
///
/// Internal state of this operation
@@ -183,6 +187,28 @@ namespace TBF.Rig.ControlBoard.Uni
{
log.DebugFormat("Run() opState={0}", opState);
//Simulation of processing time 25 seconds
if (uniCB.DebugLevel == DebugMode.Simulate)
{
if (opState == OpState.StartingTest)
{
startTimeForSimulation = DateTime.Now;
simulationTimerStarted = false;
}
if (opState == OpState.TestInProgress)
{
if (!simulationTimerStarted)
{
startTimeForSimulation = DateTime.Now;
simulationTimerStarted = true;
}
else if (DateTime.Now - startTimeForSimulation > TimeSpan.FromSeconds(25))
{
return Event.TestCompleted;
}
}
}
switch (opState)
{
case OpState.StartingTest:
+3
View File
@@ -66,6 +66,9 @@ namespace TBF.Rig.ControlBoard.Uni
[XmlIgnore]
public IList<GEdge> EdgesToSet { get; set; }
[XmlIgnore]
public bool IsOffline { get; set; }
/// Private parameterless constructor invoked by all other (public) constructors
UniCBCfg()
{
+2
View File
@@ -332,6 +332,8 @@ namespace TBF.Rig.Danfoss.VLT2800
Telegram.UpdateTelegramChecksum(msg);
}
SendData(msg);
log.DebugFormat("DONE {0}.TurnOff()", Name);
}
@@ -57,6 +57,9 @@ namespace TBF.Rig.DataEntry.Combined
public CycleBeginningForm(int compoundWaterMetersCount, bool remarksEnabled)
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 3;
+4 -1
View File
@@ -33,7 +33,10 @@ namespace TBF.Rig.DataEntry.Combined
public CycleEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
MainStateText = new string[TBF.Data.CompoundWMsCount];
AuxStateText = new string[TBF.Data.CompoundWMsCount];
@@ -56,7 +56,10 @@ namespace TBF.Rig.DataEntry.Combined
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 3;
+1
View File
@@ -16,6 +16,7 @@ namespace TBF.Rig.DataEntry
[Description("Load")] Load, /// Load from water meters when the form is open, save on OK
[Description("Load (readonly)")] LoadReadOnly, /// Load from water meters when the form is open, prevent changes, do not save
[Description("Set")] Set, /// Set to 'yes' when the form is open
[Description("Set by RegReader")] RegReader, /// Set to 'yes' when the form is open
Count,
}
@@ -49,7 +49,10 @@ namespace TBF.Rig.DataEntry.HeatMeters12
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[] { label1, label2, label3, label4, label5, label6,
label7, label8, label9, label10, label11, label12 };
@@ -29,7 +29,10 @@ namespace TBF.Rig.DataEntry.HeatMeters12
public CycleEndForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
EndStateText = new string[WaterMetersCount];
@@ -61,7 +61,10 @@ namespace TBF.Rig.DataEntry.HeatMeters12
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 12;
@@ -49,7 +49,10 @@ namespace TBF.Rig.DataEntry.HeatMeters6
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[] { label1, label2, label3, label4, label5, label6 };
comboBoxes = new ComboBox[] { comboBox1, comboBox2, comboBox3, comboBox4, comboBox5, comboBox6 };
@@ -29,7 +29,10 @@ namespace TBF.Rig.DataEntry.HeatMeters6
public CycleEndForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
EndStateText = new string[WaterMetersCount];
@@ -61,7 +61,10 @@ namespace TBF.Rig.DataEntry.HeatMeters6
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 6;
@@ -40,7 +40,10 @@ namespace TBF.Rig.DataEntry.PoseidonCmd
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
preselectedOrder = null;
completed = false;
@@ -51,7 +51,10 @@ namespace TBF.Rig.DataEntry.PoseidonCmd
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 48;
@@ -133,6 +133,9 @@ namespace TBF.Rig.DataEntry.S620
public FormForMechanicalMetersWithTracing()
{
InitializeComponent();
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
oriBackColor = BackColor;
ManageCheckGroupBox(batchesCheckBox, batchesGroupBox);
+4 -1
View File
@@ -54,7 +54,10 @@ namespace TBF.Rig.DataEntry.S620
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 48;
@@ -37,7 +37,10 @@ namespace TBF.Rig.DataEntry.Single
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
textBoxesCount = 24;
labels = new Label[]
+4 -1
View File
@@ -35,7 +35,10 @@ namespace TBF.Rig.DataEntry.Single
public CycleEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[]
{
+4 -1
View File
@@ -58,7 +58,10 @@ namespace TBF.Rig.DataEntry.Single
public TestStartEndForm(int waterMetersCount, int lineSize)
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
WaterMetersCount = waterMetersCount;
@@ -50,7 +50,10 @@ namespace TBF.Rig.DataEntry.Standard12
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[] { label1, label2, label3, label4, label5, label6,
label7, label8, label9, label10, label11, label12 };
+4 -1
View File
@@ -34,7 +34,10 @@ namespace TBF.Rig.DataEntry.Standard12
public CycleEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[]
{
@@ -51,7 +51,10 @@ namespace TBF.Rig.DataEntry.Standard12
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 12;
@@ -51,7 +51,10 @@ namespace TBF.Rig.DataEntry.Standard24
public AdvancedFixedStartTestForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 24;
@@ -37,7 +37,10 @@ namespace TBF.Rig.DataEntry.Standard24
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
textBoxesCount = 24;
labels = new Label[]
+4 -1
View File
@@ -35,7 +35,10 @@ namespace TBF.Rig.DataEntry.Standard24
public CycleEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
labels = new Label[]
{
@@ -64,7 +64,10 @@ namespace TBF.Rig.DataEntry.Standard24
public TestStartEndForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
TextBoxesCount = 24;
@@ -37,7 +37,10 @@ namespace TBF.Rig.DataEntry.Standard48
public CycleBeginningForm()
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
textBoxesCount = 48;
labels = new Label[]
+4 -1
View File
@@ -29,7 +29,10 @@ namespace TBF.Rig.DataEntry.Standard48
public CycleEndForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.Icon = Properties.Resources.TBF_icon;
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
EndStateText = new string[WaterMetersCount];

Some files were not shown because too many files have changed in this diff Show More