Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c5102bfca |
@@ -1,13 +1,9 @@
|
||||
Config/bin/
|
||||
Config/obj/
|
||||
Decrypt/bin/
|
||||
Decrypt/obj/
|
||||
DeviceTest/bin/
|
||||
DeviceTest/obj/
|
||||
Dirichlet.Numerics/bin
|
||||
Dirichlet.Numerics/obj
|
||||
Encrypt/bin/
|
||||
Encrypt/obj/
|
||||
GemCard/bin
|
||||
GemCard/obj
|
||||
GraphLib/bin
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
@@ -28,7 +28,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
+5
-17
@@ -10,8 +10,8 @@ namespace Config
|
||||
|
||||
#if MUNICH
|
||||
public const int WMsCount = 3;
|
||||
public const int LineSize = 3;
|
||||
public const int CompoundWMsCount = 3;
|
||||
public const int LineSize = 1;
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = 3;
|
||||
#elif DN100 || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || CEVAK_200
|
||||
@@ -20,24 +20,12 @@ namespace Config
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif FUZHOU_300 || FUZHOU_150 || IZRAEL_200 || GENESIS || SLM_150 || PETERSBURG_200
|
||||
public const int WMsCount = 6;
|
||||
public const int LineSize = 6;
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = 3;
|
||||
#elif PUCHONG_200
|
||||
#elif FUZHOU_300 || FUZHOU_150 || IZRAEL_200 || PUCHONG_200 || GENESIS || SLM_150 || PETERSBURG_200 || DEWA_300
|
||||
public const int WMsCount = 6;
|
||||
public const int LineSize = 6;
|
||||
public const int CompoundWMsCount = 3;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = 3;
|
||||
#elif DEWA_300
|
||||
public const int WMsCount = 10;
|
||||
public const int LineSize = 10;
|
||||
public const int CompoundWMsCount = 3;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif DUBAJ_50
|
||||
public const int WMsCount = 10;
|
||||
public const int LineSize = 5;
|
||||
@@ -62,7 +50,7 @@ namespace Config
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = 1;
|
||||
#elif TORUN_50 || CEVAK_40 || MURES_40 || FUZHOU_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50
|
||||
#elif TORUN_50 || CEVAK_40 || MURES_40 || FUZHOU_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50
|
||||
public const int WMsCount = 20;
|
||||
public const int LineSize = 10;
|
||||
public const int CompoundWMsCount = 1;
|
||||
@@ -74,7 +62,7 @@ namespace Config
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif TURA_IPERL || TURA_IPERL_NEW
|
||||
#elif TURA_IPERL
|
||||
public const int WMsCount = 40;
|
||||
public const int LineSize = 20;
|
||||
public const int CompoundWMsCount = 1;
|
||||
|
||||
@@ -56,9 +56,6 @@ namespace Config.Entities
|
||||
public virtual string RelTransAfter { get; set; }
|
||||
public virtual string TransitionAfter { get; set; }
|
||||
|
||||
public virtual bool IsOuterLoopStart { get; set; } /// Not mapped to database
|
||||
public virtual bool IsOuterLoopEnd { get; set; } /// Not mapped to database
|
||||
|
||||
public virtual IList<ComponentTest> MoreParams { get; set; }
|
||||
|
||||
public virtual Procedure Procedure { get; set; }
|
||||
|
||||
+35
-50
@@ -221,60 +221,45 @@ namespace Config
|
||||
return error;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates corrected value form a list of corrections by interpolation.
|
||||
/// It is assumed that values in the list 'corrections' are sorted.
|
||||
/// </summary>
|
||||
/// <param name="rawMeasurement">Raw uncorrected value</param>
|
||||
/// <param name="corrections">Sorted (value, correction) pairs</param>
|
||||
/// <returns>Corrected value</returns>
|
||||
public static double CorrectedValue(double rawValue, IList<Config.Entities.MeasurementCorrection> corrections)
|
||||
{
|
||||
if (corrections == null || corrections.Count == 0) return rawValue;
|
||||
|
||||
/// <summary>
|
||||
/// Calculates corrected value from a list of corrections by interpolation.
|
||||
/// It is assumed that values in the list 'corrections' are sorted.
|
||||
/// </summary>
|
||||
/// <param name="rawMeasurement">Raw uncorrected value</param>
|
||||
/// <param name="corrections">Sorted (value, correction) pairs</param>
|
||||
/// <returns>Corrected value</returns>
|
||||
public static double CorrectedValue(double rawValue, IList<Config.Entities.MeasurementCorrection> corrections)
|
||||
{
|
||||
return rawValue + GetCorrection(rawValue, corrections);
|
||||
}
|
||||
if (rawValue < corrections[0].Measurement)
|
||||
{
|
||||
return rawValue + corrections[0].Correction;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a correction from a list of corrections by interpolation.
|
||||
/// It is assumed that values in the list 'corrections' are sorted.
|
||||
/// </summary>
|
||||
/// <param name="rawMeasurement">Raw uncorrected value</param>
|
||||
/// <param name="corrections">Sorted (value, correction) pairs</param>
|
||||
/// <returns>Corrected value</returns>
|
||||
public static double GetCorrection(double rawValue, IList<Config.Entities.MeasurementCorrection> corrections)
|
||||
{
|
||||
if ((corrections == null) || (corrections.Count == 0)) return 0; /// No correction
|
||||
int count = corrections.Count;
|
||||
for (int i = 1; i < count; i++)
|
||||
{
|
||||
if (rawValue < corrections[i].Measurement)
|
||||
{
|
||||
double d1 = rawValue - corrections[i-1].Measurement;
|
||||
double d2 = corrections[i].Measurement - rawValue;
|
||||
|
||||
if (rawValue < corrections[0].Measurement)
|
||||
{
|
||||
/// rawValue is below the lowest value in the correction table
|
||||
return corrections[0].Correction;
|
||||
}
|
||||
double corr;
|
||||
if (d1 + d2 <= float.Epsilon)
|
||||
{
|
||||
corr = (corrections[i - 1].Correction + corrections[i].Correction) / 2.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
corr = (corrections[i - 1].Correction * d2 + corrections[i].Correction * d1) / (d1 + d2);
|
||||
}
|
||||
return rawValue + corr;
|
||||
}
|
||||
}
|
||||
|
||||
int count = corrections.Count;
|
||||
for (int i = 1; i < count; i++)
|
||||
{
|
||||
if (rawValue < corrections[i].Measurement)
|
||||
{
|
||||
double d1 = rawValue - corrections[i - 1].Measurement;
|
||||
double d2 = corrections[i].Measurement - rawValue;
|
||||
|
||||
if (d1 + d2 <= float.Epsilon)
|
||||
{
|
||||
/// Neigboring values in the corection table are close to each other -> calculate the average
|
||||
return (corrections[i - 1].Correction + corrections[i].Correction) / 2.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Interpolate the correction from neigboring values in the corection table
|
||||
return (corrections[i - 1].Correction * d2 + corrections[i].Correction * d1) / (d1 + d2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// rawValue is above the highest value in the correction table
|
||||
return corrections[count - 1].Correction;
|
||||
}
|
||||
return rawValue + corrections[count - 1].Correction;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1273.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1273.0")]
|
||||
[assembly: AssemblyVersion("2.18.1151.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1151.0")]
|
||||
|
||||
@@ -82,53 +82,5 @@ namespace Config
|
||||
else return "F5";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Extract and return a database name from a MySQL connection string.
|
||||
/// </summary>
|
||||
public static string GetDBName(string connectionString)
|
||||
{
|
||||
return GetFromConnectionString(connectionString, new string[] { "DATABASE=" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extract and return a username from a MySQL connection string
|
||||
/// </summary>
|
||||
public static string GetDBUser(string connectionString)
|
||||
{
|
||||
return GetFromConnectionString(connectionString, new string[] { "USER=", "UID=" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extract and return a password from a MySQL connection string
|
||||
/// </summary>
|
||||
public static string GetDBPassword(string connectionString)
|
||||
{
|
||||
return GetFromConnectionString(connectionString, new string[] { "PASSWORD=" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extract and return an element of a MySQL connection string
|
||||
/// (a host, a database, a user name or a password).
|
||||
/// Return an empty string on any error.
|
||||
/// </summary>
|
||||
public static string GetFromConnectionString(string connectionString, string[] patterns)
|
||||
{
|
||||
foreach (var pattern in patterns)
|
||||
{
|
||||
int startIx = connectionString.IndexOf(pattern);
|
||||
if (startIx >= 0)
|
||||
{
|
||||
/// pattern found, extract the subsequent element
|
||||
startIx += pattern.Length;
|
||||
int endIx = connectionString.IndexOf(';', startIx);
|
||||
return (endIx > 0) ? connectionString.Substring(startIx, endIx - startIx) : string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// pattern NOT found
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{D476ABBE-A455-4476-8A8D-3F6151217B51}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Decrypt</RootNamespace>
|
||||
<AssemblyName>Decrypt</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>Decrypt.Program</StartupObject>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</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.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<StartArguments>config.xml</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<StartArguments>config.xml</StartArguments>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,96 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace Decrypt
|
||||
{
|
||||
/// <summary>
|
||||
/// See also:
|
||||
/// https://www.fluxbytes.com/csharp/encrypt-and-decrypt-files-in-c/
|
||||
/// </summary>
|
||||
class Program
|
||||
{
|
||||
static byte[] key = new byte[] { 83, 254, 105, 64, 184, 201, 195, 127, 52, 99, 77, 45, 252, 132, 163, 156 };
|
||||
static byte[] IV = new byte[] { 189, 23, 137, 56, 204, 241, 242, 118, 28, 89, 9, 198, 224, 111, 186, 125 };
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
if ((args.Length < 1) || !File.Exists(args[0]))
|
||||
{
|
||||
Console.WriteLine("Usage: Decode <file>");
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
|
||||
string fileName = args[0];
|
||||
string intermediateFile = fileName + ".plain"; /// Intermediate file, output of cryptography decoding
|
||||
string backupFile = fileName + ".bak";
|
||||
|
||||
try
|
||||
{
|
||||
using (StreamReader reader = new StreamReader(fileName))
|
||||
{
|
||||
if (reader.ReadLine().StartsWith("<?xml version="))
|
||||
{
|
||||
Console.WriteLine(string.Format("File {0} is not encrypted.", fileName));
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool successful = false;
|
||||
using (RijndaelManaged aes = new RijndaelManaged { Padding = PaddingMode.Zeros })
|
||||
{
|
||||
using (FileStream fsCrypt = new FileStream(fileName, FileMode.Open))
|
||||
{
|
||||
using (FileStream fsOut = new FileStream(intermediateFile, FileMode.Create))
|
||||
{
|
||||
using (ICryptoTransform decryptor = aes.CreateDecryptor(key, IV))
|
||||
{
|
||||
using (CryptoStream cs = new CryptoStream(fsCrypt, decryptor, CryptoStreamMode.Read))
|
||||
{
|
||||
int data;
|
||||
while ((data = cs.ReadByte()) != -1)
|
||||
{
|
||||
if (data != 0) fsOut.WriteByte((byte)data);
|
||||
}
|
||||
successful = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (successful)
|
||||
{
|
||||
/// File decryption successfuly completed => rotate files
|
||||
if (File.Exists(backupFile)) File.Delete(backupFile);
|
||||
File.Move(fileName, backupFile);
|
||||
File.Move(intermediateFile, fileName);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Failed(fileName, intermediateFile, "");
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Failed(fileName, intermediateFile, e.Message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void Failed(string fileName, string toBeDeleted, string message)
|
||||
{
|
||||
if (File.Exists(toBeDeleted))
|
||||
{
|
||||
File.Delete(toBeDeleted);
|
||||
}
|
||||
Console.WriteLine(string.Format("Decryption of file {0} failed: {1}", fileName, message));
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Decrypt")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Decrypt")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("c17ec788-0e12-4f9c-aadf-ea4e83a9f373")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.1.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.1.0")]
|
||||
@@ -1,3 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||
@@ -1,64 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{DA9B09F3-A99D-4883-A954-537560453674}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Encrypt</RootNamespace>
|
||||
<AssemblyName>Encrypt</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>Encrypt.Program</StartupObject>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</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.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,93 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace Encrypt
|
||||
{
|
||||
/// <summary>
|
||||
/// See also:
|
||||
/// https://www.fluxbytes.com/csharp/encrypt-and-decrypt-files-in-c/
|
||||
/// </summary>
|
||||
class Program
|
||||
{
|
||||
static byte[] key = new byte[] { 83, 254, 105, 64, 184, 201, 195, 127, 52, 99, 77, 45, 252, 132, 163, 156 };
|
||||
static byte[] IV = new byte[] { 189, 23, 137, 56, 204, 241, 242, 118, 28, 89, 9, 198, 224, 111, 186, 125 };
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
if ((args.Length < 1) || !File.Exists(args[0]))
|
||||
{
|
||||
Console.WriteLine("Usage: Encode <file>");
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
|
||||
string fileName = args[0];
|
||||
string intermediateFile = fileName + ".encrypted"; /// Intermediate file, output of cryptography encoding
|
||||
string backupFile = fileName + ".bak";
|
||||
|
||||
try
|
||||
{
|
||||
using (StreamReader reader = new StreamReader(fileName))
|
||||
{
|
||||
if (!reader.ReadLine().StartsWith("<?xml version="))
|
||||
{
|
||||
Console.WriteLine(string.Format("File {0} is already encrypted.", fileName));
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool successful = false;
|
||||
using (RijndaelManaged aes = new RijndaelManaged { Padding = PaddingMode.Zeros })
|
||||
{
|
||||
using (FileStream fsCrypt = new FileStream(intermediateFile, FileMode.Create))
|
||||
{
|
||||
using (ICryptoTransform encryptor = aes.CreateEncryptor(key, IV))
|
||||
{
|
||||
using (CryptoStream cs = new CryptoStream(fsCrypt, encryptor, CryptoStreamMode.Write))
|
||||
{
|
||||
using (FileStream fsIn = new FileStream(fileName, FileMode.Open))
|
||||
{
|
||||
int data;
|
||||
while ((data = fsIn.ReadByte()) != -1) cs.WriteByte((byte)data);
|
||||
successful = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (successful)
|
||||
{
|
||||
/// File encryption successfuly completed => rotate files
|
||||
if (File.Exists(backupFile)) File.Delete(backupFile);
|
||||
File.Move(fileName, backupFile);
|
||||
File.Move(intermediateFile, fileName);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Failed(fileName, intermediateFile);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Failed(fileName, intermediateFile);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void Failed(string fileName, string toBeDeleted)
|
||||
{
|
||||
if (File.Exists(toBeDeleted))
|
||||
{
|
||||
File.Delete(toBeDeleted);
|
||||
}
|
||||
Console.WriteLine(string.Format("Encryption of file {0} failed.", fileName));
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Encrypt")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Encrypt")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("0f602531-6f1f-416e-af4d-9242855715a8")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,3 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||
@@ -164,11 +164,11 @@ namespace Results
|
||||
{
|
||||
for (int i = 0; i < WMPositionsCount; i++)
|
||||
{
|
||||
if ((WaterMeters[i] != null) && !WaterMeters[i].Disabled)
|
||||
if (WaterMeters[i] != null)
|
||||
{
|
||||
foreach (var mtr in WaterMeters[i].MeterTestRslts)
|
||||
{
|
||||
if (!mtr.TestDone) return false;
|
||||
if (!mtr.TestDone) return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,17 +29,7 @@ namespace Results.Entities
|
||||
public virtual float DensityCorr { get; set; } /// Density correction in [kg/m3]
|
||||
public virtual float Custom2 { get; set; }
|
||||
public virtual float Custom3 { get; set; }
|
||||
public virtual int Counter1 { get; set; }
|
||||
public virtual int Counter2 { get; set; }
|
||||
public virtual int Counter3 { get; set; }
|
||||
public virtual int Counter4 { get; set; }
|
||||
public virtual int Counter5 { get; set; }
|
||||
public virtual int Counter6 { get; set; }
|
||||
public virtual int Counter7 { get; set; }
|
||||
public virtual int Counter8 { get; set; }
|
||||
public virtual int Counter9 { get; set; }
|
||||
public virtual int Counter10 { get; set; }
|
||||
public virtual DateTime StartTime { get; set; }
|
||||
public virtual DateTime StartTime { get; set; }
|
||||
public virtual DateTime EndTime { get; set; }
|
||||
public virtual bool Dirty { get; set; }
|
||||
public virtual bool RsltsSent { get; set; }
|
||||
@@ -48,7 +38,7 @@ namespace Results.Entities
|
||||
public virtual IList<WaterMeter> WaterMeters { get; set; }
|
||||
public virtual IList<TestRslt> TestRslts { get; set; }
|
||||
public virtual bool Compound { get; set; } /// Not mapped to DB now
|
||||
public virtual bool HeatMeter { get; set; } /// Not mapped to DB now ///
|
||||
public virtual bool HeatMeter { get; set; } /// Not mapped to DB now
|
||||
|
||||
public Batch()
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Results.Entities
|
||||
public virtual int Id { get; protected set; }
|
||||
|
||||
public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal, 4=heat meter volume, 5=heat meter energy
|
||||
public virtual int RegReaderType { get; set; } /// Not mapped to the DB, does not depend on localization and customer
|
||||
public virtual int RegReaderType { get; set; } /// Not mapped to the DB, does not depent on localisation and customer
|
||||
|
||||
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)
|
||||
@@ -128,13 +128,9 @@ namespace Results.Entities
|
||||
TimestampEnd = src.TimestampEnd;
|
||||
TestTime = src.TestTime;
|
||||
Error = src.Error;
|
||||
ErrorIndicators = src.ErrorIndicators;
|
||||
KorrErrQ = src.KorrErrQ;
|
||||
TestDone = src.TestDone;
|
||||
Passed = src.Passed;
|
||||
#if ORACLE_DB
|
||||
LastError = src.LastError;
|
||||
#endif
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
|
||||
@@ -15,24 +15,22 @@ namespace Results.Entities
|
||||
public virtual TestData TestData { get; set; }
|
||||
public virtual Components Components { get; set; }
|
||||
public virtual int Part { get; set; }
|
||||
public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...)
|
||||
public virtual string MethodClass { get; set; } /// Not mapped to DB, does not depend on localization and customer
|
||||
public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...)
|
||||
public virtual string MethodClass { get; set; } /// Not mapped to the DB, does not depent on localisation and customer
|
||||
|
||||
/// Main results
|
||||
public virtual bool TestDone { get; set; }
|
||||
public virtual string Remark { get; set; }
|
||||
public virtual DateTime StartTime { get; set; } /// Date and time of the test start
|
||||
public virtual DateTime EndTime { get; set; } /// Date and time of the test end
|
||||
public virtual int FlowSetTime { get; set; } /// [s] Flow set time in seconds
|
||||
public virtual int TimeBtwnMassMsrmnts { get; set; } /// [s] Time between two mass measurements in seconds (if applicable)
|
||||
public virtual double TestTime { get; set; } /// [s] Test time in seconds
|
||||
public virtual double TestTimeCorrection { get; set; } /// [s] Correction of the test time due to diverter (0 for methods w/o diverter or when there is no correction table)
|
||||
public virtual double PulsesMaster { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the water to the tank
|
||||
public virtual double TotalPulsesMstr { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the complete test (not mapped to DB)
|
||||
public virtual double ConstMasterRaw { get; set; } /// [l/pls] Liters per pulse of the master flow meter uncorrected.
|
||||
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 DateTime StartTime { get; set; } /// Date and time of the test start
|
||||
public virtual DateTime EndTime { get; set; } /// Date and time of the test end
|
||||
public virtual int FlowSetTime { get; set; } /// [s] Measurement time in seconds
|
||||
public virtual double TestTime { get; set; } /// [s] Measurement time in seconds
|
||||
public virtual double PulsesMaster { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the water to the tank
|
||||
public virtual double TotalPulsesMstr { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the complete test (not mapped to DB)
|
||||
public virtual double ConstMasterRaw { get; set; } /// [l/pls] Liters per pulse of the master flow meter uncorrected.
|
||||
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 MassStartRaw { get; set; } /// [kg]
|
||||
public virtual double MassStart { get; set; } /// [kg]
|
||||
public virtual double MassEndRaw { get; set; } /// [kg]
|
||||
@@ -134,25 +132,10 @@ namespace Results.Entities
|
||||
public virtual double TargetVolume() { return TestData.TargetVolume; }
|
||||
public virtual double TargetTime() { return TestData.TargetTime; }
|
||||
public virtual string Method() { return TestData.Method; }
|
||||
public virtual string RefFlowmeter() { return (Components != null) ? Components.Flowmeter : string.Empty; }
|
||||
public virtual bool IsRelErrTest() { return (MethodClass != null) ? (MethodClass.Contains("FixedStart") || MethodClass.Contains("FlyingStart") || MethodClass.Contains("CombinedWithDetection") || MethodClass.Contains("DiverterTest")) : true; }
|
||||
public virtual bool IsRelErrTest() { return (MethodClass != null) ? (MethodClass.Contains("FixedStart") || MethodClass.Contains("FlyingStart") || MethodClass.Contains("CombinedWithDetection")) : true; }
|
||||
public virtual bool IsPMaxTest() { return (MethodClass != null) ? (MethodClass.Contains("PMaxTest") || MethodClass.Contains("LeakTest")) : true; }
|
||||
public virtual bool IsStartStop() { return (MethodClass != null) ? MethodClass.Contains("FixedStart") : true; }
|
||||
public virtual bool IsDiverter() { return (MethodClass != null) ? ((MethodClass.Contains("FlyingStart") && MethodClass.Contains("MassColl")) || MethodClass.Contains("DiverterTest")) : true; }
|
||||
public virtual bool IsVolumeMethod() { return (MethodClass != null) ? (MethodClass.Contains("TestMethods.FixedStart.") || MethodClass.Contains("TestMethods.FlyingStart.")) : false; }
|
||||
|
||||
public virtual string MethodElde()
|
||||
{
|
||||
if (MethodClass == null) return string.Empty;
|
||||
else if (MethodClass.Contains("TestMethods.FlyingStartMassCollection.")) return "MS";
|
||||
else if (MethodClass.Contains("TestMethods.FlyingStartMassCollectionProlonged.")) return "MS";
|
||||
else if (MethodClass.Contains("TestMethods.FlyingStartMassCollectionComparative.")) return "MS";
|
||||
else if (MethodClass.Contains("TestMethods.FlyingStart.")) return "VS";
|
||||
else if (MethodClass.Contains("TestMethods.FixedStartMassCollection.")) return "MP";
|
||||
else if (MethodClass.Contains("TestMethods.FixedStartTankCollection.")) return "VP";
|
||||
else if (MethodClass.Contains("TestMethods.FixedStart.")) return "VP";
|
||||
else return string.Empty;
|
||||
}
|
||||
public virtual bool IsDiverter() { return (MethodClass != null) ? (MethodClass.Contains("FlyingStart") && MethodClass.Contains("MassColl")) : true; }
|
||||
|
||||
public virtual double ErrLimLo()
|
||||
{
|
||||
@@ -235,13 +218,10 @@ namespace Results.Entities
|
||||
StartTime = src.StartTime;
|
||||
EndTime = src.EndTime;
|
||||
FlowSetTime = src.FlowSetTime;
|
||||
TimeBtwnMassMsrmnts = src.TimeBtwnMassMsrmnts;
|
||||
TestTime = src.TestTime;
|
||||
PulsesMaster = src.PulsesMaster;
|
||||
TotalPulsesMstr = src.TotalPulsesMstr;
|
||||
ConstMasterRaw = src.ConstMasterRaw;
|
||||
ConstMasterCorr = src.ConstMasterCorr;
|
||||
ConstMaster = src.ConstMaster;
|
||||
ConstMaster = src.ConstMaster;
|
||||
MassStartRaw = src.MassStartRaw;
|
||||
MassStart = src.MassStart;
|
||||
MassEndRaw = src.MassEndRaw;
|
||||
@@ -256,13 +236,7 @@ namespace Results.Entities
|
||||
VolumeMaster = src.VolumeMaster;
|
||||
ErrorMaster = src.ErrorMaster;
|
||||
DiverterStart = src.DiverterStart;
|
||||
DivStart10 = src.DivStart10;
|
||||
DivStart50 = src.DivStart50;
|
||||
DivStart90 = src.DivStart90;
|
||||
DiverterEnd = src.DiverterEnd;
|
||||
DivEnd10 = src.DivEnd10;
|
||||
DivEnd50 = src.DivEnd50;
|
||||
DivEnd90 = src.DivEnd90;
|
||||
ErrorFlags = src.ErrorFlags;
|
||||
ErrorFlagsMd = src.ErrorFlagsMd;
|
||||
RefEnergy = src.RefEnergy;
|
||||
|
||||
@@ -5,7 +5,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Config.Entities;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Entities
|
||||
{
|
||||
@@ -97,7 +96,7 @@ namespace Results.Entities
|
||||
public virtual object CompleteTestInfos { get; set; } /// SensusTestInfo[] obtained as a best match at the beginning of the cycle, not mapped to DB !!!
|
||||
#endif
|
||||
public virtual int ProcessId { get; set; } /// Not mapped to DB !!! Tracing DB Process ID
|
||||
public virtual bool LastRecordIsNok { get; set; } /// Not mapped to DB !!! Previous record verification result
|
||||
public virtual bool IsLastRecordOk { get; set; } /// Not mapped to DB !!! Previous record verification result
|
||||
|
||||
public virtual WaterMeterData WaterMeterData { get; set; }
|
||||
public virtual Batch Batch { get; set; }
|
||||
@@ -359,8 +358,7 @@ namespace Results.Entities
|
||||
CompleteTestInfos = null;
|
||||
#endif
|
||||
ProcessId = 0;
|
||||
ErrorFlags = 0;
|
||||
LastRecordIsNok = false;
|
||||
IsLastRecordOk = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -385,8 +383,6 @@ namespace Results.Entities
|
||||
#if IPERL
|
||||
OrigCalibFactor = src.OrigCalibFactor;
|
||||
CalibFactor = src.CalibFactor;
|
||||
OrigCalibFactorLNA = src.OrigCalibFactorLNA;
|
||||
CalibFactorLNA = src.CalibFactorLNA;
|
||||
Q2ErrWOCorrection = src.Q2ErrWOCorrection;
|
||||
Q2CorrRL = src.Q2CorrRL;
|
||||
Q2CorrLR = src.Q2CorrLR;
|
||||
@@ -419,7 +415,7 @@ namespace Results.Entities
|
||||
CompleteTestInfos = src.CompleteTestInfos;
|
||||
#endif
|
||||
ProcessId = src.ProcessId;
|
||||
LastRecordIsNok = src.LastRecordIsNok;
|
||||
IsLastRecordOk = src.IsLastRecordOk;
|
||||
|
||||
foreach (var mtr in MeterTestRslts)
|
||||
{
|
||||
@@ -445,95 +441,5 @@ namespace Results.Entities
|
||||
sb.AppendFormat(" test start: {0} {1} batch={2}", StartTime().ToShortDateString(), StartTime().ToShortTimeString(), BatchNr());
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get decorated test names for a specified watermeter
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Watermeter results entity</param>
|
||||
/// <returns>A list of strings</returns>
|
||||
public virtual IList<string> GetAllDecoratedTestNames()
|
||||
{
|
||||
IList<string> testNames = new List<string>();
|
||||
|
||||
if (MeterTestRslts != null)
|
||||
{
|
||||
foreach (var mtr in MeterTestRslts)
|
||||
{
|
||||
if ((mtr.CompoundMeterId == (byte)CompoundMeterId.Single || mtr.CompoundMeterId == (byte)CompoundMeterId.Compound || mtr.CompoundMeterId == (byte)CompoundMeterId.HeatMeterEnergy)
|
||||
&& mtr.TestDone
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Never)
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Internal))
|
||||
{
|
||||
testNames.Add(mtr.Name());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return testNames;
|
||||
}
|
||||
|
||||
|
||||
static readonly System.Drawing.Color NotCompletedColor = System.Drawing.Color.White;
|
||||
static readonly System.Drawing.Color OkColor = System.Drawing.Color.LightGreen;
|
||||
static readonly System.Drawing.Color NokColor = System.Drawing.Color.LightPink;
|
||||
static readonly System.Drawing.Color RejectColor = System.Drawing.Color.Magenta;
|
||||
static readonly System.Drawing.Color ProductionErrorColor = System.Drawing.Color.RoyalBlue;
|
||||
static readonly System.Drawing.Color WrongDirectionColor = System.Drawing.Color.Gold;
|
||||
static readonly System.Drawing.Color WrongQ2FactorsColor = System.Drawing.Color.Red;
|
||||
|
||||
/// <summary>
|
||||
/// Get color for highlighting results and an apporpriate text message.
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Water meter results entity</param>
|
||||
/// <param name="message">Appropriate message</param>
|
||||
/// <returns>Color for results</returns>
|
||||
public virtual System.Drawing.Color GetColorOfResults(bool maxRepeatsExceeded, out string message)
|
||||
{
|
||||
bool wmtrCompleted = CompletedFromTests();
|
||||
bool wmtrPassed = PassedFromTests();
|
||||
|
||||
if ((ErrorFlags & (int)ErrorFlagMask.E28) != 0)
|
||||
{
|
||||
message = Strings.Previous_step_is_missing_or_NOK;
|
||||
return ProductionErrorColor;
|
||||
}
|
||||
else if ((ErrorFlags & (int)ErrorFlagMask.E27) != 0)
|
||||
{
|
||||
message = Strings.Wrong_iPerl_counting_direction;
|
||||
return WrongDirectionColor;
|
||||
}
|
||||
else if ((ErrorFlags & (int)ErrorFlagMask.E26) != 0)
|
||||
{
|
||||
message = Strings.Invalid_Q2_correction_factors;
|
||||
return WrongQ2FactorsColor;
|
||||
}
|
||||
else if (wmtrPassed)
|
||||
{
|
||||
/// Water meter passed (therefore is was also completed)
|
||||
message = Strings.Passed;
|
||||
return OkColor;
|
||||
}
|
||||
else if (wmtrCompleted)
|
||||
{
|
||||
/// Water meter was completed but did not pass => Failed
|
||||
if (maxRepeatsExceeded)
|
||||
{
|
||||
message = Strings.Test_repetition_count_exceeded_upper_limit;
|
||||
return RejectColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
message = Strings.Failed;
|
||||
return NokColor;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Water meter was not completed yet => did not pass, did not fail
|
||||
message = Strings.Test_in_progress;
|
||||
return NotCompletedColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,6 @@ using System.Windows.Forms;
|
||||
using log4net;
|
||||
using Config.Entities;
|
||||
using Results.Resources;
|
||||
using NHibernate;
|
||||
using TracingDB.Entities;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
@@ -19,6 +17,15 @@ namespace Results.Forms
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(BatchResultsDlg));
|
||||
|
||||
|
||||
static readonly Color NotCompletedColor = Color.White;
|
||||
static readonly Color OkColor = Color.LightGreen;
|
||||
static readonly Color NokColor = Color.LightPink;
|
||||
static readonly Color RejectColor = Color.Magenta;
|
||||
static readonly Color ProductionTracing = Color.RoyalBlue;
|
||||
static readonly Color WrongDirection = Color.Gold;
|
||||
static readonly Color WrongQ2FactorsColor = Color.Red;
|
||||
|
||||
|
||||
DateTime lastRedraw;
|
||||
DateTime lastSizeChange;
|
||||
bool loaded;
|
||||
@@ -164,18 +171,6 @@ namespace Results.Forms
|
||||
firstListView = lview;
|
||||
first = false;
|
||||
}
|
||||
|
||||
lview.WMResultsClickedHandler += delegate(object sender, Results.Forms.WaterMeterEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new EventHandler<Results.Forms.WaterMeterEventArgs>(OnDoubleClick), sender, args);
|
||||
}
|
||||
else
|
||||
{
|
||||
OnDoubleClick(sender, args);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -198,14 +193,85 @@ namespace Results.Forms
|
||||
/// Get an empty ListView control with appropriate parameters.
|
||||
/// </summary>
|
||||
/// <returns>ListView control</returns>
|
||||
OneWMResultsCtrl GetListView(Color backColor, Results.Entities.WaterMeter wm)
|
||||
OneWMResultsCtrl GetListView(Color backColor)
|
||||
{
|
||||
return new OneWMResultsCtrl(backColor, lvWidth, lvHeight, wm);
|
||||
return new OneWMResultsCtrl(backColor, lvWidth, lvHeight);
|
||||
}
|
||||
///
|
||||
OneWMResultsCtrl GetListView(Results.Entities.WaterMeter wm)
|
||||
OneWMResultsCtrl GetListView() { return GetListView(Color.White); }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get decorated test names for a specified watermeter
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Watermeter results entity</param>
|
||||
/// <returns>A list of strings</returns>
|
||||
IList<string> GetAllDecoratedTestNames(Results.Entities.WaterMeter wMtr)
|
||||
{
|
||||
return GetListView(Color.White, wm);
|
||||
IList<string> testNames = new List<string>();
|
||||
|
||||
foreach (var mtr in wMtr.MeterTestRslts)
|
||||
{
|
||||
if ((mtr.CompoundMeterId == (byte)CompoundMeterId.Single || mtr.CompoundMeterId == (byte)CompoundMeterId.Compound || mtr.CompoundMeterId == (byte)CompoundMeterId.HeatMeterEnergy)
|
||||
&& mtr.TestDone
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Never)
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Internal))
|
||||
{
|
||||
testNames.Add(mtr.Name());
|
||||
}
|
||||
}
|
||||
|
||||
return testNames;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get color for highlighting results and an apporpriate text message.
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Water meter results entity</param>
|
||||
/// <param name="message">Appropriate message</param>
|
||||
/// <returns>Color for results</returns>
|
||||
Color GetColorOfResults(Results.Entities.WaterMeter wMtr, out string message)
|
||||
{
|
||||
bool wmtrCompleted = wMtr.CompletedFromTests();
|
||||
bool wmtrPassed = wMtr.PassedFromTests();
|
||||
|
||||
if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E28) != 0)
|
||||
{
|
||||
message = Strings.Previous_step_is_missing_or_NOK;
|
||||
return ProductionTracing;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E27) != 0)
|
||||
{
|
||||
message = Strings.Wrong_iPerl_counting_direction;
|
||||
return WrongDirection;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E26) != 0)
|
||||
{
|
||||
message = Strings.Invalid_Q2_correction_factors;
|
||||
return WrongQ2FactorsColor;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E25) != 0)
|
||||
{
|
||||
message = Strings.Test_repetition_count_exceeded_upper_limit;
|
||||
return RejectColor;
|
||||
}
|
||||
else if (wmtrPassed)
|
||||
{
|
||||
/// Water meter passed (therefore is was also completed)
|
||||
message = Strings.Passed;
|
||||
return OkColor;
|
||||
}
|
||||
else if (wmtrCompleted)
|
||||
{
|
||||
/// Water meter was completed but did not pass => Failed
|
||||
message = Strings.Failed;
|
||||
return NokColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Water meter was not completed yet => did not pass, did not fail
|
||||
message = Strings.Test_in_progress;
|
||||
return NotCompletedColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -219,8 +285,8 @@ namespace Results.Forms
|
||||
metersKind = wMtr.Compound() ? MetersKind.Combined : (wMtr.HeatMeter() ? MetersKind.HeatMeter : MetersKind.Single);
|
||||
|
||||
string message = string.Empty;
|
||||
Color commonBackColor = wMtr.GetColorOfResults(false, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor, wMtr);
|
||||
Color commonBackColor = GetColorOfResults(wMtr, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor);
|
||||
#if ORACLE_DB
|
||||
lview.Caption = string.Format("{0} ({1}) {2}", (string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr), (wMtr.Pruefindex % 100), message);
|
||||
#else
|
||||
@@ -241,7 +307,7 @@ namespace Results.Forms
|
||||
}
|
||||
|
||||
|
||||
IList<string> testNames = wMtr.GetAllDecoratedTestNames();
|
||||
IList<string> testNames = GetAllDecoratedTestNames(wMtr);
|
||||
int ix = 0;
|
||||
foreach (var mtr in wMtr.MeterTestRslts)
|
||||
{
|
||||
@@ -291,8 +357,8 @@ namespace Results.Forms
|
||||
metersKind = wMtr.Compound() ? MetersKind.Combined : (wMtr.HeatMeter() ? MetersKind.HeatMeter : MetersKind.Single);
|
||||
|
||||
string message;
|
||||
Color commonBackColor = wMtr.GetColorOfResults(false, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor, wMtr);
|
||||
Color commonBackColor = GetColorOfResults(wMtr, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor);
|
||||
#if ORACLE_DB
|
||||
lview.Caption = string.Format("{0} ({1}) {2}", (string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr), (wMtr.Pruefindex % 100), message);
|
||||
#else
|
||||
@@ -306,7 +372,7 @@ namespace Results.Forms
|
||||
// Header
|
||||
lview.Columns.Add(printedWMNr.ToString(), (rsltsClmnCount > 0) ? rsltsClmnWidths[0] : 40);
|
||||
int i = 1;
|
||||
foreach (var str in wMtr.GetAllDecoratedTestNames())
|
||||
foreach (var str in GetAllDecoratedTestNames(wMtr))
|
||||
{
|
||||
lview.Columns.Add(str, (rsltsClmnCount > i) ? rsltsClmnWidths[i] : 70);
|
||||
i++;
|
||||
@@ -348,55 +414,6 @@ namespace Results.Forms
|
||||
return lview;
|
||||
}
|
||||
|
||||
|
||||
void OnDoubleClick(object sender, Results.Forms.WaterMeterEventArgs args)
|
||||
{
|
||||
if ( args.WM == null || args.WM.Disabled)
|
||||
{
|
||||
MessageBox.Show(Strings.No_water_meter);
|
||||
return;
|
||||
}
|
||||
else if ((TracingDB.DB.SessionFactory == null) || string.IsNullOrEmpty(args.WM.SerialNr))
|
||||
{
|
||||
new Results.Forms.MoreWMResultsDlg( args.WM, null).ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
using (ISession session = TracingDB.DB.SessionFactory.OpenSession())
|
||||
{
|
||||
IList<ReferenceRecord> refRecords = session.QueryOver<ReferenceRecord>()
|
||||
.Where(x => (x.Code == args.WM.SerialNr))
|
||||
.OrderBy(x => x.TimeStamp).Desc
|
||||
.List();
|
||||
for (int i = 0; i < refRecords.Count; i++)
|
||||
{
|
||||
ReferenceRecord refR = refRecords[i];
|
||||
if ((refR.Records != null) && (refR.Records.Count > 0))
|
||||
{
|
||||
/// Reference record has additional records/parts (i.e. it is PCB assembly workflow step)
|
||||
///
|
||||
foreach (var rec in refR.Records)
|
||||
{
|
||||
if (rec.Part.OraDBType.ToLower().Contains("flowtube"))
|
||||
{
|
||||
/// rec.Part is a flowtube
|
||||
///
|
||||
IList<ReferenceRecord> flowtubeRRs = session.QueryOver<ReferenceRecord>()
|
||||
.Where(x => (x.Code == rec.Code))
|
||||
.OrderBy(x => x.TimeStamp).Desc
|
||||
.List();
|
||||
foreach (var rr in flowtubeRRs) refRecords.Add(rr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
new Results.Forms.MoreWMResultsDlg(args.WM, refRecords).ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void BatchResultsDlg_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
PopupResultsLeft = Left;
|
||||
|
||||
-177
@@ -1,177 +0,0 @@
|
||||
namespace Results.Forms
|
||||
{
|
||||
partial class MoreWMResultsDlg
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.allResultsTabPage = new System.Windows.Forms.TabPage();
|
||||
this.graphsTabPage = new System.Windows.Forms.TabPage();
|
||||
this.productionTracingTabPage = new System.Windows.Forms.TabPage();
|
||||
this.productionTracingSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.messageLabel = new System.Windows.Forms.Label();
|
||||
this.tracingResultsListView = new System.Windows.Forms.ListView();
|
||||
this.oneWMResultsCtrl = new Results.Forms.OneWMResultsCtrl();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.allResultsTabPage.SuspendLayout();
|
||||
this.productionTracingTabPage.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.productionTracingSplitContainer)).BeginInit();
|
||||
this.productionTracingSplitContainer.Panel1.SuspendLayout();
|
||||
this.productionTracingSplitContainer.Panel2.SuspendLayout();
|
||||
this.productionTracingSplitContainer.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.allResultsTabPage);
|
||||
this.tabControl1.Controls.Add(this.graphsTabPage);
|
||||
this.tabControl1.Controls.Add(this.productionTracingTabPage);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(1195, 448);
|
||||
this.tabControl1.TabIndex = 0;
|
||||
//
|
||||
// allResultsTabPage
|
||||
//
|
||||
this.allResultsTabPage.Controls.Add(this.oneWMResultsCtrl);
|
||||
this.allResultsTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.allResultsTabPage.Name = "allResultsTabPage";
|
||||
this.allResultsTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.allResultsTabPage.Size = new System.Drawing.Size(1187, 422);
|
||||
this.allResultsTabPage.TabIndex = 0;
|
||||
this.allResultsTabPage.Text = "All results";
|
||||
this.allResultsTabPage.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// graphsTabPage
|
||||
//
|
||||
this.graphsTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.graphsTabPage.Name = "graphsTabPage";
|
||||
this.graphsTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.graphsTabPage.Size = new System.Drawing.Size(1187, 422);
|
||||
this.graphsTabPage.TabIndex = 1;
|
||||
this.graphsTabPage.Text = "Graphs";
|
||||
this.graphsTabPage.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// productionTracingTabPage
|
||||
//
|
||||
this.productionTracingTabPage.Controls.Add(this.productionTracingSplitContainer);
|
||||
this.productionTracingTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.productionTracingTabPage.Name = "productionTracingTabPage";
|
||||
this.productionTracingTabPage.Size = new System.Drawing.Size(1187, 422);
|
||||
this.productionTracingTabPage.TabIndex = 2;
|
||||
this.productionTracingTabPage.Text = "Production tracing";
|
||||
this.productionTracingTabPage.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// productionTracingSplitContainer
|
||||
//
|
||||
this.productionTracingSplitContainer.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.productionTracingSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.productionTracingSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.productionTracingSplitContainer.IsSplitterFixed = true;
|
||||
this.productionTracingSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.productionTracingSplitContainer.Name = "productionTracingSplitContainer";
|
||||
this.productionTracingSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// productionTracingSplitContainer.Panel1
|
||||
//
|
||||
this.productionTracingSplitContainer.Panel1.Controls.Add(this.messageLabel);
|
||||
this.productionTracingSplitContainer.Panel1MinSize = 55;
|
||||
//
|
||||
// productionTracingSplitContainer.Panel2
|
||||
//
|
||||
this.productionTracingSplitContainer.Panel2.Controls.Add(this.tracingResultsListView);
|
||||
this.productionTracingSplitContainer.Panel2MinSize = 60;
|
||||
this.productionTracingSplitContainer.Size = new System.Drawing.Size(1187, 422);
|
||||
this.productionTracingSplitContainer.SplitterDistance = 55;
|
||||
this.productionTracingSplitContainer.SplitterWidth = 1;
|
||||
this.productionTracingSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// messageLabel
|
||||
//
|
||||
this.messageLabel.AutoSize = true;
|
||||
this.messageLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.messageLabel.Location = new System.Drawing.Point(12, 9);
|
||||
this.messageLabel.Name = "messageLabel";
|
||||
this.messageLabel.Size = new System.Drawing.Size(152, 37);
|
||||
this.messageLabel.TabIndex = 1;
|
||||
this.messageLabel.Text = "Message";
|
||||
//
|
||||
// tracingResultsListView
|
||||
//
|
||||
this.tracingResultsListView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tracingResultsListView.GridLines = true;
|
||||
this.tracingResultsListView.Location = new System.Drawing.Point(0, 0);
|
||||
this.tracingResultsListView.Name = "tracingResultsListView";
|
||||
this.tracingResultsListView.Size = new System.Drawing.Size(1187, 366);
|
||||
this.tracingResultsListView.TabIndex = 0;
|
||||
this.tracingResultsListView.UseCompatibleStateImageBehavior = false;
|
||||
this.tracingResultsListView.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// oneWMResultsCtrl
|
||||
//
|
||||
this.oneWMResultsCtrl.Caption = "";
|
||||
this.oneWMResultsCtrl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.oneWMResultsCtrl.Location = new System.Drawing.Point(3, 3);
|
||||
this.oneWMResultsCtrl.Name = "oneWMResultsCtrl";
|
||||
this.oneWMResultsCtrl.Size = new System.Drawing.Size(1181, 416);
|
||||
this.oneWMResultsCtrl.TabIndex = 0;
|
||||
//
|
||||
// MoreWMResultsDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1195, 448);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Name = "MoreWMResultsDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Water meter results";
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.allResultsTabPage.ResumeLayout(false);
|
||||
this.productionTracingTabPage.ResumeLayout(false);
|
||||
this.productionTracingSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.productionTracingSplitContainer.Panel1.PerformLayout();
|
||||
this.productionTracingSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.productionTracingSplitContainer)).EndInit();
|
||||
this.productionTracingSplitContainer.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage allResultsTabPage;
|
||||
private OneWMResultsCtrl oneWMResultsCtrl;
|
||||
private System.Windows.Forms.TabPage graphsTabPage;
|
||||
private System.Windows.Forms.TabPage productionTracingTabPage;
|
||||
private System.Windows.Forms.SplitContainer productionTracingSplitContainer;
|
||||
private System.Windows.Forms.Label messageLabel;
|
||||
private System.Windows.Forms.ListView tracingResultsListView;
|
||||
}
|
||||
}
|
||||
@@ -1,188 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using TracingDB.Entities;
|
||||
using Results.Resources;
|
||||
using Config.Entities;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
public partial class MoreWMResultsDlg : Form
|
||||
{
|
||||
public MoreWMResultsDlg(Results.Entities.WaterMeter wm, IList<ReferenceRecord> refRecords)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Localize();
|
||||
|
||||
ShowAllResults(wm);
|
||||
ShowChart(wm);
|
||||
|
||||
if (refRecords == null)
|
||||
{
|
||||
tabControl1.SelectTab(1);
|
||||
tabControl1.TabPages[2].Hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
tabControl1.SelectTab(2);
|
||||
ShowTracingResults(wm, refRecords);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Localize()
|
||||
{
|
||||
Text = Strings.Water_meter_results;
|
||||
tabControl1.TabPages[0].Text = Strings.All_results;
|
||||
tabControl1.TabPages[1].Text = Strings.Graphs;
|
||||
tabControl1.TabPages[2].Text = Strings.Production_tracing_results;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Display all results for this water meter in the 1st tab page
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Water meter entity</param>
|
||||
void ShowAllResults(Results.Entities.WaterMeter wMtr)
|
||||
{
|
||||
string message;
|
||||
Color commonBackColor = wMtr.GetColorOfResults(false, out message); /// Ony message is used later on
|
||||
#if ORACLE_DB
|
||||
oneWMResultsCtrl.Caption = string.Format("{0} ({1}) {2}", (string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr), (wMtr.Pruefindex % 100), message);
|
||||
#else
|
||||
oneWMResultsCtrl.Caption = string.Format("s/n = {0}", string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr);
|
||||
#endif
|
||||
|
||||
IList<Results.WMeterRsltItemSpec> items = Results.WMeterRsltItemSpec.AllItems;
|
||||
|
||||
// Header
|
||||
oneWMResultsCtrl.Columns.Add(wMtr.WMPosition.ToString(), 100);
|
||||
int i = 1;
|
||||
foreach (var str in wMtr.GetAllDecoratedTestNames())
|
||||
{
|
||||
oneWMResultsCtrl.Columns.Add(str, 100);
|
||||
i++;
|
||||
}
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
ListViewItem lvi = new ListViewItem(item.Name);
|
||||
|
||||
foreach (var mtr in wMtr.MeterTestRslts)
|
||||
{
|
||||
if (mtr != null && mtr.IsPilotRslt() && mtr.TestDone && mtr.Publish() != Config.Entities.Publish.Never &&
|
||||
mtr.Publish() != Config.Entities.Publish.Internal)
|
||||
{
|
||||
string str = item.Print(wMtr, mtr.Name());
|
||||
|
||||
string[] texts = str.Split(new char[] { '|' });
|
||||
if (texts.Length == 1)
|
||||
{
|
||||
lvi.SubItems.Add(str);
|
||||
}
|
||||
else if (texts.Length == 2)
|
||||
{
|
||||
Color color = texts[1].Equals("Green") ? Color.Green : (texts[1].Equals("Red") ? Color.Red : Color.White);
|
||||
lvi.UseItemStyleForSubItems = false;
|
||||
lvi.SubItems.Add(texts[0]);
|
||||
lvi.SubItems[lvi.SubItems.Count - 1].BackColor = color;
|
||||
}
|
||||
else
|
||||
{
|
||||
lvi.SubItems.Add(string.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
oneWMResultsCtrl.Items.Add(lvi);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ShowChart(Results.Entities.WaterMeter wm)
|
||||
{
|
||||
//chart.ChartAreas[0].AxisX.LabelStyle.Format = "dd.MM.yy";
|
||||
//chart.ChartAreas[0].AxisX.Interval = 1;
|
||||
//chart.ChartAreas[0].AxisX.IntervalType = ;
|
||||
|
||||
tabControl1.TabPages[1].Controls.Add(Results.Output.WMChart.GetChart(wm, false));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Display tracing results in the 3rd tab page
|
||||
/// </summary>
|
||||
/// <param name="wm">Water meter entity</param>
|
||||
/// <param name="refRecords">ReferenceRecord-s from tracing DB</param>
|
||||
void ShowTracingResults(Results.Entities.WaterMeter wm, IList<ReferenceRecord> refRecords)
|
||||
{
|
||||
tracingResultsListView.Columns.Add(Strings.Date_and_time, 110);
|
||||
tracingResultsListView.Columns.Add(Strings.Step, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Workplace, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Name, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Result, 70);
|
||||
tracingResultsListView.Columns.Add(Strings.Part, 90);
|
||||
tracingResultsListView.Columns.Add(Strings.Code, 150);
|
||||
tracingResultsListView.Columns.Add(Strings.Workflow, 450);
|
||||
|
||||
if (refRecords == null || refRecords.Count == 0)
|
||||
{
|
||||
messageLabel.Text = "V sledovaní výroby nie sú žiadne záznamy";
|
||||
}
|
||||
else
|
||||
{
|
||||
Process proc = refRecords[0].Process;
|
||||
bool[] isMissing = new bool[proc.Worksteps.Count];
|
||||
for (int i = 0; i < isMissing.Length; i++) isMissing[i] = true;
|
||||
|
||||
foreach (var rr in refRecords)
|
||||
{
|
||||
tracingResultsListView.Items.Add(new ListViewItem(new string[]
|
||||
{
|
||||
rr.TimeStamp.ToString("dd.MM.yyyy HH:mm"),
|
||||
rr.Workstep.Name,
|
||||
rr.Workplace,
|
||||
rr.UserName,
|
||||
rr.Result == 0 ? "OK" : "NOK",
|
||||
rr.Workstep.ReferencePart.Name,
|
||||
rr.Code,
|
||||
rr.Process.Name,
|
||||
}));
|
||||
|
||||
for (int i = 0; i < isMissing.Length; i++)
|
||||
{
|
||||
if (proc.Worksteps[i] == rr.Workstep) isMissing[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
string missingWorkplace = null;
|
||||
for (int i = 0; i < isMissing.Length; i++)
|
||||
{
|
||||
if (isMissing[i])
|
||||
{
|
||||
if (missingWorkplace == null)
|
||||
{
|
||||
missingWorkplace = proc.Worksteps[i].Name;
|
||||
messageLabel.Text = string.Format("Chýba záznam z pracoviska {0}", missingWorkplace);
|
||||
}
|
||||
else
|
||||
{
|
||||
messageLabel.Text = string.Format("Chýba záznam z pracoviska {0} aj z nasledujúcich pracovísk", missingWorkplace);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (missingWorkplace == null)
|
||||
{
|
||||
messageLabel.Text = "Všetko je OK";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: 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">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<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">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<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" 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">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
-1
@@ -64,7 +64,6 @@
|
||||
this.tBox.Name = "tBox";
|
||||
this.tBox.Size = new System.Drawing.Size(352, 20);
|
||||
this.tBox.TabIndex = 0;
|
||||
this.tBox.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.tBox_MouseDoubleClick);
|
||||
//
|
||||
// lView
|
||||
//
|
||||
|
||||
@@ -1,41 +1,26 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
public partial class OneWMResultsCtrl : UserControl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(OneWMResultsCtrl));
|
||||
|
||||
public event EventHandler<WaterMeterEventArgs> WMResultsClickedHandler;
|
||||
|
||||
public OneWMResultsCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public OneWMResultsCtrl(Color backColor, int lvWidth, int lvHeight, Results.Entities.WaterMeter wm)
|
||||
public OneWMResultsCtrl(Color backColor, int lvWidth, int lvHeight)
|
||||
: this()
|
||||
{
|
||||
lView.BackColor = backColor;
|
||||
tBox.BackColor = backColor;
|
||||
Size = new System.Drawing.Size(lvWidth, lvHeight);
|
||||
WM = wm;
|
||||
}
|
||||
|
||||
public Results.Entities.WaterMeter WM;
|
||||
public string Caption { get { return tBox.Text; } set { tBox.Text = value; } }
|
||||
public ListView.ColumnHeaderCollection Columns { get { return lView.Columns; } }
|
||||
public ListView.ListViewItemCollection Items { get { return lView.Items; } }
|
||||
public Color BColor { set { lView.BackColor = value; tBox.BackColor = value; } }
|
||||
|
||||
private void tBox_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (WMResultsClickedHandler == null) return;
|
||||
try { WMResultsClickedHandler(sender, new WaterMeterEventArgs(WM)); }
|
||||
catch (Exception exc) { log.Error("WMResultsClickedHandler(...) failed", exc); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-65
@@ -1,65 +0,0 @@
|
||||
namespace Results.Forms
|
||||
{
|
||||
partial class TracingResultsDlg
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tracingResultsListView = new System.Windows.Forms.ListView();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tracingResultsListView
|
||||
//
|
||||
this.tracingResultsListView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tracingResultsListView.GridLines = true;
|
||||
this.tracingResultsListView.Location = new System.Drawing.Point(0, 0);
|
||||
this.tracingResultsListView.Name = "tracingResultsListView";
|
||||
this.tracingResultsListView.Size = new System.Drawing.Size(1228, 178);
|
||||
this.tracingResultsListView.TabIndex = 0;
|
||||
this.tracingResultsListView.UseCompatibleStateImageBehavior = false;
|
||||
this.tracingResultsListView.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// TracingResultsDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1228, 178);
|
||||
this.Controls.Add(this.tracingResultsListView);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "TracingResultsDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "TracingResultsDlg";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ListView tracingResultsListView;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using TracingDB.Entities;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
public partial class TracingResultsDlg : Form
|
||||
{
|
||||
public TracingResultsDlg(IList<ReferenceRecord> rRecords)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Text = Strings.Production_tracing_results;
|
||||
|
||||
tracingResultsListView.Columns.Add(Strings.Date_and_time, 110);
|
||||
tracingResultsListView.Columns.Add(Strings.Step, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Workplace, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Name, 100);
|
||||
tracingResultsListView.Columns.Add(Strings.Result, 70);
|
||||
tracingResultsListView.Columns.Add(Strings.Part, 90);
|
||||
tracingResultsListView.Columns.Add(Strings.Code, 150);
|
||||
tracingResultsListView.Columns.Add(Strings.Workflow, 450);
|
||||
|
||||
foreach (var rr in rRecords)
|
||||
{
|
||||
tracingResultsListView.Items.Add(new ListViewItem(new string[] {
|
||||
rr.TimeStamp.ToString("dd.MM.yyyy HH:mm"),
|
||||
rr.Workstep.Name,
|
||||
rr.Workplace,
|
||||
rr.UserName,
|
||||
rr.Result == 0 ? "OK" : "NOK",
|
||||
rr.Workstep.ReferencePart.Name,
|
||||
rr.Code,
|
||||
rr.Process.Name,
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: 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">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<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">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<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" 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">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,14 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
public class WaterMeterEventArgs : EventArgs
|
||||
{
|
||||
public Results.Entities.WaterMeter WM;
|
||||
|
||||
public WaterMeterEventArgs(Results.Entities.WaterMeter wm) { WM = wm; }
|
||||
}
|
||||
}
|
||||
+4
-30
@@ -287,36 +287,10 @@ namespace Results
|
||||
Prod_Q2CorrLR, /// 246
|
||||
|
||||
TestPartStr, /// 247
|
||||
|
||||
Error_heat_mtr_vol, /// 248
|
||||
Energy_start, /// 249
|
||||
Energy_end, /// 250
|
||||
|
||||
OraWMTypeID, /// 251
|
||||
OraWMTypeRev, /// 252
|
||||
|
||||
E25, /// 253
|
||||
E26, /// 254
|
||||
E27, /// 255
|
||||
E28, /// 256
|
||||
|
||||
RefFlowmeter, /// 257
|
||||
Test_Method_Elde, /// 258
|
||||
|
||||
Counter1, /// 259 counterIdx0 = 0
|
||||
Counter2, /// 260 counterIdx0 = 1
|
||||
Counter3, /// 261 counterIdx0 = 2
|
||||
Counter4, /// 262 counterIdx0 = 3
|
||||
Counter5, /// 263 counterIdx0 = 4
|
||||
Counter6, /// 264 counterIdx0 = 5
|
||||
Counter7, /// 265 counterIdx0 = 6
|
||||
Counter8, /// 266 counterIdx0 = 7
|
||||
Counter9, /// 267 counterIdx0 = 8
|
||||
Counter10, /// 268 counterIdx0 = 9
|
||||
|
||||
ConstMasterCorr, /// 269
|
||||
TimeBtwnMassMsrmnts, /// 270
|
||||
TestTimeCorrection, /// 271
|
||||
|
||||
Error_heat_mtr_vol, /// 248
|
||||
Energy_start,
|
||||
Energy_end,
|
||||
|
||||
Count,
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
///
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
@@ -26,16 +26,6 @@ namespace Results.Mappings
|
||||
.Column("Custom1"); ;
|
||||
Map(x => x.Custom2);
|
||||
Map(x => x.Custom3);
|
||||
Map(x => x.Counter1);
|
||||
Map(x => x.Counter2);
|
||||
Map(x => x.Counter3);
|
||||
Map(x => x.Counter4);
|
||||
Map(x => x.Counter5);
|
||||
Map(x => x.Counter6);
|
||||
Map(x => x.Counter7);
|
||||
Map(x => x.Counter8);
|
||||
Map(x => x.Counter9);
|
||||
Map(x => x.Counter10);
|
||||
Map(x => x.StartTime);
|
||||
Map(x => x.EndTime);
|
||||
Map(x => x.Dirty);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
///
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
@@ -12,8 +12,7 @@ namespace Results.Mappings
|
||||
{
|
||||
Id(x => x.Id);
|
||||
Map(x => x.CompoundMeterId);
|
||||
Map(x => x.RegReaderType);
|
||||
Map(x => x.PulsesMeter);
|
||||
Map(x => x.PulsesMeter);
|
||||
Map(x => x.PulsesMaster);
|
||||
Map(x => x.PulsesPerLiter);
|
||||
Map(x => x.VolumeStart);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2015-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
@@ -16,7 +16,6 @@ namespace Results.Mappings
|
||||
References<Components>(x => x.Components);
|
||||
Map(x => x.Part);
|
||||
Map(x => x.RepetitionNr);
|
||||
Map(x => x.MethodClass);
|
||||
|
||||
Map(x => x.TestDone);
|
||||
Map(x => x.Remark)
|
||||
@@ -25,12 +24,8 @@ namespace Results.Mappings
|
||||
Map(x => x.StartTime);
|
||||
Map(x => x.EndTime);
|
||||
Map(x => x.FlowSetTime);
|
||||
Map(x => x.TimeBtwnMassMsrmnts);
|
||||
Map(x => x.TestTime);
|
||||
Map(x => x.TestTimeCorrection);
|
||||
Map(x => x.PulsesMaster);
|
||||
Map(x => x.ConstMasterRaw);
|
||||
Map(x => x.ConstMasterCorr);
|
||||
Map(x => x.ConstMaster);
|
||||
Map(x => x.MassStartRaw);
|
||||
Map(x => x.MassStart);
|
||||
|
||||
@@ -42,8 +42,6 @@ namespace Results.Mappings
|
||||
Map(x => x.MetrologicalClassAux);
|
||||
Map(x => x.ApprovalInfoAux);
|
||||
|
||||
Map(x => x.Medium);
|
||||
|
||||
Map(x => x.Text1);
|
||||
Map(x => x.Text2);
|
||||
Map(x => x.Text3);
|
||||
|
||||
@@ -152,12 +152,6 @@ namespace Results.Output.Printers.OnePerMeter
|
||||
}
|
||||
}
|
||||
|
||||
if ((cfg.GraphHgh != 0) && (cfg.GraphWid != 0))
|
||||
{
|
||||
Rectangle pos = new Rectangle(cfg.GraphLeft, cfg.GraphTop, cfg.GraphWid, cfg.GraphHgh);
|
||||
WMChart.GetChart(wm, true).Printing.PrintPaint(e.Graphics, pos);
|
||||
}
|
||||
|
||||
float tableTop = cfg.TopMargin;
|
||||
|
||||
if (pageNr == 1)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2017 Sensus Slovensko a.s.
|
||||
///
|
||||
|
||||
namespace Results.Output.Printers.OnePerMeter
|
||||
@@ -45,14 +45,10 @@ namespace Results.Output.Printers.OnePerMeter
|
||||
public string[] BelowItems3;
|
||||
public string Footer;
|
||||
public bool TestsAreRows;
|
||||
public int GraphLeft;
|
||||
public int GraphTop;
|
||||
public int GraphWid;
|
||||
public int GraphHgh;
|
||||
public string ImgFullPathName;
|
||||
public int ImgLeft;
|
||||
public int ImgTop;
|
||||
public int ImgWid;
|
||||
public int ImgHgh;
|
||||
public string ImgFullPathName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Drawing;
|
||||
using System.Drawing.Printing;
|
||||
using Config.Entities;
|
||||
|
||||
namespace Results.Output
|
||||
namespace Results.Output.Printers
|
||||
{
|
||||
public enum TableLines
|
||||
{
|
||||
@@ -94,7 +94,7 @@ namespace Results.Output
|
||||
else
|
||||
{
|
||||
bool isHeader = (colIx < Style.LeftHeadersCount) || (rowIx < Style.TopHeadersCount);
|
||||
SizeF size = Printers.PrintersCommon.Measure(e, Rows[rowIx][colIx], isHeader ? Style.HeaderFont : Style.Font);
|
||||
SizeF size = PrintersCommon.Measure(e, Rows[rowIx][colIx], isHeader ? Style.HeaderFont : Style.Font);
|
||||
if (size.Width > columnWidth[colIx]) columnWidth[colIx] = size.Width;
|
||||
if (size.Height > rowHeight[rowIx]) rowHeight[rowIx] = size.Height;
|
||||
}
|
||||
@@ -157,7 +157,7 @@ namespace Results.Output
|
||||
{
|
||||
/// In not a separator line
|
||||
bool isHeader = (colIx < Style.LeftHeadersCount) || (rowIx < Style.TopHeadersCount);
|
||||
SizeF size = Printers.PrintersCommon.Measure(e, Rows[rowIx][colIx], isHeader ? Style.HeaderFont : Style.Font);
|
||||
SizeF size = PrintersCommon.Measure(e, Rows[rowIx][colIx], isHeader ? Style.HeaderFont : Style.Font);
|
||||
if ((Style.ColumnWidths != null) && (Style.ColumnWidths.Length > colIx))
|
||||
{
|
||||
size.Width = Style.ColumnWidths[colIx]; /// Override measurement if column width is defined
|
||||
@@ -244,14 +244,14 @@ namespace Results.Output
|
||||
for (int colIndex = 0; colIndex < tblColumnsCount; colIndex++)
|
||||
{
|
||||
bool isHeader = (colIndex < Style.LeftHeadersCount) || (rowIndex < Style.TopHeadersCount);
|
||||
Printers.PrintersCommon.PrintAt(e, oneTableRow[colIndex],
|
||||
isHeader ? Style.HeaderFont : Style.Font,
|
||||
columnPos[colIndex],
|
||||
rowPos[rowIndex],
|
||||
columnWidth[colIndex],
|
||||
rowHeight[rowIndex],
|
||||
horizAlignment[colIndex],
|
||||
vertAlignment[colIndex]);
|
||||
PrintersCommon.PrintAt(e, oneTableRow[colIndex],
|
||||
isHeader ? Style.HeaderFont : Style.Font,
|
||||
columnPos[colIndex],
|
||||
rowPos[rowIndex],
|
||||
columnWidth[colIndex],
|
||||
rowHeight[rowIndex],
|
||||
horizAlignment[colIndex],
|
||||
vertAlignment[colIndex]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using Config.Entities;
|
||||
using Results.Entities;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Output
|
||||
{
|
||||
public class WMChart
|
||||
{
|
||||
public static Chart GetChart(WaterMeter wm, bool isPrinter)
|
||||
{
|
||||
return GetChart(wm, isPrinter, Config.Unit.lph, false);
|
||||
}
|
||||
|
||||
public static Chart GetChart(WaterMeter wm, bool isPrinter, Config.Unit flowUnit, bool isQ4)
|
||||
{
|
||||
IList<PointF> unsortedPoints = new List<PointF>();
|
||||
foreach (var mtr in wm.MeterTestRslts)
|
||||
{
|
||||
if (mtr.IsPilotRslt() && mtr.TestRslt.TestData.Evaluate && (mtr.TestTime > 0) && (mtr.TestRslt.PulsesMaster > 0))
|
||||
{
|
||||
double flow = Config.Units.ConvertTo(flowUnit, mtr.TestRslt.VolumeCTV / mtr.TestTime * 3.6 * mtr.PulsesMaster / mtr.TestRslt.PulsesMaster);
|
||||
if (flow > 0)
|
||||
{
|
||||
unsortedPoints.Add(new PointF((float)flow, (float)mtr.Error));
|
||||
}
|
||||
}
|
||||
}
|
||||
IEnumerable<PointF> sortedPoints = unsortedPoints.OrderBy(x => x.X);
|
||||
|
||||
Chart chart = new Chart
|
||||
{
|
||||
Name = "chart",
|
||||
Text = "chart",
|
||||
Dock = System.Windows.Forms.DockStyle.Fill,
|
||||
TabIndex = 0,
|
||||
Size = new System.Drawing.Size(5, 5),
|
||||
Location = new System.Drawing.Point(3, 3),
|
||||
};
|
||||
|
||||
ChartArea chArea = new ChartArea { Name = "ChartArea1" };
|
||||
chArea.AxisX.Title = Strings.Flow;
|
||||
chArea.AxisX.IsLogarithmic = true;
|
||||
chArea.AxisX.LogarithmBase = 10;
|
||||
chArea.AxisX.IsLabelAutoFit = false;
|
||||
|
||||
List<double> xs = new List<double>() { 0.0001, 0.0002, 0.0005,
|
||||
0.001, 0.002, 0.005,
|
||||
0.01, 0.02, 0.05,
|
||||
0.1, 0.2, 0.5,
|
||||
1, 2, 5,
|
||||
10, 20, 50,
|
||||
100, 200, 500,
|
||||
1000, 2000, 5000,
|
||||
10000, 20000, 50000,
|
||||
100000, 200000, 500000,
|
||||
1000000, 2000000, 5000000 };
|
||||
double spacer = 0.8;
|
||||
double from = Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q1_Qmin);
|
||||
double to = Config.Units.ConvertTo(flowUnit, isQ4 ? wm.WaterMeterData.Q4_Qmax : wm.WaterMeterData.Q3_Qn);
|
||||
for (int i = 1; i < xs.Count - 1; i++)
|
||||
{
|
||||
if ((xs[i + 1] > from) && (xs[i - 1] < to))
|
||||
{
|
||||
CustomLabel cl = new CustomLabel();
|
||||
cl.Text = string.Format("{0} {1}", xs[i], flowUnit.ToDescription());
|
||||
cl.FromPosition = Math.Log10(xs[i] * spacer);
|
||||
cl.ToPosition = Math.Log10(xs[i] / spacer);
|
||||
chArea.AxisX.CustomLabels.Add(cl);
|
||||
}
|
||||
}
|
||||
|
||||
chArea.AxisY.Title = Strings.Relative_error;
|
||||
chArea.AxisY.Interval = 3;
|
||||
chArea.AxisY.LabelStyle.Format = "{#} %";
|
||||
|
||||
Legend legend1 = new Legend { Name = "Legend1" };
|
||||
|
||||
Series upperLimit = new Series { Name = Strings.Upper_limit, ChartArea = "ChartArea1", ChartType = SeriesChartType.Line, Color = Color.Red };
|
||||
upperLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q1_Qmin), 5);
|
||||
upperLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q2_Qt), 5);
|
||||
upperLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q2_Qt), 2);
|
||||
upperLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q3_Qn), 2);
|
||||
if (isQ4) upperLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q4_Qmax), 2);
|
||||
|
||||
Series lowerLimit = new Series { Name = Strings.Lower_limit, ChartArea = "ChartArea1", ChartType = SeriesChartType.Line, Color = Color.Red };
|
||||
lowerLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q1_Qmin), -5);
|
||||
lowerLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q2_Qt), -5);
|
||||
lowerLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q2_Qt), -2);
|
||||
lowerLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q3_Qn), -2);
|
||||
if (isQ4) lowerLimit.Points.AddXY(Config.Units.ConvertTo(flowUnit, wm.WaterMeterData.Q4_Qmax), -2);
|
||||
|
||||
Series line = new Series { Name = Strings.Relative_error, ChartArea = "ChartArea1", ChartType = SeriesChartType.Line, Color = Color.DeepSkyBlue };
|
||||
Series dots = new Series { Name = Strings.Relative_error + " ", ChartArea = "ChartArea1", ChartType = SeriesChartType.Point, Color = Color.RoyalBlue };
|
||||
dots.MarkerStyle = MarkerStyle.Circle;
|
||||
if (isPrinter) dots.MarkerSize = 1;
|
||||
foreach (var point in sortedPoints)
|
||||
{
|
||||
line.Points.AddXY(point.X, point.Y);
|
||||
dots.Points.AddXY(point.X, point.Y);
|
||||
}
|
||||
|
||||
chart.ChartAreas.Add(chArea);
|
||||
chart.Legends.Add(legend1);
|
||||
chart.Series.Add(upperLimit);
|
||||
chart.Series.Add(lowerLimit);
|
||||
chart.Series.Add(dots);
|
||||
chart.Series.Add(line);
|
||||
|
||||
return chart;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.22.1278.0")]
|
||||
[assembly: AssemblyFileVersion("2.22.1278.0")]
|
||||
[assembly: AssemblyVersion("2.18.1183.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1183.0")]
|
||||
|
||||
Generated
-153
@@ -87,15 +87,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to All results.
|
||||
/// </summary>
|
||||
internal static string All_results {
|
||||
get {
|
||||
return ResourceManager.GetString("All_results", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Approval.
|
||||
/// </summary>
|
||||
@@ -195,15 +186,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Code.
|
||||
/// </summary>
|
||||
internal static string Code {
|
||||
get {
|
||||
return ResourceManager.GetString("Code", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Compound.
|
||||
/// </summary>
|
||||
@@ -222,24 +204,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Counter {0}.
|
||||
/// </summary>
|
||||
internal static string Counter_0 {
|
||||
get {
|
||||
return ResourceManager.GetString("Counter_0", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Date and time.
|
||||
/// </summary>
|
||||
internal static string Date_and_time {
|
||||
get {
|
||||
return ResourceManager.GetString("Date_and_time", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Density.
|
||||
/// </summary>
|
||||
@@ -474,15 +438,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Graphs.
|
||||
/// </summary>
|
||||
internal static string Graphs {
|
||||
get {
|
||||
return ResourceManager.GetString("Graphs", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to H amb.
|
||||
/// </summary>
|
||||
@@ -528,15 +483,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Lower limit.
|
||||
/// </summary>
|
||||
internal static string Lower_limit {
|
||||
get {
|
||||
return ResourceManager.GetString("Lower_limit", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to main.
|
||||
/// </summary>
|
||||
@@ -573,15 +519,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Name.
|
||||
/// </summary>
|
||||
internal static string Name {
|
||||
get {
|
||||
return ResourceManager.GetString("Name", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to No.
|
||||
/// </summary>
|
||||
@@ -591,15 +528,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to No water meter.
|
||||
/// </summary>
|
||||
internal static string No_water_meter {
|
||||
get {
|
||||
return ResourceManager.GetString("No_water_meter", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to OK.
|
||||
/// </summary>
|
||||
@@ -717,15 +645,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Part.
|
||||
/// </summary>
|
||||
internal static string Part {
|
||||
get {
|
||||
return ResourceManager.GetString("Part", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to OK.
|
||||
/// </summary>
|
||||
@@ -807,15 +726,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Production tracing results.
|
||||
/// </summary>
|
||||
internal static string Production_tracing_results {
|
||||
get {
|
||||
return ResourceManager.GetString("Production_tracing_results", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Protocol.
|
||||
/// </summary>
|
||||
@@ -897,15 +807,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Relative error.
|
||||
/// </summary>
|
||||
internal static string Relative_error {
|
||||
get {
|
||||
return ResourceManager.GetString("Relative_error", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Remark.
|
||||
/// </summary>
|
||||
@@ -996,15 +897,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Serial number is missing.
|
||||
/// </summary>
|
||||
internal static string Serial_number_is_missing {
|
||||
get {
|
||||
return ResourceManager.GetString("Serial_number_is_missing", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Single.
|
||||
/// </summary>
|
||||
@@ -1086,15 +978,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Step.
|
||||
/// </summary>
|
||||
internal static string Step {
|
||||
get {
|
||||
return ResourceManager.GetString("Step", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to T amb.
|
||||
/// </summary>
|
||||
@@ -1905,15 +1788,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Upper limit.
|
||||
/// </summary>
|
||||
internal static string Upper_limit {
|
||||
get {
|
||||
return ResourceManager.GetString("Upper_limit", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to User.
|
||||
/// </summary>
|
||||
@@ -2076,15 +1950,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Water meter results.
|
||||
/// </summary>
|
||||
internal static string Water_meter_results {
|
||||
get {
|
||||
return ResourceManager.GetString("Water_meter_results", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Width.
|
||||
/// </summary>
|
||||
@@ -2112,24 +1977,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Workflow.
|
||||
/// </summary>
|
||||
internal static string Workflow {
|
||||
get {
|
||||
return ResourceManager.GetString("Workflow", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Workplace.
|
||||
/// </summary>
|
||||
internal static string Workplace {
|
||||
get {
|
||||
return ResourceManager.GetString("Workplace", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wrong iPerl counting direction.
|
||||
/// </summary>
|
||||
|
||||
@@ -279,58 +279,4 @@
|
||||
<data name="Test_in_progress" xml:space="preserve">
|
||||
<value>Probíhá test</value>
|
||||
</data>
|
||||
<data name="Date_and_time" xml:space="preserve">
|
||||
<value>Datum a čas</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Jméno</value>
|
||||
</data>
|
||||
<data name="Step" xml:space="preserve">
|
||||
<value>Krok</value>
|
||||
</data>
|
||||
<data name="Workplace" xml:space="preserve">
|
||||
<value>Pracovisko</value>
|
||||
</data>
|
||||
<data name="Workflow" xml:space="preserve">
|
||||
<value>Pracovný postup</value>
|
||||
</data>
|
||||
<data name="Production_tracing_results" xml:space="preserve">
|
||||
<value>Výsledky sledování výroby</value>
|
||||
</data>
|
||||
<data name="Code" xml:space="preserve">
|
||||
<value>Kód</value>
|
||||
</data>
|
||||
<data name="Part" xml:space="preserve">
|
||||
<value>Součástka</value>
|
||||
</data>
|
||||
<data name="All_results" xml:space="preserve">
|
||||
<value>Všechny výsledky</value>
|
||||
</data>
|
||||
<data name="Graphs" xml:space="preserve">
|
||||
<value>Grafy</value>
|
||||
</data>
|
||||
<data name="No_water_meter" xml:space="preserve">
|
||||
<value>Žádný vodoměr</value>
|
||||
</data>
|
||||
<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>
|
||||
<data name="Upper_limit" xml:space="preserve">
|
||||
<value>Horní hranice</value>
|
||||
</data>
|
||||
<data name="Water_meter_results" xml:space="preserve">
|
||||
<value>Výsledky vodoměru</value>
|
||||
</data>
|
||||
<data name="Relative_error" xml:space="preserve">
|
||||
<value>Relativní chyba</value>
|
||||
</data>
|
||||
<data name="Flow" xml:space="preserve">
|
||||
<value>Průtok</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -765,55 +765,4 @@
|
||||
<data name="Test_in_progress" xml:space="preserve">
|
||||
<value>Test in progress</value>
|
||||
</data>
|
||||
<data name="Counter_0" xml:space="preserve">
|
||||
<value>Counter {0}</value>
|
||||
</data>
|
||||
<data name="Date_and_time" xml:space="preserve">
|
||||
<value>Date and time</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="Step" xml:space="preserve">
|
||||
<value>Step</value>
|
||||
</data>
|
||||
<data name="Workplace" xml:space="preserve">
|
||||
<value>Workplace</value>
|
||||
</data>
|
||||
<data name="Workflow" xml:space="preserve">
|
||||
<value>Workflow</value>
|
||||
</data>
|
||||
<data name="Production_tracing_results" xml:space="preserve">
|
||||
<value>Production tracing results</value>
|
||||
</data>
|
||||
<data name="Code" xml:space="preserve">
|
||||
<value>Code</value>
|
||||
</data>
|
||||
<data name="Part" xml:space="preserve">
|
||||
<value>Part</value>
|
||||
</data>
|
||||
<data name="All_results" xml:space="preserve">
|
||||
<value>All results</value>
|
||||
</data>
|
||||
<data name="Graphs" xml:space="preserve">
|
||||
<value>Graphs</value>
|
||||
</data>
|
||||
<data name="No_water_meter" xml:space="preserve">
|
||||
<value>No water meter</value>
|
||||
</data>
|
||||
<data name="Serial_number_is_missing" xml:space="preserve">
|
||||
<value>Serial number is missing</value>
|
||||
</data>
|
||||
<data name="Lower_limit" xml:space="preserve">
|
||||
<value>Lower limit</value>
|
||||
</data>
|
||||
<data name="Upper_limit" xml:space="preserve">
|
||||
<value>Upper limit</value>
|
||||
</data>
|
||||
<data name="Water_meter_results" xml:space="preserve">
|
||||
<value>Water meter results</value>
|
||||
</data>
|
||||
<data name="Relative_error" xml:space="preserve">
|
||||
<value>Relative error</value>
|
||||
</data>
|
||||
</root>
|
||||
+3
-28
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
@@ -27,7 +27,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -51,7 +51,6 @@
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -81,12 +80,6 @@
|
||||
<Compile Include="Forms\ListViewExtensions.cs" />
|
||||
<Compile Include="Forms\LviIntColumnComparer.cs" />
|
||||
<Compile Include="Forms\LviTextColumnComparer.cs" />
|
||||
<Compile Include="Forms\MoreWMResultsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\MoreWMResultsDlg.Designer.cs">
|
||||
<DependentUpon>MoreWMResultsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\OneWMResultsCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@@ -105,13 +98,6 @@
|
||||
<Compile Include="Forms\ResultsConfigDlg.designer.cs">
|
||||
<DependentUpon>ResultsConfigDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\TracingResultsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\TracingResultsDlg.Designer.cs">
|
||||
<DependentUpon>TracingResultsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\WaterMeterEventArgs.cs" />
|
||||
<Compile Include="ItemID.cs" />
|
||||
<Compile Include="Mappings\BatchMap.cs" />
|
||||
<Compile Include="Mappings\ComponentsMap.cs" />
|
||||
@@ -138,12 +124,11 @@
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Output\Printers\OnePerMeter\OnePerMeterPrinterCfg.cs" />
|
||||
<Compile Include="Output\Printers\Table.cs" />
|
||||
<Compile Include="Output\Printers\Zapiska\ZapiskaPrintDocument.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Output\Printers\Zapiska\ZapiskaPrinterCfg.cs" />
|
||||
<Compile Include="Output\Table.cs" />
|
||||
<Compile Include="Output\WMChart.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -163,10 +148,6 @@
|
||||
<Project>{743DF7DB-C7B6-42EB-986D-0F485E5588E4}</Project>
|
||||
<Name>Config</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\TracingDB\TracingDB.csproj">
|
||||
<Project>{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}</Project>
|
||||
<Name>TracingDB</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Users\Users.csproj">
|
||||
<Project>{6E5CB0E9-E1B6-4E5D-AC6E-B1049E180F2B}</Project>
|
||||
<Name>Users</Name>
|
||||
@@ -184,9 +165,6 @@
|
||||
<EmbeddedResource Include="Forms\ListViewEx.resx">
|
||||
<DependentUpon>ListViewEx.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\MoreWMResultsDlg.resx">
|
||||
<DependentUpon>MoreWMResultsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\OneWMResultsCtrl.resx">
|
||||
<DependentUpon>OneWMResultsCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -196,9 +174,6 @@
|
||||
<EmbeddedResource Include="Forms\ResultsConfigDlg.resx">
|
||||
<DependentUpon>ResultsConfigDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\TracingResultsDlg.resx">
|
||||
<DependentUpon>TracingResultsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
||||
+1
-24
@@ -11,7 +11,6 @@ namespace Results
|
||||
{
|
||||
public static string GetTestName(string name, int repeats, int repetitionNr)
|
||||
{
|
||||
if (name == null) return null;
|
||||
if (repeats == 1) return name;
|
||||
return string.Format("{0} ({1}/{2})", name, repetitionNr, repeats);
|
||||
}
|
||||
@@ -27,9 +26,7 @@ namespace Results
|
||||
case 7: return 29; /// PT7, special
|
||||
case 8: return 36; /// WR13
|
||||
case 9: return 37; /// WR15
|
||||
case 10: return 38; /// WR14
|
||||
case 11: return 39; /// WR18
|
||||
case 12: return 40; /// WR19
|
||||
case 10: return 38; /// WR16
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
@@ -45,8 +42,6 @@ namespace Results
|
||||
case 8: return "WR13";
|
||||
case 9: return "WR15";
|
||||
case 10: return "WR14";
|
||||
case 11: return "WR18";
|
||||
case 12: return "WR19";
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -86,23 +81,5 @@ namespace Results
|
||||
return (useRedGreenColor) ? (passed ? "OK|Green" : "NOK|Red") : (passed ? "OK|White" : "NOK|White");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
public static void GetCounterStates(Results.Entities.Batch batch, int[] counters)
|
||||
{
|
||||
if (batch != null)
|
||||
{
|
||||
batch.Counter1 = ((counters != null) && (counters.Length >= 1)) ? counters[0] : 0;
|
||||
batch.Counter2 = ((counters != null) && (counters.Length >= 2)) ? counters[1] : 0;
|
||||
batch.Counter3 = ((counters != null) && (counters.Length >= 3)) ? counters[2] : 0;
|
||||
batch.Counter4 = ((counters != null) && (counters.Length >= 4)) ? counters[3] : 0;
|
||||
batch.Counter5 = ((counters != null) && (counters.Length >= 5)) ? counters[4] : 0;
|
||||
batch.Counter6 = ((counters != null) && (counters.Length >= 6)) ? counters[5] : 0;
|
||||
batch.Counter7 = ((counters != null) && (counters.Length >= 7)) ? counters[6] : 0;
|
||||
batch.Counter8 = ((counters != null) && (counters.Length >= 8)) ? counters[7] : 0;
|
||||
batch.Counter9 = ((counters != null) && (counters.Length >= 9)) ? counters[8] : 0;
|
||||
batch.Counter10 = ((counters != null) && (counters.Length >= 10)) ? counters[9] : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +149,6 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Proc_description, Strings.Procedure_description, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.ProcedureDescription)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_number, Strings.Batch_nr, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.BatchNr())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_method, Strings.Test_method + "()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Method())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_Method_Elde, Strings.Test_method + " Elde ()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).MethodElde())));
|
||||
|
||||
///
|
||||
/// Volume
|
||||
@@ -196,10 +195,8 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Timestamp_start, "Timestamp start ()", Quantity.Time, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).TimestampStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Timestamp_end, "Timestamp end ()", Quantity.Time, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).TimestampEnd)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_time_ni, Strings.T_s + "_ni()", Quantity.Time, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "V3", w.GetMeterTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_time, Strings.T_s + "()", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "F1", w.GetTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestTimeCorrection, "Test time correction ()", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "F3", w.GetTestRslt(t).TestTimeCorrection)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TimeBtwnMassMsrmnts, "Time between mass measurements ()", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "F0", w.GetTestRslt(t).TimeBtwnMassMsrmnts)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.PMax_test_time, "Pressure test time ()", "Pressure test time", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsPMaxTest()) ? "" : FormatDbl(u, f, p, "F0", w.GetTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_time, Strings.T_s + "()", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsRelErrTest()) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.PMax_test_time, "Pressure test time ()", "Pressure test time", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsPMaxTest()) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Diverter_start_time, "Diverter start time ()", "Diverter start time", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsDiverter()) ? "" : FormatDbl(u, f, p, "F3", w.GetTestRslt(t).DiverterStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Diverter_end_time, "Diverter end time ()", "Diverter end time", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsDiverter()) ? "" : FormatDbl(u, f, p, "F3", w.GetTestRslt(t).DiverterEnd)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_valve_open_time, "Start valve open time ()", "Start valve open time", Quantity.Time, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null || !w.GetTestRslt(t).IsStartStop()) ? "" : FormatDbl(u, f, p, "F3", w.GetTestRslt(t).DiverterStart)));
|
||||
@@ -211,13 +208,13 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_from, string.Format("{0} {1}", Strings.VName_Flow, Strings.from), Quantity.Flow, ItemCategory.TestData, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).Qfrom())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_to, string.Format("{0} {1}", Strings.VName_Flow, Strings.to), Quantity.Flow, ItemCategory.TestData, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).Qto())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow, string.Format("{0} v r", Strings.VName_Flow), Strings.Tooltip_Q_v_r, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowVolume)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Qc, string.Format("Qc"), "Calculated water meter flow", Quantity.Flow, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).VolumeCTV / w.GetMeterTestRslt(t).TestTime * 3.6 * w.GetMeterTestRslt(t).PulsesMaster / w.GetTestRslt(t).PulsesMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_ref_mean, string.Format("{0} rim ()", Strings.VName_Flow), Strings.Tooltip_Q_rim, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowMean)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_ref_min, string.Format("{0} ref min ()", Strings.VName_Flow), Strings.Tooltip_Q_min, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowMin)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_ref_max, string.Format("{0} ref max ()", Strings.VName_Flow), Strings.Tooltip_Q_max, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowMax)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_ref_start, string.Format("{0} ref start ()",Strings.VName_Flow),Strings.Tooltip_Q_start, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_ref_end, string.Format("{0} ref end ()", Strings.VName_Flow), Strings.Tooltip_Q_end, Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", w.GetTestRslt(t).FlowEnd)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Qc, string.Format("Qc"), "Calculated water meter flow", Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V5", (w.GetMeterTestRslt(t).TestTime == 0 || w.GetTestRslt(t).PulsesMaster == 0) ? 0 : w.GetTestRslt(t).VolumeCTV / w.GetMeterTestRslt(t).TestTime * 3.6 * w.GetMeterTestRslt(t).PulsesMaster / w.GetTestRslt(t).PulsesMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow_ctv, string.Format("{0} ctv ()", Strings.VName_Flow), "CTV of the flow (mean val.)", Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V5", (w.GetMeterTestRslt(t).TestTime == 0 || w.GetTestRslt(t).PulsesMaster == 0) ? 0 : w.GetTestRslt(t).VolumeCTV / w.GetMeterTestRslt(t).TestTime * 3.6 * w.GetMeterTestRslt(t).PulsesMaster / w.GetTestRslt(t).PulsesMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow_ctv, string.Format("{0} ctv ()", Strings.VName_Flow), "CTV of the flow (mean val.)",Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", (w.GetTestRslt(t).TestTime == 0) ? 0 : 3.6 * w.GetTestRslt(t).VolumeCTV / w.GetTestRslt(t).TestTime)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow_ctv_min, string.Format("{0} ctv min ()", Strings.VName_Flow), "Min. CTV of the flow", Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", (w.GetTestRslt(t).VolumeMaster == 0) ? 0 : w.GetTestRslt(t).VolumeCTV * w.GetTestRslt(t).FlowMin / w.GetTestRslt(t).VolumeMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow_ctv_max, string.Format("{0} ctv max ()", Strings.VName_Flow), "Max. CTV of the flow", Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", (w.GetTestRslt(t).VolumeMaster == 0) ? 0 : w.GetTestRslt(t).VolumeCTV * w.GetTestRslt(t).FlowMax / w.GetTestRslt(t).VolumeMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Flow_ctv_start, string.Format("{0} ctv start ()", Strings.VName_Flow), "Start flow CTV", Quantity.Flow, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", (w.GetTestRslt(t).VolumeMaster == 0) ? 0 : w.GetTestRslt(t).VolumeCTV * w.GetTestRslt(t).FlowStart / w.GetTestRslt(t).VolumeMaster)));
|
||||
@@ -226,9 +223,8 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_fall, string.Format("{0} {1}", Strings.VName_Flow, Strings.fall), Quantity.Flow, ItemCategory.MeterResult, (w, t, u, f, p) => (string.IsNullOrEmpty(t) || (w.GetTestRslt(t) != null)) ? ((w.QFall == 0) ? "-" : FormatDbl(u, f, p, "V3", w.QFall)) : ""));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q_sensitivity, string.Format("{0} {1}", Strings.VName_Flow, Strings.sensitivity), Quantity.Flow, ItemCategory.MeterResult, (w, t, u, f, p) => (string.IsNullOrEmpty(t) || (w.GetTestRslt(t) != null)) ? ((w.QRise == 0) ? "-" : FormatDbl(u, f, p, "V3", w.QRise)) : ""));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ConstMaster, string.Format("k MID ()"), "Const. of the reference flow meter", Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", ((w.GetTestRslt(t).ConstMaster < float.Epsilon) ? 0 : (1 / w.GetTestRslt(t).ConstMaster)))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ConstMasterRaw, string.Format("k MID raw ()"),"Const. of the ref. flow meter uncorrected", Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", ((w.GetTestRslt(t).ConstMasterRaw < float.Epsilon) ? 0 : (1 / w.GetTestRslt(t).ConstMasterRaw)))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ConstMasterCorr,string.Format("k MID corr ()"), "Const. of the ref. flow meter corrected", Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", ((w.GetTestRslt(t).ConstMasterRaw < float.Epsilon) ? 0 : (1 / w.GetTestRslt(t).ConstMasterCorr)))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ConstMaster, string.Format("k MID ()"), "Const. of the reference flow meter", Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", ((w.GetTestRslt(t).ConstMaster < float.Epsilon) ? 0 : (1 / w.GetTestRslt(t).ConstMaster)))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ConstMasterRaw, string.Format("k MID raw ()"), "Const. of the ref. flow meter uncorrected",Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V3", ((w.GetTestRslt(t).ConstMasterRaw < float.Epsilon) ? 0 : (1 / w.GetTestRslt(t).ConstMasterRaw)))));
|
||||
|
||||
///
|
||||
/// Temperature
|
||||
@@ -324,8 +320,7 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed, Strings.Result, Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(t) ? w.PassedColorStr(f)
|
||||
: ((w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PassedColorStr(f))));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.RefFlowmeter, "Ref. flowmeter", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null) ? FormatStr(f, w.GetTestRslt(t).RefFlowmeter()) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ResultOrErrorFlags, "Winiki lub E", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.PassedOrErrorFlagsStr()))); /// PL specific result
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ResultOrErrorFlags, "Winiki lub E", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.PassedOrErrorFlagsStr()))); /// PL specific result
|
||||
|
||||
///
|
||||
/// Water meter info
|
||||
@@ -431,9 +426,7 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrFlowRight, "iPerl Q2CorrFlowRight", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrFlowRight)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.FW_Version, "iPerl FW version", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.FWVersion)));
|
||||
#if ORACLE_DB
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Max_test_index, "iPerl test index", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, (w.Pruefindex % 100))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.OraWMTypeID, "OraDB WM Type ID", Quantity.Number, ItemCategory.MeterData, (w, t, u, f, p) => FormatInt(f, w.WaterMeterData.WMTypeId)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.OraWMTypeRev, "OraDB WM Type Rev.", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.WMTypeRevision)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Max_test_index, "iPerl test index", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, (w.Pruefindex % 100))));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -457,44 +450,29 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestPassed, Strings.Test_passed + "()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => FormatBool(f, (w.GetMeterTestRslt(t) != null) && w.GetMeterTestRslt(t).Passed)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlags, Strings.Error_flags + "()", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) != null) ? w.GetTestRslt(t).ErrorFlagsStr() : w.ErrorFlagsStr())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlagsEx, Strings.Error_flags + "Ex", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ErrorFlagsStrEx())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E1, "E1 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E1) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E2, "E2 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E2) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E3, "E3 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E3) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E4, "E4 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E4) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E5, "E5 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E5) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E6, "E6 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E6) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E7, "E7 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E7) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E8, "E8 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E8) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E9, "E9 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E9) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E10, "E10 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E10) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E11, "E11 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E11) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E12, "E12 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E12) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E13, "E13 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E13) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E14, "E14 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E14) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E15, "E15 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E15) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E16, "E16 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E16) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E21, "E21 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & (int)ErrorFlagMask.E21) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E25, "E25 ()", Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => ((w.ErrorFlags & (int)ErrorFlagMask.E25) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E26, "E26 ()", Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => ((w.ErrorFlags & (int)ErrorFlagMask.E26) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E27, "E27 ()", Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => ((w.ErrorFlags & (int)ErrorFlagMask.E27) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E28, "E28 ()", Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => ((w.ErrorFlags & (int)ErrorFlagMask.E28) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E1, "E1 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0001) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E2, "E2 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0002) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E3, "E3 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0004) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E4, "E4 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0008) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E5, "E5 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0010) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E6, "E6 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0020) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E7, "E7 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0040) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E8, "E8 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0080) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E9, "E9 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0100) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E10, "E10 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0200) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E11, "E11 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0400) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E12, "E12 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0800) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E13, "E13 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x1000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E14, "E14 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x2000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E15, "E15 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x4000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E16, "E16 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x8000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E21, "E21 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x100000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestPartStr, "Test part str.", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatEnum(f, (w.GetMeterTestRslt(t) != null) ? w.GetMeterTestRslt(t).TestRslt.Part : 0)));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_row_nr, "Table row #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableRowNr.ToString() : string.Format(f, TableRowNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_column_nr, "Table column #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableColumnNr.ToString() : string.Format(f, TableColumnNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.WMRemark, string.Format("{0} {1}", Strings.Water_Meter, Strings.Remark), Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.Remark)));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter1, string.Format(Strings.Counter_0, 1), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter1)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter2, string.Format(Strings.Counter_0, 2), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter2)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter3, string.Format(Strings.Counter_0, 3), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter3)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter4, string.Format(Strings.Counter_0, 4), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter4)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter5, string.Format(Strings.Counter_0, 5), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter5)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter6, string.Format(Strings.Counter_0, 6), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter6)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter7, string.Format(Strings.Counter_0, 7), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter7)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter8, string.Format(Strings.Counter_0, 8), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter8)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter9, string.Format(Strings.Counter_0, 9), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter9)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter10, string.Format(Strings.Counter_0, 10), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter10)));
|
||||
}
|
||||
}
|
||||
|
||||
/// To be updated by Output.FileWriter or Output.Printer
|
||||
public static int TableRowNr;
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace ResultsBrowser
|
||||
|
||||
public LocalSettings()
|
||||
{
|
||||
#if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL
|
||||
#if TURA_IPERL || TURA_SPECIAL
|
||||
Bench1 = "WR10";
|
||||
Bench2 = "WR11";
|
||||
Bench3 = "WR13";
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1273.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1273.0")]
|
||||
[assembly: AssemblyVersion("2.18.1146.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1146.0")]
|
||||
|
||||
@@ -129,6 +129,9 @@
|
||||
<data name="Columns" xml:space="preserve">
|
||||
<value>Slopuce</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>Kombinovaný</value>
|
||||
</data>
|
||||
<data name="Connection_string" xml:space="preserve">
|
||||
<value>Řetězec pro spojní s databázou</value>
|
||||
</data>
|
||||
@@ -195,8 +198,8 @@
|
||||
<data name="Save_filters" xml:space="preserve">
|
||||
<value>Uložit filtry</value>
|
||||
</data>
|
||||
<data name="Selected_language_not_supported" xml:space="preserve">
|
||||
<value>Vybraný jazyk není podporován.</value>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>Vybrané výsledky</value>
|
||||
</data>
|
||||
<data name="Select_a_filter" xml:space="preserve">
|
||||
<value>Vyberte filtr</value>
|
||||
@@ -207,6 +210,9 @@
|
||||
<data name="Settings" xml:space="preserve">
|
||||
<value>Nastavení</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>Jednoduchý</value>
|
||||
</data>
|
||||
<data name="Statistics" xml:space="preserve">
|
||||
<value>Statistiky</value>
|
||||
</data>
|
||||
@@ -222,79 +228,19 @@
|
||||
<data name="To" xml:space="preserve">
|
||||
<value>Do</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>Odemknout</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>Vodoměr</value>
|
||||
</data>
|
||||
<data name="Print" xml:space="preserve">
|
||||
<value>Vytisknout</value>
|
||||
</data>
|
||||
<data name="Add" xml:space="preserve">
|
||||
<value>&Přidat ></value>
|
||||
<data name="Add_data_from_Oracle" xml:space="preserve">
|
||||
<value>Dohledej údaje z Oracle</value>
|
||||
</data>
|
||||
<data name="Histograms" xml:space="preserve">
|
||||
<value>Histogramy</value>
|
||||
</data>
|
||||
<data name="All_files" xml:space="preserve">
|
||||
<value>Všechny soubory</value>
|
||||
</data>
|
||||
<data name="Count" xml:space="preserve">
|
||||
<value>Počet</value>
|
||||
</data>
|
||||
<data name="Data" xml:space="preserve">
|
||||
<value>Údaje</value>
|
||||
</data>
|
||||
<data name="Error_exporting_results" xml:space="preserve">
|
||||
<value>Chyba při exportování výsledků</value>
|
||||
</data>
|
||||
<data name="Format" xml:space="preserve">
|
||||
<value>Formát</value>
|
||||
</data>
|
||||
<data name="Message" xml:space="preserve">
|
||||
<value>Správa</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Jméno</value>
|
||||
</data>
|
||||
<data name="No_printer_defined" xml:space="preserve">
|
||||
<value>Není zadefinována tiskárna</value>
|
||||
</data>
|
||||
<data name="No_program_settings_found" xml:space="preserve">
|
||||
<value>Nebyli nalezeny nastavení programu.</value>
|
||||
</data>
|
||||
<data name="Page_orientation" xml:space="preserve">
|
||||
<value>Otočení strany</value>
|
||||
</data>
|
||||
<data name="Printer" xml:space="preserve">
|
||||
<value>Tiskárna</value>
|
||||
</data>
|
||||
<data name="Printing_completed" xml:space="preserve">
|
||||
<value>Tisk ukončen</value>
|
||||
</data>
|
||||
<data name="Printing_failed" xml:space="preserve">
|
||||
<value>Chyba při tisku</value>
|
||||
</data>
|
||||
<data name="Query_files" xml:space="preserve">
|
||||
<value>Definice dotazů</value>
|
||||
</data>
|
||||
<data name="Question" xml:space="preserve">
|
||||
<value>Otázka</value>
|
||||
</data>
|
||||
<data name="Using_default_settings" xml:space="preserve">
|
||||
<value>Budou použity výchozí nastavení.</value>
|
||||
</data>
|
||||
<data name="Using_English" xml:space="preserve">
|
||||
<value>Bude použita Angličtina.</value>
|
||||
</data>
|
||||
<data name="Warning" xml:space="preserve">
|
||||
<value>Upozornění</value>
|
||||
</data>
|
||||
<data name="Yes_Portrait_No_Landscape" xml:space="preserve">
|
||||
<value>Ano = na výšku, Ne = na šířku</value>
|
||||
</data>
|
||||
<data name="Component" xml:space="preserve">
|
||||
<value>Komponent</value>
|
||||
</data>
|
||||
<data name="Configure" xml:space="preserve">
|
||||
<value>Nakonfigurovat</value>
|
||||
</data>
|
||||
<data name="Configure_printer" xml:space="preserve">
|
||||
<value>Nakonfigurovat tiskárnu</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -186,6 +186,9 @@
|
||||
<data name="Save_filters" xml:space="preserve">
|
||||
<value>Filter speichern</value>
|
||||
</data>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>Ergebnisse ausgewählt</value>
|
||||
</data>
|
||||
<data name="Select_a_filter" xml:space="preserve">
|
||||
<value>Wählen Sie einen Filter</value>
|
||||
</data>
|
||||
@@ -195,6 +198,9 @@
|
||||
<data name="Settings" xml:space="preserve">
|
||||
<value>Einstellungen</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>Einzel</value>
|
||||
</data>
|
||||
<data name="Statistics" xml:space="preserve">
|
||||
<value>Statistiken</value>
|
||||
</data>
|
||||
@@ -210,6 +216,12 @@
|
||||
<data name="To" xml:space="preserve">
|
||||
<value>Zu</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>Ändern</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>Wasserzähler</value>
|
||||
</data>
|
||||
<data name="Error_displaying_results" xml:space="preserve">
|
||||
<value>Fehler beim Anzeigen der Ergebnisse</value>
|
||||
</data>
|
||||
@@ -219,6 +231,9 @@
|
||||
<data name="Error_serializing_filters" xml:space="preserve">
|
||||
<value>Fehler Serialisierung Filter</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>Verbund</value>
|
||||
</data>
|
||||
<data name="Count" xml:space="preserve">
|
||||
<value>Anzahl</value>
|
||||
</data>
|
||||
|
||||
@@ -117,66 +117,579 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Confirmation" xml:space="preserve">
|
||||
<value>conferma</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_save_the_procedure" xml:space="preserve">
|
||||
<value>vuoi salvare la procedura?</value>
|
||||
</data>
|
||||
<data name="Error" xml:space="preserve">
|
||||
<value>errore</value>
|
||||
</data>
|
||||
<data name="Error_loading_users_from_the_database" xml:space="preserve">
|
||||
<value>errore del caricamento del data base</value>
|
||||
</data>
|
||||
<data name="Failed_to_create_a_sample_database" xml:space="preserve">
|
||||
<value>Impossibile creare un database di esempio:</value>
|
||||
</data>
|
||||
<data name="Failed_to_export_the_database" xml:space="preserve">
|
||||
<value>impossibile esportare il database</value>
|
||||
</data>
|
||||
<data name="Invalid_user_password_or_bench" xml:space="preserve">
|
||||
<value>utente password o banco non valido</value>
|
||||
</data>
|
||||
<data name="Test_bench" xml:space="preserve">
|
||||
<value>banco prova</value>
|
||||
</data>
|
||||
<data name="MaxChars" xml:space="preserve">
|
||||
<value>max _X_ caratteri alfanumerici</value>
|
||||
</data>
|
||||
<data name="close" xml:space="preserve">
|
||||
<value>Chiudi</value>
|
||||
</data>
|
||||
<data name="Diverter" xml:space="preserve">
|
||||
<value>deviatore</value>
|
||||
</data>
|
||||
<data name="Emptying_valve" xml:space="preserve">
|
||||
<value>valvola di svuotamento</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>nome</value>
|
||||
</data>
|
||||
<data name="Reference" xml:space="preserve">
|
||||
<value>riferimento</value>
|
||||
</data>
|
||||
<data name="Reg_valve" xml:space="preserve">
|
||||
<value>regolazione valvola</value>
|
||||
</data>
|
||||
<data name="Balance" xml:space="preserve">
|
||||
<value>bilancia</value>
|
||||
</data>
|
||||
<data name="Duration_s" xml:space="preserve">
|
||||
<value>durata [s]</value>
|
||||
</data>
|
||||
<data name="no" xml:space="preserve">
|
||||
<value>no</value>
|
||||
</data>
|
||||
<data name="New_bench_path_name" xml:space="preserve">
|
||||
<value>P banco</value>
|
||||
</data>
|
||||
<data name="New_feeding_path_name" xml:space="preserve">
|
||||
<value>P di avanzamento</value>
|
||||
</data>
|
||||
<data name="New_output_path_name" xml:space="preserve">
|
||||
<value>PQ</value>
|
||||
</data>
|
||||
<data name="New_procedure_name" xml:space="preserve">
|
||||
<value>procedura</value>
|
||||
</data>
|
||||
<data name="New_sensors_path_name" xml:space="preserve">
|
||||
<value>P sens</value>
|
||||
</data>
|
||||
<data name="New_test_name" xml:space="preserve">
|
||||
<value>prova</value>
|
||||
</data>
|
||||
<data name="New_name_copy" xml:space="preserve">
|
||||
<value>Copia</value>
|
||||
</data>
|
||||
<data name="Correction_g" xml:space="preserve">
|
||||
<value>correzione [g]</value>
|
||||
</data>
|
||||
<data name="Nr" xml:space="preserve">
|
||||
<value>numero</value>
|
||||
</data>
|
||||
<data name="Mass_kg" xml:space="preserve">
|
||||
<value>massa [kg]</value>
|
||||
</data>
|
||||
<data name="AddBtnText" xml:space="preserve">
|
||||
<value>inserisci</value>
|
||||
</data>
|
||||
<data name="CancelBtnText" xml:space="preserve">
|
||||
<value>Annulla</value>
|
||||
</data>
|
||||
<data name="CloseBtnText" xml:space="preserve">
|
||||
<value>Chiudi</value>
|
||||
</data>
|
||||
<data name="LockBtnText" xml:space="preserve">
|
||||
<value>serratura</value>
|
||||
</data>
|
||||
<data name="RemoveBtnText" xml:space="preserve">
|
||||
<value>rimuovere</value>
|
||||
</data>
|
||||
<data name="OkBtnText" xml:space="preserve">
|
||||
<value>ok</value>
|
||||
</data>
|
||||
<data name="Correction_lph" xml:space="preserve">
|
||||
<value>correzione [l/h]</value>
|
||||
</data>
|
||||
<data name="Correction_mbar" xml:space="preserve">
|
||||
<value>correzione [mbar]</value>
|
||||
</data>
|
||||
<data name="Flow_m3h" xml:space="preserve">
|
||||
<value>flusso [m3/h]</value>
|
||||
</data>
|
||||
<data name="Invalid_username_or_password" xml:space="preserve">
|
||||
<value>Username o password non validi</value>
|
||||
</data>
|
||||
<data name="CopyBtnText" xml:space="preserve">
|
||||
<value>copia</value>
|
||||
</data>
|
||||
<data name="DownBtnText" xml:space="preserve">
|
||||
<value>Giù</value>
|
||||
</data>
|
||||
<data name="EditBtnText" xml:space="preserve">
|
||||
<value>Modifica</value>
|
||||
</data>
|
||||
<data name="UpBtnText" xml:space="preserve">
|
||||
<value>Su</value>
|
||||
</data>
|
||||
<data name="NoDatabaseMsg" xml:space="preserve">
|
||||
<value>Impossibile collegarsi al database</value>
|
||||
</data>
|
||||
<data name="ConfigureDatabaseText" xml:space="preserve">
|
||||
<value>configurare il banco prova (richiesta password)</value>
|
||||
</data>
|
||||
<data name="ExitBtnText" xml:space="preserve">
|
||||
<value>uscita</value>
|
||||
</data>
|
||||
<data name="Enter_password" xml:space="preserve">
|
||||
<value>password di ingresso</value>
|
||||
</data>
|
||||
<data name="Invalid_password" xml:space="preserve">
|
||||
<value>Password non valida</value>
|
||||
</data>
|
||||
<data name="Bench_name_conflict_Use_another_name_pls" xml:space="preserve">
|
||||
<value>conflitto nome per banco prova, cambiare nome</value>
|
||||
</data>
|
||||
<data name="DB_was_successfully_created" xml:space="preserve">
|
||||
<value>Il database è stato creato con successo!</value>
|
||||
</data>
|
||||
<data name="DB_will_be_overwritten" xml:space="preserve">
|
||||
<value>il database verrà sovrascritto</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>vuoi procedere?</value>
|
||||
</data>
|
||||
<data name="Notification" xml:space="preserve">
|
||||
<value>notifica</value>
|
||||
</data>
|
||||
<data name="NoBenchMsg" xml:space="preserve">
|
||||
<value>nessun banco prova nella configurazione del programma</value>
|
||||
</data>
|
||||
<data name="DescriptionColHdr" xml:space="preserve">
|
||||
<value>Descrizione</value>
|
||||
</data>
|
||||
<data name="Procedure" xml:space="preserve">
|
||||
<value>procedura</value>
|
||||
</data>
|
||||
<data name="Test" xml:space="preserve">
|
||||
<value>tester</value>
|
||||
</data>
|
||||
<data name="Corrected" xml:space="preserve">
|
||||
<value>corretto</value>
|
||||
</data>
|
||||
<data name="Measured" xml:space="preserve">
|
||||
<value>misurato</value>
|
||||
</data>
|
||||
<data name="Bench_is_not_running" xml:space="preserve">
|
||||
<value>il banco prova non è in funzionamento tuttavia è possibile modificare le impostazioni per risolvere il problema</value>
|
||||
</data>
|
||||
<data name="Emptying_chdr" xml:space="preserve">
|
||||
<value>svuotamento</value>
|
||||
</data>
|
||||
<data name="Bench_chdr" xml:space="preserve">
|
||||
<value>banco</value>
|
||||
</data>
|
||||
<data name="Err_cor_neg_pct_chdr" xml:space="preserve">
|
||||
<value>correzione errore - [%]</value>
|
||||
</data>
|
||||
<data name="Err_cor_pos_pct_chdr" xml:space="preserve">
|
||||
<value>correzione errore + [%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_neg_pct_chdr" xml:space="preserve">
|
||||
<value>limite errore - [%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_pos_pct_chdr" xml:space="preserve">
|
||||
<value>limite errore + [%]</value>
|
||||
</data>
|
||||
<data name="Feeding_chdr" xml:space="preserve">
|
||||
<value>alimentazione</value>
|
||||
</data>
|
||||
<data name="Red_type_chdr" xml:space="preserve">
|
||||
<value>tipo rosso</value>
|
||||
</data>
|
||||
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
|
||||
<value>errore durante la creazione del data base , motivi:</value>
|
||||
</data>
|
||||
<data name="Metrology" xml:space="preserve">
|
||||
<value>metrologia</value>
|
||||
</data>
|
||||
<data name="_offline" xml:space="preserve">
|
||||
<value>(disconnesso)</value>
|
||||
</data>
|
||||
<data name="Administrator" xml:space="preserve">
|
||||
<value>Amministratore</value>
|
||||
</data>
|
||||
<data name="Calibration_Specialist" xml:space="preserve">
|
||||
<value>esperto di calibrazione</value>
|
||||
</data>
|
||||
<data name="Head_of_Lab" xml:space="preserve">
|
||||
<value>capo del laboratorio</value>
|
||||
</data>
|
||||
<data name="Maintenance_Specialist" xml:space="preserve">
|
||||
<value>esperto in manutenzione</value>
|
||||
</data>
|
||||
<data name="Metrologist" xml:space="preserve">
|
||||
<value>metrologista</value>
|
||||
</data>
|
||||
<data name="Close_emptying_valve" xml:space="preserve">
|
||||
<value>chiudere la valvola di svuotamento</value>
|
||||
</data>
|
||||
<data name="Get_mass_of_water_in_the_tank" xml:space="preserve">
|
||||
<value>prendi la massa d'acqua nel serbatoio</value>
|
||||
</data>
|
||||
<data name="Ignore" xml:space="preserve">
|
||||
<value>Ignora</value>
|
||||
</data>
|
||||
<data name="Loading_the_procedure" xml:space="preserve">
|
||||
<value>scarica la procedura</value>
|
||||
</data>
|
||||
<data name="Make_tank_empty" xml:space="preserve">
|
||||
<value>svuotare il serbatoio</value>
|
||||
</data>
|
||||
<data name="Measure_the_mass" xml:space="preserve">
|
||||
<value>misura la massa</value>
|
||||
</data>
|
||||
<data name="Ready" xml:space="preserve">
|
||||
<value>pronto</value>
|
||||
</data>
|
||||
<data name="BackBtnText" xml:space="preserve">
|
||||
<value>< indietro</value>
|
||||
</data>
|
||||
<data name="FinishBtnText" xml:space="preserve">
|
||||
<value>finire</value>
|
||||
</data>
|
||||
<data name="NextBtnText" xml:space="preserve">
|
||||
<value>avanti ></value>
|
||||
</data>
|
||||
<data name="Flow_selection" xml:space="preserve">
|
||||
<value>selezionare il flusso</value>
|
||||
</data>
|
||||
<data name="Method_chdr" xml:space="preserve">
|
||||
<value>metodo di prova</value>
|
||||
</data>
|
||||
<data name="RelativeQfrom" xml:space="preserve">
|
||||
<value>Q relativo da</value>
|
||||
</data>
|
||||
<data name="RelativeQto" xml:space="preserve">
|
||||
<value>Q relativo a</value>
|
||||
</data>
|
||||
<data name="Combined_meters" xml:space="preserve">
|
||||
<value>misuratori combinati</value>
|
||||
</data>
|
||||
<data name="DetectionThresholdPct" xml:space="preserve">
|
||||
<value>soglia di rilevazione [%]</value>
|
||||
</data>
|
||||
<data name="RateOfChangePct" xml:space="preserve">
|
||||
<value>tasso di cambio [%]</value>
|
||||
</data>
|
||||
<data name="Component" xml:space="preserve">
|
||||
<value>componenti</value>
|
||||
</data>
|
||||
<data name="_none_" xml:space="preserve">
|
||||
<value><none></value>
|
||||
</data>
|
||||
<data name="Method_selection" xml:space="preserve">
|
||||
<value>selezione del metodo di prova</value>
|
||||
</data>
|
||||
<data name="Clear_results" xml:space="preserve">
|
||||
<value>cancella risultati</value>
|
||||
</data>
|
||||
<data name="Configure" xml:space="preserve">
|
||||
<value>configurare</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_meters" xml:space="preserve">
|
||||
<value>disposizioni di misuratori testati</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_tests" xml:space="preserve">
|
||||
<value>disposizione dei test</value>
|
||||
</data>
|
||||
<data name="Horizontally" xml:space="preserve">
|
||||
<value>orizzontalmente</value>
|
||||
</data>
|
||||
<data name="Configuration" xml:space="preserve">
|
||||
<value>configurazione</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="ClearBtnText" xml:space="preserve">
|
||||
<value>chiaro</value>
|
||||
</data>
|
||||
<data name="Emptying_tank" xml:space="preserve">
|
||||
<value>svuotare il serbatorio</value>
|
||||
</data>
|
||||
<data name="Measuring_the_weight" xml:space="preserve">
|
||||
<value>misurazione del peso</value>
|
||||
</data>
|
||||
<data name="Emptying_i_n" xml:space="preserve">
|
||||
<value>svuotamento {0}: passo {1}/{2}</value>
|
||||
</data>
|
||||
<data name="Activity" xml:space="preserve">
|
||||
<value>Attività</value>
|
||||
</data>
|
||||
<data name="Approval_info" xml:space="preserve">
|
||||
<value>Info approvazione</value>
|
||||
</data>
|
||||
<data name="Metrological_class" xml:space="preserve">
|
||||
<value>classe metrologica</value>
|
||||
</data>
|
||||
<data name="Producer" xml:space="preserve">
|
||||
<value>produttore</value>
|
||||
</data>
|
||||
<data name="Printer" xml:space="preserve">
|
||||
<value>stampante</value>
|
||||
</data>
|
||||
<data name="Version" xml:space="preserve">
|
||||
<value>versione</value>
|
||||
</data>
|
||||
<data name="nothing_to_configure" xml:space="preserve">
|
||||
<value><niente da configurare></value>
|
||||
</data>
|
||||
<data name="Fill_with_water" xml:space="preserve">
|
||||
<value>riempire il banco prova con acqua?</value>
|
||||
</data>
|
||||
<data name="NoBtn" xml:space="preserve">
|
||||
<value>no</value>
|
||||
</data>
|
||||
<data name="Question" xml:space="preserve">
|
||||
<value>domanda</value>
|
||||
</data>
|
||||
<data name="Bench_parameters" xml:space="preserve">
|
||||
<value>parametri del banco</value>
|
||||
</data>
|
||||
<data name="Connection_string" xml:space="preserve">
|
||||
<value>stringa di connessione</value>
|
||||
</data>
|
||||
<data name="Create_DB" xml:space="preserve">
|
||||
<value>Crea DB</value>
|
||||
</data>
|
||||
<data name="Database_type" xml:space="preserve">
|
||||
<value>tipo di database</value>
|
||||
</data>
|
||||
<data name="Logging" xml:space="preserve">
|
||||
<value>registrazione</value>
|
||||
</data>
|
||||
<data name="Mode" xml:space="preserve">
|
||||
<value>modalità</value>
|
||||
</data>
|
||||
<data name="NewTabBtnText" xml:space="preserve">
|
||||
<value>nuova scheda</value>
|
||||
</data>
|
||||
<data name="New_transition_name" xml:space="preserve">
|
||||
<value>nuovo nome di transizione</value>
|
||||
</data>
|
||||
<data name="Detection_completed" xml:space="preserve">
|
||||
<value>rilevazione completata</value>
|
||||
</data>
|
||||
<data name="Emergency_STOP" xml:space="preserve">
|
||||
<value>STOP di emergenza</value>
|
||||
</data>
|
||||
<data name="Add" xml:space="preserve">
|
||||
<value>&Aggiungi ></value>
|
||||
</data>
|
||||
<data name="Available_results" xml:space="preserve">
|
||||
<value>Risultati disponibili:</value>
|
||||
</data>
|
||||
<data name="Remove" xml:space="preserve">
|
||||
<value>< &rimuovere</value>
|
||||
</data>
|
||||
<data name="Remove_all" xml:space="preserve">
|
||||
<value>r&imuovere tutto</value>
|
||||
</data>
|
||||
<data name="Message" xml:space="preserve">
|
||||
<value>messaggio</value>
|
||||
</data>
|
||||
<data name="dflt" xml:space="preserve">
|
||||
<value>dflt</value>
|
||||
</data>
|
||||
<data name="Detection_failed" xml:space="preserve">
|
||||
<value>rilevazione fallita</value>
|
||||
</data>
|
||||
<data name="Camera_error" xml:space="preserve">
|
||||
<value>errore della fotocamera</value>
|
||||
</data>
|
||||
<data name="remaining_time" xml:space="preserve">
|
||||
<value>tempo restante</value>
|
||||
</data>
|
||||
<data name="LessBtnText" xml:space="preserve">
|
||||
<value>di meno</value>
|
||||
</data>
|
||||
<data name="MoreBtnText" xml:space="preserve">
|
||||
<value>di più</value>
|
||||
</data>
|
||||
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>le modifiche andranno perse vuoi procedere?</value>
|
||||
</data>
|
||||
<data name="Flowmeter" xml:space="preserve">
|
||||
<value>misuratore di flusso</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>combinato</value>
|
||||
</data>
|
||||
<data name="Device" xml:space="preserve">
|
||||
<value>Dispositivo</value>
|
||||
</data>
|
||||
<data name="PrinterBtnText" xml:space="preserve">
|
||||
<value>stampante</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter" xml:space="preserve">
|
||||
<value>contatore acqua ausiliario</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter_State" xml:space="preserve">
|
||||
<value>stato contatore acqua ausiliario</value>
|
||||
</data>
|
||||
<data name="Data" xml:space="preserve">
|
||||
<value>dati</value>
|
||||
</data>
|
||||
<data name="End_State" xml:space="preserve">
|
||||
<value>fine stato</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter" xml:space="preserve">
|
||||
<value>contatore acqua principale</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter_State" xml:space="preserve">
|
||||
<value>stato contatore acqua principale</value>
|
||||
</data>
|
||||
<data name="Protocol" xml:space="preserve">
|
||||
<value>protocollo</value>
|
||||
</data>
|
||||
<data name="Serial_Number" xml:space="preserve">
|
||||
<value>Numero Seriale</value>
|
||||
</data>
|
||||
<data name="Aux_WM_SerialNr" xml:space="preserve">
|
||||
<value>numero seriale contatore acqua ausiliario</value>
|
||||
</data>
|
||||
<data name="Main_WM_SerialNr" xml:space="preserve">
|
||||
<value>numero seriale contatore acqua principale</value>
|
||||
</data>
|
||||
<data name="Adjustment_in_progress" xml:space="preserve">
|
||||
<value>aggiustamento in corso</value>
|
||||
</data>
|
||||
<data name="Error_pct" xml:space="preserve">
|
||||
<value>Errore [%]</value>
|
||||
</data>
|
||||
<data name="Duration_Leak_s" xml:space="preserve">
|
||||
<value>durata delle perdite [s]</value>
|
||||
</data>
|
||||
<data name="Duration_PMax_s" xml:space="preserve">
|
||||
<value>durata portata massima [s]</value>
|
||||
</data>
|
||||
<data name="Closing_valve_Pump_off" xml:space="preserve">
|
||||
<value>chiudere la valvola di ingresso spegnendo la pompa</value>
|
||||
</data>
|
||||
<data name="Purchase_Order" xml:space="preserve">
|
||||
<value>ordine acquisto</value>
|
||||
</data>
|
||||
<data name="Ambient_humidity_" xml:space="preserve">
|
||||
<value>Umidità dell'ambiente:</value>
|
||||
</data>
|
||||
<data name="Ambient_pressure_" xml:space="preserve">
|
||||
<value>Pressione dell'ambiente:</value>
|
||||
</data>
|
||||
<data name="Ambient_temperature_" xml:space="preserve">
|
||||
<value>Temperatura dell'ambiente:</value>
|
||||
</data>
|
||||
<data name="Approval_" xml:space="preserve">
|
||||
<value>Approvazione:</value>
|
||||
</data>
|
||||
<data name="Date_and_time_" xml:space="preserve">
|
||||
<value>Data e ora:</value>
|
||||
</data>
|
||||
<data name="End" xml:space="preserve">
|
||||
<value>Fine</value>
|
||||
</data>
|
||||
<data name="AtTemperature_C" xml:space="preserve">
|
||||
<value>@temperatura [gradiC]</value>
|
||||
</data>
|
||||
<data name="Density_kg_m3" xml:space="preserve">
|
||||
<value>densità [kg/m3]</value>
|
||||
</data>
|
||||
<data name="Density" xml:space="preserve">
|
||||
<value>densità</value>
|
||||
</data>
|
||||
<data name="Nr_meters_in_a_group" xml:space="preserve">
|
||||
<value>numero contatori di un gruppo:</value>
|
||||
</data>
|
||||
<data name="End_Condition" xml:space="preserve">
|
||||
<value>condizioni finali</value>
|
||||
</data>
|
||||
<data name="Communication" xml:space="preserve">
|
||||
<value>Comunicazione</value>
|
||||
</data>
|
||||
<data name="Aux_" xml:space="preserve">
|
||||
<value>ausiliario:</value>
|
||||
</data>
|
||||
<data name="Main_" xml:space="preserve">
|
||||
<value>principale:</value>
|
||||
</data>
|
||||
<data name="cold" xml:space="preserve">
|
||||
<value>freddo</value>
|
||||
</data>
|
||||
<data name="hot" xml:space="preserve">
|
||||
<value>caldo</value>
|
||||
</data>
|
||||
<data name="Product_name" xml:space="preserve">
|
||||
<value>nome prodotto</value>
|
||||
</data>
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Indirizzo</value>
|
||||
</data>
|
||||
<data name="Approval_date" xml:space="preserve">
|
||||
<value>Data di approvazione</value>
|
||||
</data>
|
||||
<data name="Approval_ID" xml:space="preserve">
|
||||
<value>ID approvazione</value>
|
||||
</data>
|
||||
<data name="Approved_by" xml:space="preserve">
|
||||
<value>Approvato da</value>
|
||||
</data>
|
||||
<data name="Evaluate" xml:space="preserve">
|
||||
<value>Valuta</value>
|
||||
</data>
|
||||
<data name="iPerl_Communication_in_progress" xml:space="preserve">
|
||||
<value>iPerl comunicazione in corso</value>
|
||||
</data>
|
||||
<data name="Language" xml:space="preserve">
|
||||
<value>lingua</value>
|
||||
</data>
|
||||
<data name="Available_Components_" xml:space="preserve">
|
||||
<value>componenti disponibili:</value>
|
||||
</data>
|
||||
<data name="Database_Settings" xml:space="preserve">
|
||||
<value>impostazioni del data base</value>
|
||||
</data>
|
||||
<data name="About_Test_Bench_Framework" xml:space="preserve">
|
||||
<value>informazioni circa la prova del banco </value>
|
||||
</data>
|
||||
<data name="BuildDateStr" xml:space="preserve">
|
||||
<value>data di costruzione _BUILD_DATE_</value>
|
||||
</data>
|
||||
<data name="CopyrightStr" xml:space="preserve">
|
||||
<value>Copyright © 2013 - {0}</value>
|
||||
</data>
|
||||
<data name="Edit_User" xml:space="preserve">
|
||||
<value>Copyright © 2013 - {0}</value>
|
||||
</data>
|
||||
<data name="Groups" xml:space="preserve">
|
||||
<value>gruppi</value>
|
||||
</data>
|
||||
<data name="An_unhandled_error_occured" xml:space="preserve">
|
||||
<value>Si è verificato un errore imprevisto</value>
|
||||
</data>
|
||||
<data name="IgnoreBtnText" xml:space="preserve">
|
||||
<value>Ignora</value>
|
||||
</data>
|
||||
<data name="Add_filter" xml:space="preserve">
|
||||
<value>aggiungi filtro</value>
|
||||
</data>
|
||||
@@ -219,6 +732,18 @@
|
||||
<data name="RetryDatabaseText" xml:space="preserve">
|
||||
<value>riprova</value>
|
||||
</data>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>selezionare risultati</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>singolo</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>sbloccare</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>contatore acqua</value>
|
||||
</data>
|
||||
<data name="Date" xml:space="preserve">
|
||||
<value>Data </value>
|
||||
</data>
|
||||
|
||||
@@ -117,66 +117,579 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Confirmation" xml:space="preserve">
|
||||
<value>Potwierdzenie</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_save_the_procedure" xml:space="preserve">
|
||||
<value>Zachować procedurę ?</value>
|
||||
</data>
|
||||
<data name="Error" xml:space="preserve">
|
||||
<value>Błąd</value>
|
||||
</data>
|
||||
<data name="Error_loading_users_from_the_database" xml:space="preserve">
|
||||
<value>Błąd przy ładowaniu użytkowników z bazy danych:</value>
|
||||
</data>
|
||||
<data name="Failed_to_create_a_sample_database" xml:space="preserve">
|
||||
<value>Nie udało się utworzyć bazy danych:</value>
|
||||
</data>
|
||||
<data name="Failed_to_export_the_database" xml:space="preserve">
|
||||
<value>Nie powódł się eksport bazy danych:</value>
|
||||
</data>
|
||||
<data name="Invalid_user_password_or_bench" xml:space="preserve">
|
||||
<value>Niezgodny użytkownik, hasło lub stanowisko</value>
|
||||
</data>
|
||||
<data name="Test_bench" xml:space="preserve">
|
||||
<value>Stanowisko pomiarowe</value>
|
||||
</data>
|
||||
<data name="MaxChars" xml:space="preserve">
|
||||
<value>Max._X_znaków alfanumerycznych </value>
|
||||
</data>
|
||||
<data name="close" xml:space="preserve">
|
||||
<value>Zamknąć</value>
|
||||
</data>
|
||||
<data name="Diverter" xml:space="preserve">
|
||||
<value>Zawór</value>
|
||||
</data>
|
||||
<data name="Emptying_valve" xml:space="preserve">
|
||||
<value>Zawór spustowy</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Imię</value>
|
||||
</data>
|
||||
<data name="Reference" xml:space="preserve">
|
||||
<value>Odniesienie</value>
|
||||
</data>
|
||||
<data name="Reg_valve" xml:space="preserve">
|
||||
<value>Zawór regulacyjny</value>
|
||||
</data>
|
||||
<data name="Balance" xml:space="preserve">
|
||||
<value>Waga</value>
|
||||
</data>
|
||||
<data name="Duration_s" xml:space="preserve">
|
||||
<value>Czas trwania [s]</value>
|
||||
</data>
|
||||
<data name="no" xml:space="preserve">
|
||||
<value>nie</value>
|
||||
</data>
|
||||
<data name="New_bench_path_name" xml:space="preserve">
|
||||
<value>P stanowisko</value>
|
||||
</data>
|
||||
<data name="New_feeding_path_name" xml:space="preserve">
|
||||
<value>P zasilania</value>
|
||||
</data>
|
||||
<data name="New_output_path_name" xml:space="preserve">
|
||||
<value>PQ</value>
|
||||
</data>
|
||||
<data name="New_procedure_name" xml:space="preserve">
|
||||
<value>Procedura</value>
|
||||
</data>
|
||||
<data name="New_sensors_path_name" xml:space="preserve">
|
||||
<value>P czujnków</value>
|
||||
</data>
|
||||
<data name="New_test_name" xml:space="preserve">
|
||||
<value>Test</value>
|
||||
</data>
|
||||
<data name="New_name_copy" xml:space="preserve">
|
||||
<value>-Kopiuj'</value>
|
||||
</data>
|
||||
<data name="Correction_g" xml:space="preserve">
|
||||
<value>Korekcja [r]</value>
|
||||
</data>
|
||||
<data name="Nr" xml:space="preserve">
|
||||
<value>Nr</value>
|
||||
</data>
|
||||
<data name="Mass_kg" xml:space="preserve">
|
||||
<value>Masa [kg]</value>
|
||||
</data>
|
||||
<data name="AddBtnText" xml:space="preserve">
|
||||
<value>Dodać</value>
|
||||
</data>
|
||||
<data name="CancelBtnText" xml:space="preserve">
|
||||
<value>Anuluj</value>
|
||||
</data>
|
||||
<data name="CloseBtnText" xml:space="preserve">
|
||||
<value>Zamknąć</value>
|
||||
</data>
|
||||
<data name="LockBtnText" xml:space="preserve">
|
||||
<value>Zablokować </value>
|
||||
</data>
|
||||
<data name="RemoveBtnText" xml:space="preserve">
|
||||
<value>Usunąć</value>
|
||||
</data>
|
||||
<data name="OkBtnText" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Correction_lph" xml:space="preserve">
|
||||
<value>Korekcja [l/h]</value>
|
||||
</data>
|
||||
<data name="Correction_mbar" xml:space="preserve">
|
||||
<value>Korekcja [mBar]</value>
|
||||
</data>
|
||||
<data name="Flow_m3h" xml:space="preserve">
|
||||
<value>Przepływ [m3/h]</value>
|
||||
</data>
|
||||
<data name="Invalid_username_or_password" xml:space="preserve">
|
||||
<value>Nieprawidłowa nazwa użytkownika lub hasło</value>
|
||||
</data>
|
||||
<data name="CopyBtnText" xml:space="preserve">
|
||||
<value>Kupiuj</value>
|
||||
</data>
|
||||
<data name="DownBtnText" xml:space="preserve">
|
||||
<value>Na dół </value>
|
||||
</data>
|
||||
<data name="EditBtnText" xml:space="preserve">
|
||||
<value>Redagować</value>
|
||||
</data>
|
||||
<data name="UpBtnText" xml:space="preserve">
|
||||
<value>Do góry</value>
|
||||
</data>
|
||||
<data name="NoDatabaseMsg" xml:space="preserve">
|
||||
<value>Nie udane połaczenie z bazą danych</value>
|
||||
</data>
|
||||
<data name="ConfigureDatabaseText" xml:space="preserve">
|
||||
<value>Konfiguracja testowa (wymagane hasło)</value>
|
||||
</data>
|
||||
<data name="ExitBtnText" xml:space="preserve">
|
||||
<value>Wyjście</value>
|
||||
</data>
|
||||
<data name="Enter_password" xml:space="preserve">
|
||||
<value>Wprowadź hasło</value>
|
||||
</data>
|
||||
<data name="Invalid_password" xml:space="preserve">
|
||||
<value>Nieprawidłowe hasło</value>
|
||||
</data>
|
||||
<data name="Bench_name_conflict_Use_another_name_pls" xml:space="preserve">
|
||||
<value>Nazwa stanowiska nieprawidłowa, użyj innej nazwy</value>
|
||||
</data>
|
||||
<data name="DB_was_successfully_created" xml:space="preserve">
|
||||
<value>Utworzono bazę danych !</value>
|
||||
</data>
|
||||
<data name="DB_will_be_overwritten" xml:space="preserve">
|
||||
<value>Baza danych zostanie nadpisana</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Chcesz kontynuować ?</value>
|
||||
</data>
|
||||
<data name="Notification" xml:space="preserve">
|
||||
<value>Powiadomienie</value>
|
||||
</data>
|
||||
<data name="NoBenchMsg" xml:space="preserve">
|
||||
<value>W konfiguracji oprogramowania nie ma stanowiska </value>
|
||||
</data>
|
||||
<data name="DescriptionColHdr" xml:space="preserve">
|
||||
<value>Opis</value>
|
||||
</data>
|
||||
<data name="Procedure" xml:space="preserve">
|
||||
<value>Procedura</value>
|
||||
</data>
|
||||
<data name="Test" xml:space="preserve">
|
||||
<value>Test</value>
|
||||
</data>
|
||||
<data name="Corrected" xml:space="preserve">
|
||||
<value>Poprawiono</value>
|
||||
</data>
|
||||
<data name="Measured" xml:space="preserve">
|
||||
<value>Zmierzono</value>
|
||||
</data>
|
||||
<data name="Bench_is_not_running" xml:space="preserve">
|
||||
<value>Stanowisko nie jest włączone ale można dokonać korekty nastaw dla usunięcia tego błedu.</value>
|
||||
</data>
|
||||
<data name="Emptying_chdr" xml:space="preserve">
|
||||
<value>Spust</value>
|
||||
</data>
|
||||
<data name="Bench_chdr" xml:space="preserve">
|
||||
<value>Stanowisko</value>
|
||||
</data>
|
||||
<data name="Err_cor_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Błąd kor. - [%]</value>
|
||||
</data>
|
||||
<data name="Err_cor_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Błąd kor. +[%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Błąd limit - [%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Błąd limit + [%]</value>
|
||||
</data>
|
||||
<data name="Feeding_chdr" xml:space="preserve">
|
||||
<value>Zasilanie</value>
|
||||
</data>
|
||||
<data name="Red_type_chdr" xml:space="preserve">
|
||||
<value>Red. Type</value>
|
||||
</data>
|
||||
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
|
||||
<value>Błąd przy tworzeniu bazy danych. Przyczyna:</value>
|
||||
</data>
|
||||
<data name="Metrology" xml:space="preserve">
|
||||
<value>Metrologia</value>
|
||||
</data>
|
||||
<data name="_offline" xml:space="preserve">
|
||||
<value>Ofline</value>
|
||||
</data>
|
||||
<data name="Administrator" xml:space="preserve">
|
||||
<value>Administrator</value>
|
||||
</data>
|
||||
<data name="Calibration_Specialist" xml:space="preserve">
|
||||
<value>Specjalista ds. kalibracji</value>
|
||||
</data>
|
||||
<data name="Head_of_Lab" xml:space="preserve">
|
||||
<value>Kierownik laboratorium</value>
|
||||
</data>
|
||||
<data name="Maintenance_Specialist" xml:space="preserve">
|
||||
<value>Konserwator</value>
|
||||
</data>
|
||||
<data name="Metrologist" xml:space="preserve">
|
||||
<value>Metrolog</value>
|
||||
</data>
|
||||
<data name="Close_emptying_valve" xml:space="preserve">
|
||||
<value>Zamknąć zawór spustowy</value>
|
||||
</data>
|
||||
<data name="Get_mass_of_water_in_the_tank" xml:space="preserve">
|
||||
<value>Uzyskaj masę wody w zbiorniku</value>
|
||||
</data>
|
||||
<data name="Ignore" xml:space="preserve">
|
||||
<value>Wyłączyć</value>
|
||||
</data>
|
||||
<data name="Loading_the_procedure" xml:space="preserve">
|
||||
<value>Procedura ładowania</value>
|
||||
</data>
|
||||
<data name="Make_tank_empty" xml:space="preserve">
|
||||
<value>Opróżnić zbiornik</value>
|
||||
</data>
|
||||
<data name="Measure_the_mass" xml:space="preserve">
|
||||
<value>Pomiar masy</value>
|
||||
</data>
|
||||
<data name="Ready" xml:space="preserve">
|
||||
<value>Gotowe</value>
|
||||
</data>
|
||||
<data name="BackBtnText" xml:space="preserve">
|
||||
<value>< z powrotem</value>
|
||||
</data>
|
||||
<data name="FinishBtnText" xml:space="preserve">
|
||||
<value>Koniec</value>
|
||||
</data>
|
||||
<data name="NextBtnText" xml:space="preserve">
|
||||
<value>Następny ></value>
|
||||
</data>
|
||||
<data name="Flow_selection" xml:space="preserve">
|
||||
<value>Wybór przypływu</value>
|
||||
</data>
|
||||
<data name="Method_chdr" xml:space="preserve">
|
||||
<value>Metoda badania</value>
|
||||
</data>
|
||||
<data name="RelativeQfrom" xml:space="preserve">
|
||||
<value>Q względne od</value>
|
||||
</data>
|
||||
<data name="RelativeQto" xml:space="preserve">
|
||||
<value>Q względne do</value>
|
||||
</data>
|
||||
<data name="Combined_meters" xml:space="preserve">
|
||||
<value>Wodomierze sprzężone</value>
|
||||
</data>
|
||||
<data name="DetectionThresholdPct" xml:space="preserve">
|
||||
<value>Próg detekcji [%]</value>
|
||||
</data>
|
||||
<data name="RateOfChangePct" xml:space="preserve">
|
||||
<value>Prędkość zmiany [%]</value>
|
||||
</data>
|
||||
<data name="Component" xml:space="preserve">
|
||||
<value>Element</value>
|
||||
</data>
|
||||
<data name="_none_" xml:space="preserve">
|
||||
<value><nie></value>
|
||||
</data>
|
||||
<data name="Method_selection" xml:space="preserve">
|
||||
<value>Wybór metody badania</value>
|
||||
</data>
|
||||
<data name="Clear_results" xml:space="preserve">
|
||||
<value>Usunąć wyniki</value>
|
||||
</data>
|
||||
<data name="Configure" xml:space="preserve">
|
||||
<value>Konfigurować</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_meters" xml:space="preserve">
|
||||
<value>Połozenie badanych liczników</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_tests" xml:space="preserve">
|
||||
<value>Położenie badań</value>
|
||||
</data>
|
||||
<data name="Horizontally" xml:space="preserve">
|
||||
<value>Poziomo</value>
|
||||
</data>
|
||||
<data name="Configuration" xml:space="preserve">
|
||||
<value>Konfiguracja</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="ClearBtnText" xml:space="preserve">
|
||||
<value>Usunąć</value>
|
||||
</data>
|
||||
<data name="Emptying_tank" xml:space="preserve">
|
||||
<value>Opróżnianie zbiornika</value>
|
||||
</data>
|
||||
<data name="Measuring_the_weight" xml:space="preserve">
|
||||
<value>Pomair wagi</value>
|
||||
</data>
|
||||
<data name="Emptying_i_n" xml:space="preserve">
|
||||
<value>Spust ({0}: krok {1} / {2}</value>
|
||||
</data>
|
||||
<data name="Activity" xml:space="preserve">
|
||||
<value>Aktywny</value>
|
||||
</data>
|
||||
<data name="Approval_info" xml:space="preserve">
|
||||
<value>Informacja o zatwierdzeniu</value>
|
||||
</data>
|
||||
<data name="Metrological_class" xml:space="preserve">
|
||||
<value>Klasa metrologiczna</value>
|
||||
</data>
|
||||
<data name="Producer" xml:space="preserve">
|
||||
<value>Producent</value>
|
||||
</data>
|
||||
<data name="Printer" xml:space="preserve">
|
||||
<value>Drukarka</value>
|
||||
</data>
|
||||
<data name="Version" xml:space="preserve">
|
||||
<value>Wersja</value>
|
||||
</data>
|
||||
<data name="nothing_to_configure" xml:space="preserve">
|
||||
<value><nie konfigurować></value>
|
||||
</data>
|
||||
<data name="Fill_with_water" xml:space="preserve">
|
||||
<value>Napełnić stanowisko wodą ?</value>
|
||||
</data>
|
||||
<data name="NoBtn" xml:space="preserve">
|
||||
<value>Nie</value>
|
||||
</data>
|
||||
<data name="Question" xml:space="preserve">
|
||||
<value>Pytanie</value>
|
||||
</data>
|
||||
<data name="Bench_parameters" xml:space="preserve">
|
||||
<value>Parametry stanowiska</value>
|
||||
</data>
|
||||
<data name="Connection_string" xml:space="preserve">
|
||||
<value>Parametry połączenia</value>
|
||||
</data>
|
||||
<data name="Create_DB" xml:space="preserve">
|
||||
<value>Utwórz DB</value>
|
||||
</data>
|
||||
<data name="Database_type" xml:space="preserve">
|
||||
<value>Typ bazy danych</value>
|
||||
</data>
|
||||
<data name="Logging" xml:space="preserve">
|
||||
<value>Logowanie</value>
|
||||
</data>
|
||||
<data name="Mode" xml:space="preserve">
|
||||
<value>Cykl pracy</value>
|
||||
</data>
|
||||
<data name="NewTabBtnText" xml:space="preserve">
|
||||
<value>Nowa Tab</value>
|
||||
</data>
|
||||
<data name="New_transition_name" xml:space="preserve">
|
||||
<value>Nowa nazwa przejścia</value>
|
||||
</data>
|
||||
<data name="Detection_completed" xml:space="preserve">
|
||||
<value>Wykrywanie zakończono</value>
|
||||
</data>
|
||||
<data name="Emergency_STOP" xml:space="preserve">
|
||||
<value>Zatrzymanie awaryjne</value>
|
||||
</data>
|
||||
<data name="Add" xml:space="preserve">
|
||||
<value>&Dodać ></value>
|
||||
</data>
|
||||
<data name="Available_results" xml:space="preserve">
|
||||
<value>Dostępne wyniki:</value>
|
||||
</data>
|
||||
<data name="Remove" xml:space="preserve">
|
||||
<value><&Usunąć</value>
|
||||
</data>
|
||||
<data name="Remove_all" xml:space="preserve">
|
||||
<value><<Usunąć wszystko</value>
|
||||
</data>
|
||||
<data name="Message" xml:space="preserve">
|
||||
<value>Wiadomość</value>
|
||||
</data>
|
||||
<data name="dflt" xml:space="preserve">
|
||||
<value>dflt</value>
|
||||
</data>
|
||||
<data name="Detection_failed" xml:space="preserve">
|
||||
<value>Nie udana próba wykrywania</value>
|
||||
</data>
|
||||
<data name="Camera_error" xml:space="preserve">
|
||||
<value>Błąd kamery</value>
|
||||
</data>
|
||||
<data name="remaining_time" xml:space="preserve">
|
||||
<value>pozostały czas</value>
|
||||
</data>
|
||||
<data name="LessBtnText" xml:space="preserve">
|
||||
<value>Mniej</value>
|
||||
</data>
|
||||
<data name="MoreBtnText" xml:space="preserve">
|
||||
<value>Więcej</value>
|
||||
</data>
|
||||
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Zmiany zostaną stracone. Chcesz kontynuować ?</value>
|
||||
</data>
|
||||
<data name="Flowmeter" xml:space="preserve">
|
||||
<value>Przepływomierz</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>Sprzężony</value>
|
||||
</data>
|
||||
<data name="Device" xml:space="preserve">
|
||||
<value>Urządzenie</value>
|
||||
</data>
|
||||
<data name="PrinterBtnText" xml:space="preserve">
|
||||
<value>Drukarka</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter" xml:space="preserve">
|
||||
<value>Wodomierz dodatkowy</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter_State" xml:space="preserve">
|
||||
<value>Stan dodatkowego wodomierza</value>
|
||||
</data>
|
||||
<data name="Data" xml:space="preserve">
|
||||
<value>Dane</value>
|
||||
</data>
|
||||
<data name="End_State" xml:space="preserve">
|
||||
<value>Stan końcowy</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter" xml:space="preserve">
|
||||
<value>Główny wodomierz</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter_State" xml:space="preserve">
|
||||
<value>Stan wodomierza głównego</value>
|
||||
</data>
|
||||
<data name="Protocol" xml:space="preserve">
|
||||
<value>Zapiska</value>
|
||||
</data>
|
||||
<data name="Serial_Number" xml:space="preserve">
|
||||
<value>Nr seryjny</value>
|
||||
</data>
|
||||
<data name="Aux_WM_SerialNr" xml:space="preserve">
|
||||
<value>Nr seryjny dodatkowego wodomierza</value>
|
||||
</data>
|
||||
<data name="Main_WM_SerialNr" xml:space="preserve">
|
||||
<value>Nr seryjny głównego wodomierza</value>
|
||||
</data>
|
||||
<data name="Adjustment_in_progress" xml:space="preserve">
|
||||
<value>Regulacja trwa</value>
|
||||
</data>
|
||||
<data name="Error_pct" xml:space="preserve">
|
||||
<value>Błąd [%]</value>
|
||||
</data>
|
||||
<data name="Duration_Leak_s" xml:space="preserve">
|
||||
<value>Czas trwania przepływu [s]</value>
|
||||
</data>
|
||||
<data name="Duration_PMax_s" xml:space="preserve">
|
||||
<value>Czas trwania Pmax [s]</value>
|
||||
</data>
|
||||
<data name="Closing_valve_Pump_off" xml:space="preserve">
|
||||
<value>Zamnięcie zaworu zasilania, wyłączenie pompy</value>
|
||||
</data>
|
||||
<data name="Purchase_Order" xml:space="preserve">
|
||||
<value>Zamówienie</value>
|
||||
</data>
|
||||
<data name="Ambient_humidity_" xml:space="preserve">
|
||||
<value>Wilgotność względna otoczenia</value>
|
||||
</data>
|
||||
<data name="Ambient_pressure_" xml:space="preserve">
|
||||
<value>Ciśnienie względne:</value>
|
||||
</data>
|
||||
<data name="Ambient_temperature_" xml:space="preserve">
|
||||
<value>Temperatura otoczenia:</value>
|
||||
</data>
|
||||
<data name="Approval_" xml:space="preserve">
|
||||
<value>Zatwierdzenie:</value>
|
||||
</data>
|
||||
<data name="Date_and_time_" xml:space="preserve">
|
||||
<value>Data i czas:</value>
|
||||
</data>
|
||||
<data name="End" xml:space="preserve">
|
||||
<value>Koniec</value>
|
||||
</data>
|
||||
<data name="AtTemperature_C" xml:space="preserve">
|
||||
<value>@temperatura [degC]</value>
|
||||
</data>
|
||||
<data name="Density_kg_m3" xml:space="preserve">
|
||||
<value>Gęstość [kg/m3]</value>
|
||||
</data>
|
||||
<data name="Density" xml:space="preserve">
|
||||
<value>Gęstość</value>
|
||||
</data>
|
||||
<data name="Nr_meters_in_a_group" xml:space="preserve">
|
||||
<value>Nr liczników w grupie</value>
|
||||
</data>
|
||||
<data name="End_Condition" xml:space="preserve">
|
||||
<value>Stan końcowy</value>
|
||||
</data>
|
||||
<data name="Communication" xml:space="preserve">
|
||||
<value>Połączenie</value>
|
||||
</data>
|
||||
<data name="Aux_" xml:space="preserve">
|
||||
<value>Dodadkowy</value>
|
||||
</data>
|
||||
<data name="Main_" xml:space="preserve">
|
||||
<value>Główny</value>
|
||||
</data>
|
||||
<data name="cold" xml:space="preserve">
|
||||
<value>zimna</value>
|
||||
</data>
|
||||
<data name="hot" xml:space="preserve">
|
||||
<value>ciepła</value>
|
||||
</data>
|
||||
<data name="Product_name" xml:space="preserve">
|
||||
<value>Nazwa produktu</value>
|
||||
</data>
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Adres</value>
|
||||
</data>
|
||||
<data name="Approval_date" xml:space="preserve">
|
||||
<value>Data zatwierdzenia</value>
|
||||
</data>
|
||||
<data name="Approval_ID" xml:space="preserve">
|
||||
<value>ID Zatwierdzenia</value>
|
||||
</data>
|
||||
<data name="Approved_by" xml:space="preserve">
|
||||
<value>Zatwierdzono</value>
|
||||
</data>
|
||||
<data name="Evaluate" xml:space="preserve">
|
||||
<value>Ocena</value>
|
||||
</data>
|
||||
<data name="iPerl_Communication_in_progress" xml:space="preserve">
|
||||
<value>Połączenie z iPERL w trakcie</value>
|
||||
</data>
|
||||
<data name="Language" xml:space="preserve">
|
||||
<value>Język</value>
|
||||
</data>
|
||||
<data name="Available_Components_" xml:space="preserve">
|
||||
<value>Dostępne elementy:</value>
|
||||
</data>
|
||||
<data name="Database_Settings" xml:space="preserve">
|
||||
<value>Ustawienia bazy danych:</value>
|
||||
</data>
|
||||
<data name="About_Test_Bench_Framework" xml:space="preserve">
|
||||
<value>O Framework stanowiska</value>
|
||||
</data>
|
||||
<data name="BuildDateStr" xml:space="preserve">
|
||||
<value>Build Data _BUILD_Data_</value>
|
||||
</data>
|
||||
<data name="CopyrightStr" xml:space="preserve">
|
||||
<value>Praw autorskie © 2013 - {0}</value>
|
||||
</data>
|
||||
<data name="Edit_User" xml:space="preserve">
|
||||
<value>Edytuj użytkownika</value>
|
||||
</data>
|
||||
<data name="Groups" xml:space="preserve">
|
||||
<value>Grupy</value>
|
||||
</data>
|
||||
<data name="An_unhandled_error_occured" xml:space="preserve">
|
||||
<value>Wystąpił nieobsługiwany błąd </value>
|
||||
</data>
|
||||
<data name="IgnoreBtnText" xml:space="preserve">
|
||||
<value>Wyłączyć</value>
|
||||
</data>
|
||||
<data name="Add_filter" xml:space="preserve">
|
||||
<value>Dodać filtr</value>
|
||||
</data>
|
||||
@@ -219,6 +732,18 @@
|
||||
<data name="RetryDatabaseText" xml:space="preserve">
|
||||
<value>Powtórka</value>
|
||||
</data>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>Wybrane wyniki:</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>Pojedynczy</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>Odblokować</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>Licznik wody</value>
|
||||
</data>
|
||||
<data name="Date" xml:space="preserve">
|
||||
<value>Data</value>
|
||||
</data>
|
||||
|
||||
@@ -117,66 +117,579 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Confirmation" xml:space="preserve">
|
||||
<value>Confirmation</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_save_the_procedure" xml:space="preserve">
|
||||
<value>Do you want to save the procedure?</value>
|
||||
</data>
|
||||
<data name="Error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="Error_loading_users_from_the_database" xml:space="preserve">
|
||||
<value>Error loading users from the database:</value>
|
||||
</data>
|
||||
<data name="Failed_to_create_a_sample_database" xml:space="preserve">
|
||||
<value>Failed to create a sample database:</value>
|
||||
</data>
|
||||
<data name="Failed_to_export_the_database" xml:space="preserve">
|
||||
<value>Failed to export the database:</value>
|
||||
</data>
|
||||
<data name="Invalid_user_password_or_bench" xml:space="preserve">
|
||||
<value>Invalid user, password, or bench</value>
|
||||
</data>
|
||||
<data name="Test_bench" xml:space="preserve">
|
||||
<value>Test bench</value>
|
||||
</data>
|
||||
<data name="MaxChars" xml:space="preserve">
|
||||
<value>(max. _X_ alphanumeric characters)</value>
|
||||
</data>
|
||||
<data name="close" xml:space="preserve">
|
||||
<value>close</value>
|
||||
</data>
|
||||
<data name="Diverter" xml:space="preserve">
|
||||
<value>Diverter</value>
|
||||
</data>
|
||||
<data name="Emptying_valve" xml:space="preserve">
|
||||
<value>Emptying valve</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="Reference" xml:space="preserve">
|
||||
<value>Reference</value>
|
||||
</data>
|
||||
<data name="Reg_valve" xml:space="preserve">
|
||||
<value>Reg. valve</value>
|
||||
</data>
|
||||
<data name="Balance" xml:space="preserve">
|
||||
<value>Balance</value>
|
||||
</data>
|
||||
<data name="Duration_s" xml:space="preserve">
|
||||
<value>Duration [s]</value>
|
||||
</data>
|
||||
<data name="no" xml:space="preserve">
|
||||
<value>no</value>
|
||||
</data>
|
||||
<data name="New_bench_path_name" xml:space="preserve">
|
||||
<value>PBench</value>
|
||||
</data>
|
||||
<data name="New_feeding_path_name" xml:space="preserve">
|
||||
<value>PFeed</value>
|
||||
</data>
|
||||
<data name="New_output_path_name" xml:space="preserve">
|
||||
<value>PQ</value>
|
||||
</data>
|
||||
<data name="New_procedure_name" xml:space="preserve">
|
||||
<value>Procedure</value>
|
||||
</data>
|
||||
<data name="New_sensors_path_name" xml:space="preserve">
|
||||
<value>PSens</value>
|
||||
</data>
|
||||
<data name="New_test_name" xml:space="preserve">
|
||||
<value>Test</value>
|
||||
</data>
|
||||
<data name="New_name_copy" xml:space="preserve">
|
||||
<value> - Copy</value>
|
||||
</data>
|
||||
<data name="Correction_g" xml:space="preserve">
|
||||
<value>Correction [g]</value>
|
||||
</data>
|
||||
<data name="Nr" xml:space="preserve">
|
||||
<value>Nr.</value>
|
||||
</data>
|
||||
<data name="Mass_kg" xml:space="preserve">
|
||||
<value>Mass [kg]</value>
|
||||
</data>
|
||||
<data name="AddBtnText" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="CancelBtnText" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="CloseBtnText" xml:space="preserve">
|
||||
<value>Close</value>
|
||||
</data>
|
||||
<data name="LockBtnText" xml:space="preserve">
|
||||
<value>Lock</value>
|
||||
</data>
|
||||
<data name="RemoveBtnText" xml:space="preserve">
|
||||
<value>Remove</value>
|
||||
</data>
|
||||
<data name="OkBtnText" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Correction_lph" xml:space="preserve">
|
||||
<value>Correction [l/h]</value>
|
||||
</data>
|
||||
<data name="Correction_mbar" xml:space="preserve">
|
||||
<value>Correction [mbar]</value>
|
||||
</data>
|
||||
<data name="Flow_m3h" xml:space="preserve">
|
||||
<value>Flow [m3/h]</value>
|
||||
</data>
|
||||
<data name="Invalid_username_or_password" xml:space="preserve">
|
||||
<value>Invalid username or password</value>
|
||||
</data>
|
||||
<data name="CopyBtnText" xml:space="preserve">
|
||||
<value>Copy</value>
|
||||
</data>
|
||||
<data name="DownBtnText" xml:space="preserve">
|
||||
<value>Down</value>
|
||||
</data>
|
||||
<data name="EditBtnText" xml:space="preserve">
|
||||
<value>Edit</value>
|
||||
</data>
|
||||
<data name="UpBtnText" xml:space="preserve">
|
||||
<value>Up</value>
|
||||
</data>
|
||||
<data name="NoDatabaseMsg" xml:space="preserve">
|
||||
<value>Cannot connect to the database.</value>
|
||||
</data>
|
||||
<data name="ConfigureDatabaseText" xml:space="preserve">
|
||||
<value>Configure test benches (password required)</value>
|
||||
</data>
|
||||
<data name="ExitBtnText" xml:space="preserve">
|
||||
<value>Exit</value>
|
||||
</data>
|
||||
<data name="Enter_password" xml:space="preserve">
|
||||
<value>Enter password</value>
|
||||
</data>
|
||||
<data name="Invalid_password" xml:space="preserve">
|
||||
<value>Invalid password</value>
|
||||
</data>
|
||||
<data name="Bench_name_conflict_Use_another_name_pls" xml:space="preserve">
|
||||
<value>Test bench name conflict, use another name please</value>
|
||||
</data>
|
||||
<data name="DB_was_successfully_created" xml:space="preserve">
|
||||
<value>The database was successfully created!</value>
|
||||
</data>
|
||||
<data name="DB_will_be_overwritten" xml:space="preserve">
|
||||
<value>The database will be overwritten</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Do you want to proceed?</value>
|
||||
</data>
|
||||
<data name="Notification" xml:space="preserve">
|
||||
<value>Notification</value>
|
||||
</data>
|
||||
<data name="NoBenchMsg" xml:space="preserve">
|
||||
<value>No test bench in the program configuration.</value>
|
||||
</data>
|
||||
<data name="DescriptionColHdr" xml:space="preserve">
|
||||
<value>Description</value>
|
||||
</data>
|
||||
<data name="Procedure" xml:space="preserve">
|
||||
<value>Procedure</value>
|
||||
</data>
|
||||
<data name="Test" xml:space="preserve">
|
||||
<value>Test</value>
|
||||
</data>
|
||||
<data name="Corrected" xml:space="preserve">
|
||||
<value>Corrected</value>
|
||||
</data>
|
||||
<data name="Measured" xml:space="preserve">
|
||||
<value>Measured</value>
|
||||
</data>
|
||||
<data name="Bench_is_not_running" xml:space="preserve">
|
||||
<value>Test bench is not running, however you can change the settings to resolve the problem.</value>
|
||||
</data>
|
||||
<data name="Emptying_chdr" xml:space="preserve">
|
||||
<value>Emptying</value>
|
||||
</data>
|
||||
<data name="Bench_chdr" xml:space="preserve">
|
||||
<value>Bench</value>
|
||||
</data>
|
||||
<data name="Err_cor_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Err. cor. - [%]</value>
|
||||
</data>
|
||||
<data name="Err_cor_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Err. cor. +[%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Err. Limit - [%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Err. Limit + [%]</value>
|
||||
</data>
|
||||
<data name="Feeding_chdr" xml:space="preserve">
|
||||
<value>Feeding</value>
|
||||
</data>
|
||||
<data name="Red_type_chdr" xml:space="preserve">
|
||||
<value>Red. type</value>
|
||||
</data>
|
||||
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
|
||||
<value>Error while creating the database. Reason: </value>
|
||||
</data>
|
||||
<data name="Metrology" xml:space="preserve">
|
||||
<value>Metrology</value>
|
||||
</data>
|
||||
<data name="_offline" xml:space="preserve">
|
||||
<value>(offline)</value>
|
||||
</data>
|
||||
<data name="Administrator" xml:space="preserve">
|
||||
<value>Administrator</value>
|
||||
</data>
|
||||
<data name="Calibration_Specialist" xml:space="preserve">
|
||||
<value>Calibration Specialist</value>
|
||||
</data>
|
||||
<data name="Head_of_Lab" xml:space="preserve">
|
||||
<value>Head of Lab</value>
|
||||
</data>
|
||||
<data name="Maintenance_Specialist" xml:space="preserve">
|
||||
<value>Maintenance Specialist</value>
|
||||
</data>
|
||||
<data name="Metrologist" xml:space="preserve">
|
||||
<value>Metrologist</value>
|
||||
</data>
|
||||
<data name="Close_emptying_valve" xml:space="preserve">
|
||||
<value>Close emptying valve</value>
|
||||
</data>
|
||||
<data name="Get_mass_of_water_in_the_tank" xml:space="preserve">
|
||||
<value>Get mass of water in the tank</value>
|
||||
</data>
|
||||
<data name="Ignore" xml:space="preserve">
|
||||
<value>Ignore</value>
|
||||
</data>
|
||||
<data name="Loading_the_procedure" xml:space="preserve">
|
||||
<value>Loading the procedure</value>
|
||||
</data>
|
||||
<data name="Make_tank_empty" xml:space="preserve">
|
||||
<value>Make tank empty</value>
|
||||
</data>
|
||||
<data name="Measure_the_mass" xml:space="preserve">
|
||||
<value>Measure the mass</value>
|
||||
</data>
|
||||
<data name="Ready" xml:space="preserve">
|
||||
<value>Ready</value>
|
||||
</data>
|
||||
<data name="BackBtnText" xml:space="preserve">
|
||||
<value>< Back</value>
|
||||
</data>
|
||||
<data name="FinishBtnText" xml:space="preserve">
|
||||
<value>Finish</value>
|
||||
</data>
|
||||
<data name="NextBtnText" xml:space="preserve">
|
||||
<value>Next ></value>
|
||||
</data>
|
||||
<data name="Flow_selection" xml:space="preserve">
|
||||
<value>Flow Selection</value>
|
||||
</data>
|
||||
<data name="Method_chdr" xml:space="preserve">
|
||||
<value>Test method</value>
|
||||
</data>
|
||||
<data name="RelativeQfrom" xml:space="preserve">
|
||||
<value>Relative Q from</value>
|
||||
</data>
|
||||
<data name="RelativeQto" xml:space="preserve">
|
||||
<value>Relative Q to</value>
|
||||
</data>
|
||||
<data name="Combined_meters" xml:space="preserve">
|
||||
<value>Combined meters</value>
|
||||
</data>
|
||||
<data name="DetectionThresholdPct" xml:space="preserve">
|
||||
<value>Detection threshold [%]</value>
|
||||
</data>
|
||||
<data name="RateOfChangePct" xml:space="preserve">
|
||||
<value>Rate of change [%]</value>
|
||||
</data>
|
||||
<data name="Component" xml:space="preserve">
|
||||
<value>Component</value>
|
||||
</data>
|
||||
<data name="_none_" xml:space="preserve">
|
||||
<value><none></value>
|
||||
</data>
|
||||
<data name="Method_selection" xml:space="preserve">
|
||||
<value>Test method selection</value>
|
||||
</data>
|
||||
<data name="Clear_results" xml:space="preserve">
|
||||
<value>Clear results</value>
|
||||
</data>
|
||||
<data name="Configure" xml:space="preserve">
|
||||
<value>Configure</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_meters" xml:space="preserve">
|
||||
<value>Arrangements of tested meters</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_tests" xml:space="preserve">
|
||||
<value>Arrangement of tests</value>
|
||||
</data>
|
||||
<data name="Horizontally" xml:space="preserve">
|
||||
<value>Horizontally</value>
|
||||
</data>
|
||||
<data name="Configuration" xml:space="preserve">
|
||||
<value>Configuration</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="ClearBtnText" xml:space="preserve">
|
||||
<value>Clear</value>
|
||||
</data>
|
||||
<data name="Emptying_tank" xml:space="preserve">
|
||||
<value>Emptying the tank</value>
|
||||
</data>
|
||||
<data name="Measuring_the_weight" xml:space="preserve">
|
||||
<value>Measuring the weight</value>
|
||||
</data>
|
||||
<data name="Emptying_i_n" xml:space="preserve">
|
||||
<value>Emptying ({0}: step {1}/{2})</value>
|
||||
</data>
|
||||
<data name="Activity" xml:space="preserve">
|
||||
<value>Activity</value>
|
||||
</data>
|
||||
<data name="Approval_info" xml:space="preserve">
|
||||
<value>Approval info.</value>
|
||||
</data>
|
||||
<data name="Metrological_class" xml:space="preserve">
|
||||
<value>Metrological class</value>
|
||||
</data>
|
||||
<data name="Producer" xml:space="preserve">
|
||||
<value>Producer</value>
|
||||
</data>
|
||||
<data name="Printer" xml:space="preserve">
|
||||
<value>Printer</value>
|
||||
</data>
|
||||
<data name="Version" xml:space="preserve">
|
||||
<value>Version</value>
|
||||
</data>
|
||||
<data name="nothing_to_configure" xml:space="preserve">
|
||||
<value><nothing to configure></value>
|
||||
</data>
|
||||
<data name="Fill_with_water" xml:space="preserve">
|
||||
<value>Fill the test bench with water?</value>
|
||||
</data>
|
||||
<data name="NoBtn" xml:space="preserve">
|
||||
<value>No</value>
|
||||
</data>
|
||||
<data name="Question" xml:space="preserve">
|
||||
<value>Question</value>
|
||||
</data>
|
||||
<data name="Bench_parameters" xml:space="preserve">
|
||||
<value>Bench parameters</value>
|
||||
</data>
|
||||
<data name="Connection_string" xml:space="preserve">
|
||||
<value>Connection string</value>
|
||||
</data>
|
||||
<data name="Create_DB" xml:space="preserve">
|
||||
<value>Create DB</value>
|
||||
</data>
|
||||
<data name="Database_type" xml:space="preserve">
|
||||
<value>Database type</value>
|
||||
</data>
|
||||
<data name="Logging" xml:space="preserve">
|
||||
<value>Logging</value>
|
||||
</data>
|
||||
<data name="Mode" xml:space="preserve">
|
||||
<value>Mode</value>
|
||||
</data>
|
||||
<data name="NewTabBtnText" xml:space="preserve">
|
||||
<value>New Tab</value>
|
||||
</data>
|
||||
<data name="New_transition_name" xml:space="preserve">
|
||||
<value>New transition name</value>
|
||||
</data>
|
||||
<data name="Detection_completed" xml:space="preserve">
|
||||
<value>Detection completed</value>
|
||||
</data>
|
||||
<data name="Emergency_STOP" xml:space="preserve">
|
||||
<value>Emergency STOP</value>
|
||||
</data>
|
||||
<data name="Add" xml:space="preserve">
|
||||
<value>&Add ></value>
|
||||
</data>
|
||||
<data name="Available_results" xml:space="preserve">
|
||||
<value>Available results:</value>
|
||||
</data>
|
||||
<data name="Remove" xml:space="preserve">
|
||||
<value>< &Remove</value>
|
||||
</data>
|
||||
<data name="Remove_all" xml:space="preserve">
|
||||
<value><< R&emove all</value>
|
||||
</data>
|
||||
<data name="Message" xml:space="preserve">
|
||||
<value>Message</value>
|
||||
</data>
|
||||
<data name="dflt" xml:space="preserve">
|
||||
<value>dflt</value>
|
||||
</data>
|
||||
<data name="Detection_failed" xml:space="preserve">
|
||||
<value>Detection failed</value>
|
||||
</data>
|
||||
<data name="Camera_error" xml:space="preserve">
|
||||
<value>Camera error</value>
|
||||
</data>
|
||||
<data name="remaining_time" xml:space="preserve">
|
||||
<value>remaining time</value>
|
||||
</data>
|
||||
<data name="LessBtnText" xml:space="preserve">
|
||||
<value>Less</value>
|
||||
</data>
|
||||
<data name="MoreBtnText" xml:space="preserve">
|
||||
<value>More</value>
|
||||
</data>
|
||||
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Changes will be lost. Do you want to proceed?</value>
|
||||
</data>
|
||||
<data name="Flowmeter" xml:space="preserve">
|
||||
<value>Flowmeter</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>Combined</value>
|
||||
</data>
|
||||
<data name="Device" xml:space="preserve">
|
||||
<value>Device</value>
|
||||
</data>
|
||||
<data name="PrinterBtnText" xml:space="preserve">
|
||||
<value>Printer</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter" xml:space="preserve">
|
||||
<value>Aux Water Meter</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter_State" xml:space="preserve">
|
||||
<value>Aux. WM State</value>
|
||||
</data>
|
||||
<data name="Data" xml:space="preserve">
|
||||
<value>Data</value>
|
||||
</data>
|
||||
<data name="End_State" xml:space="preserve">
|
||||
<value>End State</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter" xml:space="preserve">
|
||||
<value>Main Water Meter</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter_State" xml:space="preserve">
|
||||
<value>Main WM State</value>
|
||||
</data>
|
||||
<data name="Protocol" xml:space="preserve">
|
||||
<value>Protocol</value>
|
||||
</data>
|
||||
<data name="Serial_Number" xml:space="preserve">
|
||||
<value>Serial Number</value>
|
||||
</data>
|
||||
<data name="Aux_WM_SerialNr" xml:space="preserve">
|
||||
<value>Aux. WM Serial Nr.</value>
|
||||
</data>
|
||||
<data name="Main_WM_SerialNr" xml:space="preserve">
|
||||
<value>Main WM Serial Nr.</value>
|
||||
</data>
|
||||
<data name="Adjustment_in_progress" xml:space="preserve">
|
||||
<value>Adjustment in progress</value>
|
||||
</data>
|
||||
<data name="Error_pct" xml:space="preserve">
|
||||
<value>Error [%]</value>
|
||||
</data>
|
||||
<data name="Duration_Leak_s" xml:space="preserve">
|
||||
<value>Leak duration [s]</value>
|
||||
</data>
|
||||
<data name="Duration_PMax_s" xml:space="preserve">
|
||||
<value>PMax duration [s]</value>
|
||||
</data>
|
||||
<data name="Closing_valve_Pump_off" xml:space="preserve">
|
||||
<value>Closing input valve, switching the pump off</value>
|
||||
</data>
|
||||
<data name="Purchase_Order" xml:space="preserve">
|
||||
<value>Purchase Order</value>
|
||||
</data>
|
||||
<data name="Ambient_humidity_" xml:space="preserve">
|
||||
<value>Ambient humidity: </value>
|
||||
</data>
|
||||
<data name="Ambient_pressure_" xml:space="preserve">
|
||||
<value>Ambient pressure: </value>
|
||||
</data>
|
||||
<data name="Ambient_temperature_" xml:space="preserve">
|
||||
<value>Ambient temperature: </value>
|
||||
</data>
|
||||
<data name="Approval_" xml:space="preserve">
|
||||
<value>Approval: </value>
|
||||
</data>
|
||||
<data name="Date_and_time_" xml:space="preserve">
|
||||
<value>Date and time: </value>
|
||||
</data>
|
||||
<data name="End" xml:space="preserve">
|
||||
<value>End</value>
|
||||
</data>
|
||||
<data name="AtTemperature_C" xml:space="preserve">
|
||||
<value>@temperature [degC]</value>
|
||||
</data>
|
||||
<data name="Density_kg_m3" xml:space="preserve">
|
||||
<value>Density [kg/m3]</value>
|
||||
</data>
|
||||
<data name="Density" xml:space="preserve">
|
||||
<value>Density</value>
|
||||
</data>
|
||||
<data name="Nr_meters_in_a_group" xml:space="preserve">
|
||||
<value>Nr. meters in a group:</value>
|
||||
</data>
|
||||
<data name="End_Condition" xml:space="preserve">
|
||||
<value>End condition</value>
|
||||
</data>
|
||||
<data name="Communication" xml:space="preserve">
|
||||
<value>Communication</value>
|
||||
</data>
|
||||
<data name="Aux_" xml:space="preserve">
|
||||
<value>Aux:</value>
|
||||
</data>
|
||||
<data name="Main_" xml:space="preserve">
|
||||
<value>Main:</value>
|
||||
</data>
|
||||
<data name="cold" xml:space="preserve">
|
||||
<value>cold</value>
|
||||
</data>
|
||||
<data name="hot" xml:space="preserve">
|
||||
<value>hot</value>
|
||||
</data>
|
||||
<data name="Product_name" xml:space="preserve">
|
||||
<value>Product name</value>
|
||||
</data>
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Address</value>
|
||||
</data>
|
||||
<data name="Approval_date" xml:space="preserve">
|
||||
<value>Approval date</value>
|
||||
</data>
|
||||
<data name="Approval_ID" xml:space="preserve">
|
||||
<value>Approval ID</value>
|
||||
</data>
|
||||
<data name="Approved_by" xml:space="preserve">
|
||||
<value>Approved by</value>
|
||||
</data>
|
||||
<data name="Evaluate" xml:space="preserve">
|
||||
<value>Evaluate</value>
|
||||
</data>
|
||||
<data name="iPerl_Communication_in_progress" xml:space="preserve">
|
||||
<value>iPerl Communication in progress</value>
|
||||
</data>
|
||||
<data name="Language" xml:space="preserve">
|
||||
<value>Language</value>
|
||||
</data>
|
||||
<data name="Available_Components_" xml:space="preserve">
|
||||
<value>Available Components:</value>
|
||||
</data>
|
||||
<data name="Database_Settings" xml:space="preserve">
|
||||
<value>Database Settings</value>
|
||||
</data>
|
||||
<data name="About_Test_Bench_Framework" xml:space="preserve">
|
||||
<value>About Test Bench Framework</value>
|
||||
</data>
|
||||
<data name="BuildDateStr" xml:space="preserve">
|
||||
<value>Build date _BUILD_DATE_</value>
|
||||
</data>
|
||||
<data name="CopyrightStr" xml:space="preserve">
|
||||
<value>Copyright © 2013 - {0}</value>
|
||||
</data>
|
||||
<data name="Edit_User" xml:space="preserve">
|
||||
<value>Edit User</value>
|
||||
</data>
|
||||
<data name="Groups" xml:space="preserve">
|
||||
<value>Groups</value>
|
||||
</data>
|
||||
<data name="An_unhandled_error_occured" xml:space="preserve">
|
||||
<value>An unhandled error occured</value>
|
||||
</data>
|
||||
<data name="IgnoreBtnText" xml:space="preserve">
|
||||
<value>Ignore</value>
|
||||
</data>
|
||||
<data name="Add_filter" xml:space="preserve">
|
||||
<value>Add filter</value>
|
||||
</data>
|
||||
@@ -219,6 +732,18 @@
|
||||
<data name="RetryDatabaseText" xml:space="preserve">
|
||||
<value>Retry</value>
|
||||
</data>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>Selected results</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>Single</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>Unlock</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>Water Meter</value>
|
||||
</data>
|
||||
<data name="Date" xml:space="preserve">
|
||||
<value>Date</value>
|
||||
</data>
|
||||
@@ -300,6 +825,9 @@
|
||||
<data name="Error_exporting_results" xml:space="preserve">
|
||||
<value>Error exporting results</value>
|
||||
</data>
|
||||
<data name="Add_data_from_Oracle" xml:space="preserve">
|
||||
<value>Add data from Oracle</value>
|
||||
</data>
|
||||
<data name="Histograms" xml:space="preserve">
|
||||
<value>Histograms</value>
|
||||
</data>
|
||||
|
||||
@@ -117,66 +117,579 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Confirmation" xml:space="preserve">
|
||||
<value>Подтверждение</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_save_the_procedure" xml:space="preserve">
|
||||
<value>Хотите сохранить процедуру?</value>
|
||||
</data>
|
||||
<data name="Error" xml:space="preserve">
|
||||
<value>Ошибка</value>
|
||||
</data>
|
||||
<data name="Error_loading_users_from_the_database" xml:space="preserve">
|
||||
<value>Ошибка при загрузке пользователей из базы данных:</value>
|
||||
</data>
|
||||
<data name="Failed_to_create_a_sample_database" xml:space="preserve">
|
||||
<value>Не удалось создать базу данных:</value>
|
||||
</data>
|
||||
<data name="Failed_to_export_the_database" xml:space="preserve">
|
||||
<value>Не удалось экспортировать базу данных:</value>
|
||||
</data>
|
||||
<data name="Invalid_user_password_or_bench" xml:space="preserve">
|
||||
<value>Неверный пользователь, пароль, или установка</value>
|
||||
</data>
|
||||
<data name="Test_bench" xml:space="preserve">
|
||||
<value>Поверочная установка</value>
|
||||
</data>
|
||||
<data name="MaxChars" xml:space="preserve">
|
||||
<value>(Макс. _X_ Буквенно-цифровых символов)</value>
|
||||
</data>
|
||||
<data name="close" xml:space="preserve">
|
||||
<value>закрыть</value>
|
||||
</data>
|
||||
<data name="Diverter" xml:space="preserve">
|
||||
<value>Клапан</value>
|
||||
</data>
|
||||
<data name="Emptying_valve" xml:space="preserve">
|
||||
<value>Выпускной клапан</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Имя</value>
|
||||
</data>
|
||||
<data name="Reference" xml:space="preserve">
|
||||
<value>Ссылка</value>
|
||||
</data>
|
||||
<data name="Reg_valve" xml:space="preserve">
|
||||
<value>Рег. вентиль</value>
|
||||
</data>
|
||||
<data name="Balance" xml:space="preserve">
|
||||
<value>Весы</value>
|
||||
</data>
|
||||
<data name="Duration_s" xml:space="preserve">
|
||||
<value>Продолжительность [с]</value>
|
||||
</data>
|
||||
<data name="no" xml:space="preserve">
|
||||
<value>нет</value>
|
||||
</data>
|
||||
<data name="New_bench_path_name" xml:space="preserve">
|
||||
<value>PУстановка</value>
|
||||
</data>
|
||||
<data name="New_feeding_path_name" xml:space="preserve">
|
||||
<value>PFeed</value>
|
||||
</data>
|
||||
<data name="New_output_path_name" xml:space="preserve">
|
||||
<value>PQ</value>
|
||||
</data>
|
||||
<data name="New_procedure_name" xml:space="preserve">
|
||||
<value>Процедура</value>
|
||||
</data>
|
||||
<data name="New_sensors_path_name" xml:space="preserve">
|
||||
<value>PSens</value>
|
||||
</data>
|
||||
<data name="New_test_name" xml:space="preserve">
|
||||
<value>Тест</value>
|
||||
</data>
|
||||
<data name="New_name_copy" xml:space="preserve">
|
||||
<value> - Копировать</value>
|
||||
</data>
|
||||
<data name="Correction_g" xml:space="preserve">
|
||||
<value>Коррекция [г]</value>
|
||||
</data>
|
||||
<data name="Nr" xml:space="preserve">
|
||||
<value>№</value>
|
||||
</data>
|
||||
<data name="Mass_kg" xml:space="preserve">
|
||||
<value>Масса [кг]</value>
|
||||
</data>
|
||||
<data name="AddBtnText" xml:space="preserve">
|
||||
<value>Добавить</value>
|
||||
</data>
|
||||
<data name="CancelBtnText" xml:space="preserve">
|
||||
<value>Отмена</value>
|
||||
</data>
|
||||
<data name="CloseBtnText" xml:space="preserve">
|
||||
<value>Закрыть</value>
|
||||
</data>
|
||||
<data name="LockBtnText" xml:space="preserve">
|
||||
<value>Заблокировать</value>
|
||||
</data>
|
||||
<data name="RemoveBtnText" xml:space="preserve">
|
||||
<value>Удалить</value>
|
||||
</data>
|
||||
<data name="OkBtnText" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Correction_lph" xml:space="preserve">
|
||||
<value>Коррекция [л/ч]</value>
|
||||
</data>
|
||||
<data name="Correction_mbar" xml:space="preserve">
|
||||
<value>Коррекция [мбар]</value>
|
||||
</data>
|
||||
<data name="Flow_m3h" xml:space="preserve">
|
||||
<value>Расход [м3/ч]</value>
|
||||
</data>
|
||||
<data name="Invalid_username_or_password" xml:space="preserve">
|
||||
<value>Неправильное имя пользователя или пароль</value>
|
||||
</data>
|
||||
<data name="CopyBtnText" xml:space="preserve">
|
||||
<value>Копировать</value>
|
||||
</data>
|
||||
<data name="DownBtnText" xml:space="preserve">
|
||||
<value>Вниз</value>
|
||||
</data>
|
||||
<data name="EditBtnText" xml:space="preserve">
|
||||
<value>Редактировать</value>
|
||||
</data>
|
||||
<data name="UpBtnText" xml:space="preserve">
|
||||
<value>Вверх</value>
|
||||
</data>
|
||||
<data name="NoDatabaseMsg" xml:space="preserve">
|
||||
<value>Не удается подключиться к базе данных.</value>
|
||||
</data>
|
||||
<data name="ConfigureDatabaseText" xml:space="preserve">
|
||||
<value>Тестовая конфигурация установки (требуется пароль)</value>
|
||||
</data>
|
||||
<data name="ExitBtnText" xml:space="preserve">
|
||||
<value>Выход</value>
|
||||
</data>
|
||||
<data name="Enter_password" xml:space="preserve">
|
||||
<value>Введите пароль</value>
|
||||
</data>
|
||||
<data name="Invalid_password" xml:space="preserve">
|
||||
<value>Неверный пароль</value>
|
||||
</data>
|
||||
<data name="Bench_name_conflict_Use_another_name_pls" xml:space="preserve">
|
||||
<value>Имя поверочной установки неверно, используйте другое имя, пожалуйста</value>
|
||||
</data>
|
||||
<data name="DB_was_successfully_created" xml:space="preserve">
|
||||
<value>База данных была успешно создана!</value>
|
||||
</data>
|
||||
<data name="DB_will_be_overwritten" xml:space="preserve">
|
||||
<value>База данных будет перезаписана</value>
|
||||
</data>
|
||||
<data name="Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Вы хотите продолжить?</value>
|
||||
</data>
|
||||
<data name="Notification" xml:space="preserve">
|
||||
<value>Уведомление</value>
|
||||
</data>
|
||||
<data name="NoBenchMsg" xml:space="preserve">
|
||||
<value>Нет поверочной установки в конфигурации программы.</value>
|
||||
</data>
|
||||
<data name="DescriptionColHdr" xml:space="preserve">
|
||||
<value>Описание</value>
|
||||
</data>
|
||||
<data name="Procedure" xml:space="preserve">
|
||||
<value>Процедура</value>
|
||||
</data>
|
||||
<data name="Test" xml:space="preserve">
|
||||
<value>Тест</value>
|
||||
</data>
|
||||
<data name="Corrected" xml:space="preserve">
|
||||
<value>Исправлено</value>
|
||||
</data>
|
||||
<data name="Measured" xml:space="preserve">
|
||||
<value>Измерено</value>
|
||||
</data>
|
||||
<data name="Bench_is_not_running" xml:space="preserve">
|
||||
<value>Поверочная установка не запущена, однако вы можете изменить настройки, чтобы решить эту проблему.</value>
|
||||
</data>
|
||||
<data name="Emptying_chdr" xml:space="preserve">
|
||||
<value>Выпуск</value>
|
||||
</data>
|
||||
<data name="Bench_chdr" xml:space="preserve">
|
||||
<value>Установка</value>
|
||||
</data>
|
||||
<data name="Err_cor_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Err. cor. - [%]</value>
|
||||
</data>
|
||||
<data name="Err_cor_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Err. cor. +[%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_neg_pct_chdr" xml:space="preserve">
|
||||
<value>Err. Limit - [%]</value>
|
||||
</data>
|
||||
<data name="Err_limit_pos_pct_chdr" xml:space="preserve">
|
||||
<value>Err. Limit + [%]</value>
|
||||
</data>
|
||||
<data name="Feeding_chdr" xml:space="preserve">
|
||||
<value>Feeding</value>
|
||||
</data>
|
||||
<data name="Red_type_chdr" xml:space="preserve">
|
||||
<value>Red. type</value>
|
||||
</data>
|
||||
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
|
||||
<value>Ошибка при создании базы данных. Причина:</value>
|
||||
</data>
|
||||
<data name="Metrology" xml:space="preserve">
|
||||
<value>Метрология</value>
|
||||
</data>
|
||||
<data name="_offline" xml:space="preserve">
|
||||
<value>(не в сети)</value>
|
||||
</data>
|
||||
<data name="Administrator" xml:space="preserve">
|
||||
<value>Администратор</value>
|
||||
</data>
|
||||
<data name="Calibration_Specialist" xml:space="preserve">
|
||||
<value>Специалист по калибровке</value>
|
||||
</data>
|
||||
<data name="Head_of_Lab" xml:space="preserve">
|
||||
<value>Руководитель лаборатории</value>
|
||||
</data>
|
||||
<data name="Maintenance_Specialist" xml:space="preserve">
|
||||
<value>Специалист по техобслуживанию</value>
|
||||
</data>
|
||||
<data name="Metrologist" xml:space="preserve">
|
||||
<value>Метролог</value>
|
||||
</data>
|
||||
<data name="Close_emptying_valve" xml:space="preserve">
|
||||
<value>Закрыть выпускной клапан</value>
|
||||
</data>
|
||||
<data name="Get_mass_of_water_in_the_tank" xml:space="preserve">
|
||||
<value>Получить массу воды в резервуаре</value>
|
||||
</data>
|
||||
<data name="Ignore" xml:space="preserve">
|
||||
<value>Отклонить</value>
|
||||
</data>
|
||||
<data name="Loading_the_procedure" xml:space="preserve">
|
||||
<value>Процедура загрузки</value>
|
||||
</data>
|
||||
<data name="Make_tank_empty" xml:space="preserve">
|
||||
<value>Оборожнить бак</value>
|
||||
</data>
|
||||
<data name="Measure_the_mass" xml:space="preserve">
|
||||
<value>Измерьте массу</value>
|
||||
</data>
|
||||
<data name="Ready" xml:space="preserve">
|
||||
<value>Готов</value>
|
||||
</data>
|
||||
<data name="BackBtnText" xml:space="preserve">
|
||||
<value>< Назад</value>
|
||||
</data>
|
||||
<data name="FinishBtnText" xml:space="preserve">
|
||||
<value>Завершить</value>
|
||||
</data>
|
||||
<data name="NextBtnText" xml:space="preserve">
|
||||
<value>Дальше ></value>
|
||||
</data>
|
||||
<data name="Flow_selection" xml:space="preserve">
|
||||
<value>Выбор расхода</value>
|
||||
</data>
|
||||
<data name="Method_chdr" xml:space="preserve">
|
||||
<value>Метод испытания</value>
|
||||
</data>
|
||||
<data name="RelativeQfrom" xml:space="preserve">
|
||||
<value>Относительный Q от</value>
|
||||
</data>
|
||||
<data name="RelativeQto" xml:space="preserve">
|
||||
<value>Относительный Q до</value>
|
||||
</data>
|
||||
<data name="Combined_meters" xml:space="preserve">
|
||||
<value>Комбинированные счетчики</value>
|
||||
</data>
|
||||
<data name="DetectionThresholdPct" xml:space="preserve">
|
||||
<value>Порог [%]</value>
|
||||
</data>
|
||||
<data name="RateOfChangePct" xml:space="preserve">
|
||||
<value>Скорость изменения [%]</value>
|
||||
</data>
|
||||
<data name="Component" xml:space="preserve">
|
||||
<value>Компонент</value>
|
||||
</data>
|
||||
<data name="_none_" xml:space="preserve">
|
||||
<value><нет></value>
|
||||
</data>
|
||||
<data name="Method_selection" xml:space="preserve">
|
||||
<value>Выбор метода испытаний</value>
|
||||
</data>
|
||||
<data name="Clear_results" xml:space="preserve">
|
||||
<value>Очистить Результаты</value>
|
||||
</data>
|
||||
<data name="Configure" xml:space="preserve">
|
||||
<value>Конфигурировать</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_meters" xml:space="preserve">
|
||||
<value>Расположение испытуемых счетчиков</value>
|
||||
</data>
|
||||
<data name="Arrangement_of_tests" xml:space="preserve">
|
||||
<value>Расположение испытаний</value>
|
||||
</data>
|
||||
<data name="Horizontally" xml:space="preserve">
|
||||
<value>Горизонтально</value>
|
||||
</data>
|
||||
<data name="Configuration" xml:space="preserve">
|
||||
<value>Конфигурация</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="ClearBtnText" xml:space="preserve">
|
||||
<value>Очистить</value>
|
||||
</data>
|
||||
<data name="Emptying_tank" xml:space="preserve">
|
||||
<value>Опорожнение бака</value>
|
||||
</data>
|
||||
<data name="Measuring_the_weight" xml:space="preserve">
|
||||
<value>Измерение веса</value>
|
||||
</data>
|
||||
<data name="Emptying_i_n" xml:space="preserve">
|
||||
<value>Слив ({0}: шаг {1} / {2})</value>
|
||||
</data>
|
||||
<data name="Activity" xml:space="preserve">
|
||||
<value>Активность</value>
|
||||
</data>
|
||||
<data name="Approval_info" xml:space="preserve">
|
||||
<value>Информация об утверждении</value>
|
||||
</data>
|
||||
<data name="Metrological_class" xml:space="preserve">
|
||||
<value>Метрологический класс</value>
|
||||
</data>
|
||||
<data name="Producer" xml:space="preserve">
|
||||
<value>Производитель</value>
|
||||
</data>
|
||||
<data name="Printer" xml:space="preserve">
|
||||
<value>Принтер</value>
|
||||
</data>
|
||||
<data name="Version" xml:space="preserve">
|
||||
<value>Версия</value>
|
||||
</data>
|
||||
<data name="nothing_to_configure" xml:space="preserve">
|
||||
<value><нечего настраивать></value>
|
||||
</data>
|
||||
<data name="Fill_with_water" xml:space="preserve">
|
||||
<value>Заполнить установку водой?</value>
|
||||
</data>
|
||||
<data name="NoBtn" xml:space="preserve">
|
||||
<value>Нет</value>
|
||||
</data>
|
||||
<data name="Question" xml:space="preserve">
|
||||
<value>Вопрос</value>
|
||||
</data>
|
||||
<data name="Bench_parameters" xml:space="preserve">
|
||||
<value>Установка параметров</value>
|
||||
</data>
|
||||
<data name="Connection_string" xml:space="preserve">
|
||||
<value>Строка подключения БД</value>
|
||||
</data>
|
||||
<data name="Create_DB" xml:space="preserve">
|
||||
<value>Создание БД</value>
|
||||
</data>
|
||||
<data name="Database_type" xml:space="preserve">
|
||||
<value>Тип БД</value>
|
||||
</data>
|
||||
<data name="Logging" xml:space="preserve">
|
||||
<value>Логирование</value>
|
||||
</data>
|
||||
<data name="Mode" xml:space="preserve">
|
||||
<value>Режим</value>
|
||||
</data>
|
||||
<data name="NewTabBtnText" xml:space="preserve">
|
||||
<value>Новая вкладка</value>
|
||||
</data>
|
||||
<data name="New_transition_name" xml:space="preserve">
|
||||
<value>Новое имя перехода</value>
|
||||
</data>
|
||||
<data name="Detection_completed" xml:space="preserve">
|
||||
<value>Обнаружение завершено</value>
|
||||
</data>
|
||||
<data name="Emergency_STOP" xml:space="preserve">
|
||||
<value>Аварийная остановка</value>
|
||||
</data>
|
||||
<data name="Add" xml:space="preserve">
|
||||
<value>&Добавить ></value>
|
||||
</data>
|
||||
<data name="Available_results" xml:space="preserve">
|
||||
<value>Доступные результаты</value>
|
||||
</data>
|
||||
<data name="Remove" xml:space="preserve">
|
||||
<value>< &Удалить</value>
|
||||
</data>
|
||||
<data name="Remove_all" xml:space="preserve">
|
||||
<value><< Удалить все</value>
|
||||
</data>
|
||||
<data name="Message" xml:space="preserve">
|
||||
<value>Сообщение</value>
|
||||
</data>
|
||||
<data name="dflt" xml:space="preserve">
|
||||
<value>dflt</value>
|
||||
</data>
|
||||
<data name="Detection_failed" xml:space="preserve">
|
||||
<value>Обнаружение не удалось</value>
|
||||
</data>
|
||||
<data name="Camera_error" xml:space="preserve">
|
||||
<value>Ошибка камеры</value>
|
||||
</data>
|
||||
<data name="remaining_time" xml:space="preserve">
|
||||
<value>оставшееся время</value>
|
||||
</data>
|
||||
<data name="LessBtnText" xml:space="preserve">
|
||||
<value>Меньше</value>
|
||||
</data>
|
||||
<data name="MoreBtnText" xml:space="preserve">
|
||||
<value>Больше</value>
|
||||
</data>
|
||||
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
|
||||
<value>Изменения будут потеряны. Вы хотите продолжить?</value>
|
||||
</data>
|
||||
<data name="Flowmeter" xml:space="preserve">
|
||||
<value>Расходомер</value>
|
||||
</data>
|
||||
<data name="CombinedBtnText" xml:space="preserve">
|
||||
<value>Комбинированный</value>
|
||||
</data>
|
||||
<data name="Device" xml:space="preserve">
|
||||
<value>Устройство</value>
|
||||
</data>
|
||||
<data name="PrinterBtnText" xml:space="preserve">
|
||||
<value>Принтер</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter" xml:space="preserve">
|
||||
<value>Доп.счетчик воды</value>
|
||||
</data>
|
||||
<data name="Aux_Water_Meter_State" xml:space="preserve">
|
||||
<value>Статус доп.счетчика</value>
|
||||
</data>
|
||||
<data name="Data" xml:space="preserve">
|
||||
<value>Данные</value>
|
||||
</data>
|
||||
<data name="End_State" xml:space="preserve">
|
||||
<value>Конечное состояние</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter" xml:space="preserve">
|
||||
<value>Главный счетчик воды</value>
|
||||
</data>
|
||||
<data name="Main_Water_Meter_State" xml:space="preserve">
|
||||
<value>Статус главного счетчика</value>
|
||||
</data>
|
||||
<data name="Protocol" xml:space="preserve">
|
||||
<value>Протокол</value>
|
||||
</data>
|
||||
<data name="Serial_Number" xml:space="preserve">
|
||||
<value>Серийный номер</value>
|
||||
</data>
|
||||
<data name="Aux_WM_SerialNr" xml:space="preserve">
|
||||
<value>Сер. № доп. счетчика</value>
|
||||
</data>
|
||||
<data name="Main_WM_SerialNr" xml:space="preserve">
|
||||
<value>Сер. № главн. счетчика</value>
|
||||
</data>
|
||||
<data name="Adjustment_in_progress" xml:space="preserve">
|
||||
<value>Настройка выполняется</value>
|
||||
</data>
|
||||
<data name="Error_pct" xml:space="preserve">
|
||||
<value>Погрешность [%]</value>
|
||||
</data>
|
||||
<data name="Duration_Leak_s" xml:space="preserve">
|
||||
<value>Продолжительность расхода [с]</value>
|
||||
</data>
|
||||
<data name="Duration_PMax_s" xml:space="preserve">
|
||||
<value>Продолжительность Pмакс [с]</value>
|
||||
</data>
|
||||
<data name="Closing_valve_Pump_off" xml:space="preserve">
|
||||
<value>Закрытие впускного клапана, выключение насоса</value>
|
||||
</data>
|
||||
<data name="Purchase_Order" xml:space="preserve">
|
||||
<value>Заказ</value>
|
||||
</data>
|
||||
<data name="Ambient_humidity_" xml:space="preserve">
|
||||
<value>Относительная влажность окружающей среды:</value>
|
||||
</data>
|
||||
<data name="Ambient_pressure_" xml:space="preserve">
|
||||
<value>Относительное давление: </value>
|
||||
</data>
|
||||
<data name="Ambient_temperature_" xml:space="preserve">
|
||||
<value>Температура окружающей среды: </value>
|
||||
</data>
|
||||
<data name="Approval_" xml:space="preserve">
|
||||
<value>Утверждение: </value>
|
||||
</data>
|
||||
<data name="Date_and_time_" xml:space="preserve">
|
||||
<value>Дата и время: </value>
|
||||
</data>
|
||||
<data name="End" xml:space="preserve">
|
||||
<value>Конец</value>
|
||||
</data>
|
||||
<data name="AtTemperature_C" xml:space="preserve">
|
||||
<value>температура [degC]</value>
|
||||
</data>
|
||||
<data name="Density_kg_m3" xml:space="preserve">
|
||||
<value>Плотность [кг/м3]</value>
|
||||
</data>
|
||||
<data name="Density" xml:space="preserve">
|
||||
<value>Плотность</value>
|
||||
</data>
|
||||
<data name="Nr_meters_in_a_group" xml:space="preserve">
|
||||
<value>№ счетчиков в группе</value>
|
||||
</data>
|
||||
<data name="End_Condition" xml:space="preserve">
|
||||
<value>Конечное состояние</value>
|
||||
</data>
|
||||
<data name="Communication" 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="cold" xml:space="preserve">
|
||||
<value>холодный</value>
|
||||
</data>
|
||||
<data name="hot" xml:space="preserve">
|
||||
<value>горячий</value>
|
||||
</data>
|
||||
<data name="Product_name" xml:space="preserve">
|
||||
<value>Наименование продукта</value>
|
||||
</data>
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Адрес</value>
|
||||
</data>
|
||||
<data name="Approval_date" xml:space="preserve">
|
||||
<value>Дата утверждения</value>
|
||||
</data>
|
||||
<data name="Approval_ID" xml:space="preserve">
|
||||
<value>ID Утверждения </value>
|
||||
</data>
|
||||
<data name="Approved_by" xml:space="preserve">
|
||||
<value>Утверждено</value>
|
||||
</data>
|
||||
<data name="Evaluate" xml:space="preserve">
|
||||
<value>Оценка</value>
|
||||
</data>
|
||||
<data name="iPerl_Communication_in_progress" xml:space="preserve">
|
||||
<value>Осуществляется связь с iPerl </value>
|
||||
</data>
|
||||
<data name="Language" xml:space="preserve">
|
||||
<value>Язык</value>
|
||||
</data>
|
||||
<data name="Available_Components_" xml:space="preserve">
|
||||
<value>Доступные компоненты:</value>
|
||||
</data>
|
||||
<data name="Database_Settings" xml:space="preserve">
|
||||
<value>Настройки Базы данных</value>
|
||||
</data>
|
||||
<data name="About_Test_Bench_Framework" xml:space="preserve">
|
||||
<value>О Framework поверочной установки</value>
|
||||
</data>
|
||||
<data name="BuildDateStr" xml:space="preserve">
|
||||
<value>Build Data _BUILD_Data_</value>
|
||||
</data>
|
||||
<data name="CopyrightStr" xml:space="preserve">
|
||||
<value>Copyright © 2013 - {0}</value>
|
||||
</data>
|
||||
<data name="Edit_User" xml:space="preserve">
|
||||
<value>Редактировать пользователя</value>
|
||||
</data>
|
||||
<data name="Groups" xml:space="preserve">
|
||||
<value>Группы</value>
|
||||
</data>
|
||||
<data name="An_unhandled_error_occured" xml:space="preserve">
|
||||
<value>Произошла необрабатываемая ошибка</value>
|
||||
</data>
|
||||
<data name="IgnoreBtnText" xml:space="preserve">
|
||||
<value>Отклонить</value>
|
||||
</data>
|
||||
<data name="Add_filter" xml:space="preserve">
|
||||
<value>Добавить фильтр</value>
|
||||
</data>
|
||||
@@ -219,6 +732,18 @@
|
||||
<data name="RetryDatabaseText" xml:space="preserve">
|
||||
<value>Повтор</value>
|
||||
</data>
|
||||
<data name="Selected_results" xml:space="preserve">
|
||||
<value>Выбанные результаты</value>
|
||||
</data>
|
||||
<data name="SingleBtnText" xml:space="preserve">
|
||||
<value>Единый</value>
|
||||
</data>
|
||||
<data name="UnlockBtnText" xml:space="preserve">
|
||||
<value>Разблокировать</value>
|
||||
</data>
|
||||
<data name="Water_Meter" xml:space="preserve">
|
||||
<value>Счетчик воды</value>
|
||||
</data>
|
||||
<data name="Date" xml:space="preserve">
|
||||
<value>Дата</value>
|
||||
</data>
|
||||
|
||||
+1584
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
@@ -31,7 +31,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;FILIPINY_50</DefineConstants>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -48,10 +48,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GemCard", "GemCard\GemCard.
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Statistics", "Statistics\Statistics.csproj", "{36755E1D-6FC3-4D9C-8DD3-0250D51532E0}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Decrypt", "Decrypt\Decrypt.csproj", "{D476ABBE-A455-4476-8A8D-3F6151217B51}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Encrypt", "Encrypt\Encrypt.csproj", "{DA9B09F3-A99D-4883-A954-537560453674}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -190,26 +186,6 @@ Global
|
||||
{36755E1D-6FC3-4D9C-8DD3-0250D51532E0}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{36755E1D-6FC3-4D9C-8DD3-0250D51532E0}.Release|x86.ActiveCfg = Release|x86
|
||||
{36755E1D-6FC3-4D9C-8DD3-0250D51532E0}.Release|x86.Build.0 = Release|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Debug|x86.Build.0 = Debug|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Release|x86.ActiveCfg = Release|x86
|
||||
{D476ABBE-A455-4476-8A8D-3F6151217B51}.Release|x86.Build.0 = Release|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Debug|x86.Build.0 = Debug|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Release|x86.ActiveCfg = Release|x86
|
||||
{DA9B09F3-A99D-4883-A954-537560453674}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2016 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -71,10 +71,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
serialPort = new SerialPort(comPortName, ambientCfg.BaudRate, ambientCfg.Parity, ambientCfg.DataBits, ambientCfg.StopBits);
|
||||
serialPort.Handshake = ambientCfg.Handshake;
|
||||
serialPort.Open();
|
||||
if (ambientCfg.SetDtrToOne)
|
||||
{
|
||||
serialPort.DtrEnable = true;
|
||||
}
|
||||
|
||||
msrmntTimeStamp = 0;
|
||||
msrmntState = MsrmntState.Busy;
|
||||
@@ -111,11 +107,9 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
value = (int)byteArr[9] * 256 + (int)byteArr[10];
|
||||
pressure = (float)value / 10000.0f;
|
||||
|
||||
UpdateProcessData(temperature, pressure, humidity);
|
||||
msrmntTimeStamp = StateMachine.Time;
|
||||
msrmntState = MsrmntState.Valid;
|
||||
|
||||
UpdateProcessData(temperature, pressure, humidity);
|
||||
|
||||
log.InfoFormat("Ambient: temperature = {0:F1} C, humidity = {1:F1} %, pressure = {2:F0} mbar", temperature, humidity, 1000 * pressure);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
public int DataBits;
|
||||
public StopBits StopBits;
|
||||
public Handshake Handshake;
|
||||
public bool SetDtrToOne;
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
AmbientCfg()
|
||||
@@ -38,7 +37,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
DataBits = 8;
|
||||
StopBits = System.IO.Ports.StopBits.Two;
|
||||
Handshake = System.IO.Ports.Handshake.None;
|
||||
SetDtrToOne = false;
|
||||
}
|
||||
|
||||
public AmbientCfg(IComponentFactory factory)
|
||||
|
||||
+173
-187
@@ -31,192 +31,179 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.comPortNrTextBox = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.baudRateLabel = new System.Windows.Forms.Label();
|
||||
this.baudRateTextBox = new System.Windows.Forms.TextBox();
|
||||
this.partityLabel = new System.Windows.Forms.Label();
|
||||
this.dataBitsLabel = new System.Windows.Forms.Label();
|
||||
this.dataBitsTextBox = new System.Windows.Forms.TextBox();
|
||||
this.stopBitsLabel = new System.Windows.Forms.Label();
|
||||
this.handshakeLabel = new System.Windows.Forms.Label();
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.parityComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.stopBitsComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.handshakeComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.setDtrCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// comPortNrTextBox
|
||||
//
|
||||
this.comPortNrTextBox.Enabled = false;
|
||||
this.comPortNrTextBox.Location = new System.Drawing.Point(140, 52);
|
||||
this.comPortNrTextBox.Name = "comPortNrTextBox";
|
||||
this.comPortNrTextBox.Size = new System.Drawing.Size(34, 20);
|
||||
this.comPortNrTextBox.TabIndex = 4;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(29, 55);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(98, 13);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "Serial Port Number:";
|
||||
//
|
||||
// baudRateLabel
|
||||
//
|
||||
this.baudRateLabel.AutoSize = true;
|
||||
this.baudRateLabel.Location = new System.Drawing.Point(29, 79);
|
||||
this.baudRateLabel.Name = "baudRateLabel";
|
||||
this.baudRateLabel.Size = new System.Drawing.Size(58, 13);
|
||||
this.baudRateLabel.TabIndex = 5;
|
||||
this.baudRateLabel.Text = "Baud Rate";
|
||||
//
|
||||
// baudRateTextBox
|
||||
//
|
||||
this.baudRateTextBox.Enabled = false;
|
||||
this.baudRateTextBox.Location = new System.Drawing.Point(140, 76);
|
||||
this.baudRateTextBox.Name = "baudRateTextBox";
|
||||
this.baudRateTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.baudRateTextBox.TabIndex = 6;
|
||||
//
|
||||
// partityLabel
|
||||
//
|
||||
this.partityLabel.AutoSize = true;
|
||||
this.partityLabel.Location = new System.Drawing.Point(29, 103);
|
||||
this.partityLabel.Name = "partityLabel";
|
||||
this.partityLabel.Size = new System.Drawing.Size(33, 13);
|
||||
this.partityLabel.TabIndex = 7;
|
||||
this.partityLabel.Text = "Parity";
|
||||
//
|
||||
// dataBitsLabel
|
||||
//
|
||||
this.dataBitsLabel.AutoSize = true;
|
||||
this.dataBitsLabel.Location = new System.Drawing.Point(29, 127);
|
||||
this.dataBitsLabel.Name = "dataBitsLabel";
|
||||
this.dataBitsLabel.Size = new System.Drawing.Size(50, 13);
|
||||
this.dataBitsLabel.TabIndex = 9;
|
||||
this.dataBitsLabel.Text = "Data Bits";
|
||||
//
|
||||
// dataBitsTextBox
|
||||
//
|
||||
this.dataBitsTextBox.Enabled = false;
|
||||
this.dataBitsTextBox.Location = new System.Drawing.Point(140, 124);
|
||||
this.dataBitsTextBox.Name = "dataBitsTextBox";
|
||||
this.dataBitsTextBox.Size = new System.Drawing.Size(34, 20);
|
||||
this.dataBitsTextBox.TabIndex = 10;
|
||||
//
|
||||
// stopBitsLabel
|
||||
//
|
||||
this.stopBitsLabel.AutoSize = true;
|
||||
this.stopBitsLabel.Location = new System.Drawing.Point(29, 151);
|
||||
this.stopBitsLabel.Name = "stopBitsLabel";
|
||||
this.stopBitsLabel.Size = new System.Drawing.Size(49, 13);
|
||||
this.stopBitsLabel.TabIndex = 11;
|
||||
this.stopBitsLabel.Text = "Stop Bits";
|
||||
//
|
||||
// handshakeLabel
|
||||
//
|
||||
this.handshakeLabel.AutoSize = true;
|
||||
this.handshakeLabel.Location = new System.Drawing.Point(29, 175);
|
||||
this.handshakeLabel.Name = "handshakeLabel";
|
||||
this.handshakeLabel.Size = new System.Drawing.Size(62, 13);
|
||||
this.handshakeLabel.TabIndex = 13;
|
||||
this.handshakeLabel.Text = "Handshake";
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(140, 28);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(30, 31);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(137, 7);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "ComonentName";
|
||||
//
|
||||
// parityComboBox
|
||||
//
|
||||
this.parityComboBox.Enabled = false;
|
||||
this.parityComboBox.FormattingEnabled = true;
|
||||
this.parityComboBox.Location = new System.Drawing.Point(140, 100);
|
||||
this.parityComboBox.Name = "parityComboBox";
|
||||
this.parityComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.parityComboBox.TabIndex = 8;
|
||||
//
|
||||
// stopBitsComboBox
|
||||
//
|
||||
this.stopBitsComboBox.Enabled = false;
|
||||
this.stopBitsComboBox.FormattingEnabled = true;
|
||||
this.stopBitsComboBox.Location = new System.Drawing.Point(140, 148);
|
||||
this.stopBitsComboBox.Name = "stopBitsComboBox";
|
||||
this.stopBitsComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.stopBitsComboBox.TabIndex = 12;
|
||||
//
|
||||
// handshakeComboBox
|
||||
//
|
||||
this.handshakeComboBox.Enabled = false;
|
||||
this.handshakeComboBox.FormattingEnabled = true;
|
||||
this.handshakeComboBox.Location = new System.Drawing.Point(140, 172);
|
||||
this.handshakeComboBox.Name = "handshakeComboBox";
|
||||
this.handshakeComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.handshakeComboBox.TabIndex = 14;
|
||||
//
|
||||
// setDtrCheckBox
|
||||
//
|
||||
this.setDtrCheckBox.AutoSize = true;
|
||||
this.setDtrCheckBox.Enabled = false;
|
||||
this.setDtrCheckBox.Location = new System.Drawing.Point(140, 201);
|
||||
this.setDtrCheckBox.Name = "setDtrCheckBox";
|
||||
this.setDtrCheckBox.Size = new System.Drawing.Size(89, 17);
|
||||
this.setDtrCheckBox.TabIndex = 15;
|
||||
this.setDtrCheckBox.Text = "Set DTR to 1";
|
||||
this.setDtrCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// AmbientCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.setDtrCheckBox);
|
||||
this.Controls.Add(this.handshakeComboBox);
|
||||
this.Controls.Add(this.stopBitsComboBox);
|
||||
this.Controls.Add(this.parityComboBox);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Controls.Add(this.handshakeLabel);
|
||||
this.Controls.Add(this.stopBitsLabel);
|
||||
this.Controls.Add(this.dataBitsTextBox);
|
||||
this.Controls.Add(this.dataBitsLabel);
|
||||
this.Controls.Add(this.partityLabel);
|
||||
this.Controls.Add(this.baudRateTextBox);
|
||||
this.Controls.Add(this.baudRateLabel);
|
||||
this.Controls.Add(this.comPortNrTextBox);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Name = "AmbientCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(300, 240);
|
||||
this.Load += new System.EventHandler(this.AbbientCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.comPortNrTextBox = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.baudRateLabel = new System.Windows.Forms.Label();
|
||||
this.baudRateTextBox = new System.Windows.Forms.TextBox();
|
||||
this.partityLabel = new System.Windows.Forms.Label();
|
||||
this.dataBitsLabel = new System.Windows.Forms.Label();
|
||||
this.dataBitsTextBox = new System.Windows.Forms.TextBox();
|
||||
this.stopBitsLabel = new System.Windows.Forms.Label();
|
||||
this.handshakeLabel = new System.Windows.Forms.Label();
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.parityComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.stopBitsComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.handshakeComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// comPortNrTextBox
|
||||
//
|
||||
this.comPortNrTextBox.Enabled = false;
|
||||
this.comPortNrTextBox.Location = new System.Drawing.Point(140, 52);
|
||||
this.comPortNrTextBox.Name = "comPortNrTextBox";
|
||||
this.comPortNrTextBox.Size = new System.Drawing.Size(34, 20);
|
||||
this.comPortNrTextBox.TabIndex = 4;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(29, 55);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(98, 13);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "Serial Port Number:";
|
||||
//
|
||||
// baudRateLabel
|
||||
//
|
||||
this.baudRateLabel.AutoSize = true;
|
||||
this.baudRateLabel.Location = new System.Drawing.Point(29, 79);
|
||||
this.baudRateLabel.Name = "baudRateLabel";
|
||||
this.baudRateLabel.Size = new System.Drawing.Size(58, 13);
|
||||
this.baudRateLabel.TabIndex = 5;
|
||||
this.baudRateLabel.Text = "Baud Rate";
|
||||
//
|
||||
// baudRateTextBox
|
||||
//
|
||||
this.baudRateTextBox.Enabled = false;
|
||||
this.baudRateTextBox.Location = new System.Drawing.Point(140, 76);
|
||||
this.baudRateTextBox.Name = "baudRateTextBox";
|
||||
this.baudRateTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.baudRateTextBox.TabIndex = 6;
|
||||
//
|
||||
// partityLabel
|
||||
//
|
||||
this.partityLabel.AutoSize = true;
|
||||
this.partityLabel.Location = new System.Drawing.Point(29, 103);
|
||||
this.partityLabel.Name = "partityLabel";
|
||||
this.partityLabel.Size = new System.Drawing.Size(33, 13);
|
||||
this.partityLabel.TabIndex = 7;
|
||||
this.partityLabel.Text = "Parity";
|
||||
//
|
||||
// dataBitsLabel
|
||||
//
|
||||
this.dataBitsLabel.AutoSize = true;
|
||||
this.dataBitsLabel.Location = new System.Drawing.Point(29, 127);
|
||||
this.dataBitsLabel.Name = "dataBitsLabel";
|
||||
this.dataBitsLabel.Size = new System.Drawing.Size(50, 13);
|
||||
this.dataBitsLabel.TabIndex = 9;
|
||||
this.dataBitsLabel.Text = "Data Bits";
|
||||
//
|
||||
// dataBitsTextBox
|
||||
//
|
||||
this.dataBitsTextBox.Enabled = false;
|
||||
this.dataBitsTextBox.Location = new System.Drawing.Point(140, 124);
|
||||
this.dataBitsTextBox.Name = "dataBitsTextBox";
|
||||
this.dataBitsTextBox.Size = new System.Drawing.Size(34, 20);
|
||||
this.dataBitsTextBox.TabIndex = 10;
|
||||
//
|
||||
// stopBitsLabel
|
||||
//
|
||||
this.stopBitsLabel.AutoSize = true;
|
||||
this.stopBitsLabel.Location = new System.Drawing.Point(29, 151);
|
||||
this.stopBitsLabel.Name = "stopBitsLabel";
|
||||
this.stopBitsLabel.Size = new System.Drawing.Size(49, 13);
|
||||
this.stopBitsLabel.TabIndex = 11;
|
||||
this.stopBitsLabel.Text = "Stop Bits";
|
||||
//
|
||||
// handshakeLabel
|
||||
//
|
||||
this.handshakeLabel.AutoSize = true;
|
||||
this.handshakeLabel.Location = new System.Drawing.Point(29, 175);
|
||||
this.handshakeLabel.Name = "handshakeLabel";
|
||||
this.handshakeLabel.Size = new System.Drawing.Size(62, 13);
|
||||
this.handshakeLabel.TabIndex = 13;
|
||||
this.handshakeLabel.Text = "Handshake";
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(140, 28);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(30, 31);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(137, 7);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "ComonentName";
|
||||
//
|
||||
// parityComboBox
|
||||
//
|
||||
this.parityComboBox.Enabled = false;
|
||||
this.parityComboBox.FormattingEnabled = true;
|
||||
this.parityComboBox.Location = new System.Drawing.Point(140, 100);
|
||||
this.parityComboBox.Name = "parityComboBox";
|
||||
this.parityComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.parityComboBox.TabIndex = 8;
|
||||
//
|
||||
// stopBitsComboBox
|
||||
//
|
||||
this.stopBitsComboBox.Enabled = false;
|
||||
this.stopBitsComboBox.FormattingEnabled = true;
|
||||
this.stopBitsComboBox.Location = new System.Drawing.Point(140, 148);
|
||||
this.stopBitsComboBox.Name = "stopBitsComboBox";
|
||||
this.stopBitsComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.stopBitsComboBox.TabIndex = 12;
|
||||
//
|
||||
// handshakeComboBox
|
||||
//
|
||||
this.handshakeComboBox.Enabled = false;
|
||||
this.handshakeComboBox.FormattingEnabled = true;
|
||||
this.handshakeComboBox.Location = new System.Drawing.Point(140, 172);
|
||||
this.handshakeComboBox.Name = "handshakeComboBox";
|
||||
this.handshakeComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.handshakeComboBox.TabIndex = 14;
|
||||
//
|
||||
// AmbientCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.handshakeComboBox);
|
||||
this.Controls.Add(this.stopBitsComboBox);
|
||||
this.Controls.Add(this.parityComboBox);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Controls.Add(this.handshakeLabel);
|
||||
this.Controls.Add(this.stopBitsLabel);
|
||||
this.Controls.Add(this.dataBitsTextBox);
|
||||
this.Controls.Add(this.dataBitsLabel);
|
||||
this.Controls.Add(this.partityLabel);
|
||||
this.Controls.Add(this.baudRateTextBox);
|
||||
this.Controls.Add(this.baudRateLabel);
|
||||
this.Controls.Add(this.comPortNrTextBox);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Name = "AmbientCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(300, 240);
|
||||
this.Load += new System.EventHandler(this.AbbientCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -237,7 +224,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
private System.Windows.Forms.ComboBox parityComboBox;
|
||||
private System.Windows.Forms.ComboBox stopBitsComboBox;
|
||||
private System.Windows.Forms.ComboBox handshakeComboBox;
|
||||
private System.Windows.Forms.CheckBox setDtrCheckBox;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,7 +110,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
dataBitsTextBox.Text = config.DataBits.ToString();
|
||||
stopBitsComboBox.Text = config.StopBits.ToString();
|
||||
handshakeComboBox.Text = config.Handshake.ToString();
|
||||
setDtrCheckBox.Checked = config.SetDtrToOne;
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
@@ -122,7 +121,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
dataBitsTextBox.Enabled = true;
|
||||
stopBitsComboBox.Enabled = true;
|
||||
handshakeComboBox.Enabled = true;
|
||||
setDtrCheckBox.Enabled = true;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
@@ -138,7 +136,6 @@ namespace TBF.BenchControl.Ambient.Comet
|
||||
config.DataBits = int.Parse(dataBitsTextBox.Text);
|
||||
config.StopBits = GetStopBits(stopBitsComboBox.SelectedItem.ToString());
|
||||
config.Handshake = GetHandshake(handshakeComboBox.SelectedItem.ToString());
|
||||
config.SetDtrToOne = setDtrCheckBox.Checked;
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
@@ -20,11 +20,7 @@ namespace TBF.BenchControl
|
||||
public int ItemNr { get { return cfg.ItemNr; } }
|
||||
public DebugMode DebugLevel { get { return cfg.DebugLevel; } set { cfg.DebugLevel = value; } }
|
||||
public LogLevel LogLevel { get { return cfg.LogLevel; } }
|
||||
public IList<MeasurementCorrection> Corrections
|
||||
{
|
||||
get { return cfg.Corrections; }
|
||||
set { cfg.Corrections = value; }
|
||||
}
|
||||
public IList<MeasurementCorrection> Corrections { get { return cfg.Corrections; } }
|
||||
|
||||
|
||||
/// Constructor, components created in this way is used by
|
||||
|
||||
@@ -33,7 +33,6 @@ namespace TBF.BenchControl.Dummy.Balance
|
||||
public IValve DrainValve2 { get { return null; } }
|
||||
public bool ContainsMoreThen(float thld) { return (thld == 0); }
|
||||
public bool IsEmpty() { return true; }
|
||||
public double EvaporationRate(double t) { return 0; }
|
||||
public string Format { get { return "F3"; } }
|
||||
public int EmptyTimeSec { get { return 5; } }
|
||||
public float BuoyancyTemp { get { return 20.0f; } }
|
||||
|
||||
@@ -32,10 +32,5 @@ namespace TBF.BenchControl.Dummy.Diverter
|
||||
public int ThresholdGate { get { return 50; } }
|
||||
public int ThresholdLo { get { return 10; } }
|
||||
public int ThresholdHi { get { return 90; } }
|
||||
|
||||
public double TestTimeCorrection(double flow)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using log4net;
|
||||
@@ -58,9 +58,9 @@ namespace TBF.BenchControl.Dummy.RegulValve
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout)
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
{
|
||||
return new SetFlowOp(this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout);
|
||||
return new SetFlowOp(this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -74,9 +74,9 @@ namespace TBF.BenchControl.Dummy.RegulValve
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
{
|
||||
return new SetFlowOp(this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, true);
|
||||
return new SetFlowOp(this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace TBF.BenchControl.Dummy.RegulValve
|
||||
/// <param name="leaveMeasurementRunning">true = Leave the measurement running after op. stop</param>
|
||||
/// <remarks>Only Elde.Valve flow are used, other flow on the lists are ignored</remarks>
|
||||
public SetFlowOp(IRegulValve regulValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, bool leaveMeasurementRunning)
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout, bool leaveMeasurementRunning)
|
||||
{
|
||||
this.regulValve = regulValve as RegulValve;
|
||||
if (this.regulValve == null) throw new ArgumentNullException("regValve is null or not Dummy.RegulValve");
|
||||
@@ -72,8 +72,9 @@ namespace TBF.BenchControl.Dummy.RegulValve
|
||||
/// Set required water flow - Do not leave the measurement running.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow, int timeout)
|
||||
: this(regValve, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, false)
|
||||
public SetFlowOp(IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
: this(regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -81,8 +82,9 @@ namespace TBF.BenchControl.Dummy.RegulValve
|
||||
/// Set required water flow - No timeout.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow)
|
||||
: this(regValve, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, int.MaxValue, false)
|
||||
public SetFlowOp(IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
float pidCoef, DoubleBox measuredFlow)
|
||||
: this(regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, int.MaxValue, false)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace TBF.BenchControl.Elde
|
||||
EnduranceCycleStop = 13,
|
||||
}
|
||||
|
||||
#if FUZHOU_300 || IZRAEL_200 || TORINO_50 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || BADGER_VELKA_TRAT || PUCHONG_200 || SLM_50 || GENESIS || MALTA_WSD25 || SLM_END || WARSAW_END || BERLIN || SLM_150 || PETERSBURG_50 || PETERSBURG_200 || DEWA_300 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
#if FUZHOU_300 || IZRAEL_200 || TORINO_50 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || TURA_IPERL || TURA_SPECIAL || BADGER_VELKA_TRAT || PUCHONG_200 || SLM_50 || GENESIS || MALTA_WSD25 || SLM_END || WARSAW_END || BERLIN || SLM_150 || PETERSBURG_50 || PETERSBURG_200 || DEWA_300 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
public enum StatusP : ulong
|
||||
{
|
||||
RefFlowMeterMask = 0x7, /// bits 0,1,2
|
||||
|
||||
@@ -56,7 +56,6 @@ namespace TBF.BenchControl.Elde
|
||||
public uint FmState { get { return controlCom.FmState; } }
|
||||
public uint BeginState(int wmNr0) { return controlCom.BeginState(wmNr0); }
|
||||
public double ReferenceFreq { get { return controlCom.ReferenceFreq; } } /// In [Hz] 0..2500, nom.=2000
|
||||
public double ReferenceFreqs(int i) { return controlCom.ReferenceFreqs(i); }
|
||||
public double ReferenceFlow { get { return controlCom.ReferenceFlow; } }
|
||||
public float RValvePosition(int rvNr1) { return controlCom.RValvePosition(rvNr1); }
|
||||
public float DivSamples(int time, int divIx0) { return controlCom.DivSamples(time, divIx0); } /// Time unit is 2 ms
|
||||
@@ -132,11 +131,11 @@ namespace TBF.BenchControl.Elde
|
||||
public byte MeretProtocol = 0;
|
||||
|
||||
// Array length is the reference flowmeters count plus one
|
||||
#if DN100 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || SLM_150 || SENTEC || CEVAK_200
|
||||
#if DN100 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || PUCHONG_200 || SLM_150 || SENTEC || CEVAK_200
|
||||
public uint[,] RegValveCalib = new uint[8,2] {{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500}};
|
||||
public byte[] MeretRS485Address = new byte[4];
|
||||
public float[] EtCalib = new float[6] { 1, 1, 1, 1, 1, 1 };
|
||||
#elif PUCHONG_200 || GENESIS || BERLIN || PETERSBURG_200 || RUM_MOB
|
||||
#elif GENESIS || BERLIN || PETERSBURG_200 || RUM_MOB
|
||||
public uint[,] RegValveCalib = new uint[16, 2] { {100,500}, {100,500}, {100,500}, {100,500},
|
||||
{100,500}, {100,500}, {100,500}, {100,500},
|
||||
{100,500}, {100,500}, {100,500}, {100,500},
|
||||
@@ -150,7 +149,7 @@ namespace TBF.BenchControl.Elde
|
||||
{100,500}, {100,500}, {100,500}, {100,500} };
|
||||
public byte[] MeretRS485Address = new byte[4];
|
||||
public float[] EtCalib = new float[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
|
||||
#elif MUNICH || TORINO_50 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || TORUN_50 || CEVAK_40 || TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || MURES_40 || FUZHOU_50 || SLM_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || FUZHOU_100
|
||||
#elif MUNICH || TORINO_50 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || TORUN_50 || CEVAK_40 || TURA_IPERL || TURA_SPECIAL || MURES_40 || FUZHOU_50 || SLM_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FUZHOU_100
|
||||
public uint[,] RegValveCalib = new uint[8,2] {{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500}};
|
||||
public byte[] MeretRS485Address = new byte[4];
|
||||
public float[] EtCalib = new float[5] { 1, 1, 1, 1, 1 };
|
||||
@@ -191,20 +190,6 @@ namespace TBF.BenchControl.Elde
|
||||
int shortImp;
|
||||
StopDevs stopDevs;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Set values to be applied during a test
|
||||
/// </summary>
|
||||
/// <param name="filters">Filters for meter pulses</param>
|
||||
/// <param name="pid">PID coefficient for flow control</param>
|
||||
/// <param name="shortPulses">Short pulses mode (0 = off)</param>
|
||||
public void SetFiltersPidShortPulses(int[] filters, float pid, int shortPulses)
|
||||
{
|
||||
this.filters = filters;
|
||||
this.regConst = (int)pid;
|
||||
this.shortImp = shortPulses;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the power of the selected pump
|
||||
/// </summary>
|
||||
@@ -464,8 +449,9 @@ namespace TBF.BenchControl.Elde
|
||||
this.testMethods = 0;
|
||||
this.stopDevs = 0;
|
||||
}
|
||||
|
||||
if (this.filters == null) this.filters = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, };
|
||||
this.filters = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, };
|
||||
this.regConst = 0;
|
||||
this.shortImp = 0;
|
||||
}
|
||||
|
||||
/// <summary>Run this device</summary>
|
||||
@@ -486,7 +472,8 @@ namespace TBF.BenchControl.Elde
|
||||
{
|
||||
controlCom.SendCommand(cmd, refNr, (benchModelRoute & routeMask),
|
||||
totalRefPulses, massRefPulses, testMethods,
|
||||
uintFilters, FMFreq, regConst, shortImp, stopDevs);
|
||||
uintFilters,
|
||||
FMFreq, regConst, shortImp, stopDevs);
|
||||
}
|
||||
|
||||
controlCom.RunDeviceAfter();
|
||||
@@ -518,7 +505,8 @@ namespace TBF.BenchControl.Elde
|
||||
/// <param name="shortImp">0 = default value, 1 = spec. processing of very short pulses</param>
|
||||
/// <param name="stopDevs">What to stop</param>
|
||||
public void SendCommand(Command cmd, int refFlowmtrNr, UInt128 route,
|
||||
int totalRefPulses, int massRefPulses, TestMethods testMethods, StopDevs stopDevs)
|
||||
int totalRefPulses, int massRefPulses, TestMethods testMethods,
|
||||
int[] filters, int regConst, int shortImp, StopDevs stopDevs)
|
||||
{
|
||||
this.cmd = cmd;
|
||||
this.refNr = refFlowmtrNr;
|
||||
@@ -526,6 +514,9 @@ namespace TBF.BenchControl.Elde
|
||||
this.totalRefPulses = totalRefPulses;
|
||||
this.massRefPulses = massRefPulses;
|
||||
this.testMethods = testMethods;
|
||||
this.filters = filters;
|
||||
this.regConst = regConst;
|
||||
this.shortImp = shortImp;
|
||||
this.stopDevs = stopDevs;
|
||||
|
||||
sendCommandFlag = true;
|
||||
@@ -605,7 +596,8 @@ namespace TBF.BenchControl.Elde
|
||||
/// <param name="refPulses">Number of reference pulses to complete the test</param>
|
||||
/// <returns>Created operation</returns>
|
||||
public IOperation StartMeasurementOp(OutputPath outputPath, TestMethods method,
|
||||
double requiredFlowLo, double requiredFlowHi, int refPulses)
|
||||
double requiredFlowLo, double requiredFlowHi,
|
||||
int refPulses, int[] filterConstants)
|
||||
{
|
||||
if (controlBoardCfg.DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
@@ -613,7 +605,8 @@ namespace TBF.BenchControl.Elde
|
||||
}
|
||||
else
|
||||
{
|
||||
return new StartMeasurementOp(this, outputPath, method, requiredFlowLo, requiredFlowHi, refPulses);
|
||||
return new StartMeasurementOp(this, outputPath, method, requiredFlowLo, requiredFlowHi,
|
||||
refPulses, filterConstants);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -627,7 +620,7 @@ namespace TBF.BenchControl.Elde
|
||||
/// <returns>Created operation</returns>
|
||||
public IOperation StartProlongedMeasurementOp(OutputPath outputPath, TestMethods method,
|
||||
double requiredFlowLo, double requiredFlowHi,
|
||||
int totalRefPulses, int massRefPulses)
|
||||
int totalRefPulses, int massRefPulses, int[] filters)
|
||||
{
|
||||
if (controlBoardCfg.DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
@@ -635,7 +628,8 @@ namespace TBF.BenchControl.Elde
|
||||
}
|
||||
else
|
||||
{
|
||||
return new StartMeasurementOp(this, outputPath, method, requiredFlowLo, requiredFlowHi, totalRefPulses, massRefPulses);
|
||||
return new StartMeasurementOp(this, outputPath, method, requiredFlowLo, requiredFlowHi,
|
||||
totalRefPulses, massRefPulses, filters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -675,16 +669,6 @@ namespace TBF.BenchControl.Elde
|
||||
return new QueryMeasurementEndOp(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stop controls board flow regulation operation
|
||||
/// Events: FlowRegulationStopped
|
||||
/// </summary>
|
||||
/// <returns>Created operation</returns>
|
||||
public IOperation StopFlowRegulationOp(OutputPath outputPath)
|
||||
{
|
||||
return new StopFlowRegulationOp(this, outputPath);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stop the previous control board operation (diverter, gate, etc.)
|
||||
/// Events: PreviousStopped
|
||||
|
||||
@@ -19,7 +19,6 @@ namespace TBF.BenchControl.Elde
|
||||
|
||||
double referenceFreq = 650.0;
|
||||
public double ReferenceFreq { get { return referenceFreq; } }
|
||||
public double ReferenceFreqs(int i) { return 0; }
|
||||
|
||||
int[] etPulses = new int[Config.Data.WMsCount + 1];
|
||||
public int EtPulses(int wmNr1)
|
||||
|
||||
@@ -20,8 +20,7 @@ namespace TBF.BenchControl.Elde
|
||||
public StatusP StatusP { get { return (StatusP)ctrlBrdComponent.StatusP; } }
|
||||
|
||||
#if DN100 || MUNICH || FUZHOU_150
|
||||
public double ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq; } } /// In [Hz] 0..2500, nom.=2000
|
||||
public double ReferenceFreqs(int i) { return 0; }
|
||||
public float ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq; } } /// In [Hz] 0..2500, nom.=2000
|
||||
#else /// all newer benches
|
||||
/// <summary>
|
||||
/// In case of I11, I12
|
||||
@@ -31,20 +30,12 @@ namespace TBF.BenchControl.Elde
|
||||
/// otherwise
|
||||
/// referenceFreq[0] = I2 or I3 or I4
|
||||
/// </summary>
|
||||
public double ReferenceFreq { get { return 1000.0 * ctrlBrdComponent.referenceFreq[0]; } } /// In [Hz] 0..2500, nom.=2000 ///
|
||||
public double ReferenceFreqs(int i)
|
||||
{
|
||||
if ((i >= 0) && (i < ctrlBrdComponent.referenceFreq.Length))
|
||||
{
|
||||
return 1000.0 * ctrlBrdComponent.referenceFreq[0]; /// In [Hz] 0..2500, nom.=2000
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
public double ReferenceFreq { get { return 1000.0 * ctrlBrdComponent.referenceFreq[0]; } } /// In [Hz] 0..2500, nom.=2000
|
||||
#endif
|
||||
|
||||
public int EtPulses(int wmNr1) { return (int)ctrlBrdComponent.etPulses[wmNr1]; }
|
||||
|
||||
#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40 || IZRAEL_200 || MALTA_WSD25
|
||||
#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40 || IZRAEL_200 || PUCHONG_200 || MALTA_WSD25
|
||||
public int EtPulsesK { get { return 1; } }
|
||||
#else /// all new benches
|
||||
public int EtPulsesK { get { return (int)ctrlBrdComponent.etPulsesK; } }
|
||||
@@ -71,7 +62,7 @@ namespace TBF.BenchControl.Elde
|
||||
public UInt128 RRoute { get { return ctrlBrdComponent.rRoute; } }
|
||||
#endif
|
||||
|
||||
#if GENESIS || KEMPNO_50 || KRAKOW_50 || BAHRAIN_50 || BADGER_STREDNA_TRAT || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50 || DEWA_300 || PUCHONG_200 || TURA_IPERL_NEW
|
||||
#if GENESIS || KEMPNO_50 || KRAKOW_50 || BAHRAIN_50 || BADGER_STREDNA_TRAT || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50 || DEWA_300
|
||||
public uint DivTime(int id) { return ctrlBrdComponent.divTime[id]; }
|
||||
public void SetDivLimit(int divNo, uint limLoPct, uint limHiPct)
|
||||
{
|
||||
@@ -115,7 +106,7 @@ namespace TBF.BenchControl.Elde
|
||||
public float AnalogInput(int adcNr0) { return ctrlBrdComponent.Analogy[adcNr0]; }
|
||||
public uint AnalogInputRaw(int adcNr0, int bank) { return ctrlBrdComponent.AnalogyRaw[adcNr0, bank]; } /// bank0=RV, bank1=Temp
|
||||
|
||||
#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
|
||||
#if DN100 || MUNICH || BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || PUCHONG_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
|
||||
public float TotalRefVolume { get { return ctrlBrdComponent.ReferenceVolume; } }
|
||||
public float MassRefVolume { get { return ctrlBrdComponent.ReferenceVolume; } }
|
||||
#else /// all new test benches
|
||||
@@ -131,7 +122,7 @@ namespace TBF.BenchControl.Elde
|
||||
public uint[] WMeterCont { get { return new uint[3]; } } /// Dummy
|
||||
#endif
|
||||
|
||||
#if KEMPNO_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
#if KEMPNO_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
public float ValveOpenCloseTime { get { return ctrlBrdComponent.ValveMoveTime[0]; } }
|
||||
#else
|
||||
public float ValveOpenCloseTime { get { return 0.001f; } }
|
||||
@@ -374,7 +365,7 @@ namespace TBF.BenchControl.Elde
|
||||
route = route & (~(((UInt128)1) << 80));
|
||||
#endif
|
||||
|
||||
log.InfoFormat("DoSendCommand(Cmd={0},Ref#={1},Route={2},TotalPls={3},MassPls={4},TM={5},filt={6},FM=[{7}{8}{9}{10}{11}{12}],Reg={13},ShrtImp={14},Stop={15})",
|
||||
log.InfoFormat("SendCommand(Cmd={0},Ref#={1},Route={2},TotalPls={3},MassPls={4},TM={5},filt={6},FM=[{7}{8}{9}{10}{11}{12}],Reg={13},ShrtImp={14},Stop={15})",
|
||||
cmd, /// 0
|
||||
refFlowMeterNr, /// 1
|
||||
Utils.RouteToStr(route), /// 2
|
||||
@@ -390,7 +381,7 @@ namespace TBF.BenchControl.Elde
|
||||
#if DN100 || MUNICH
|
||||
ctrlBrdComponent.SendCommand((uint)cmd, (byte)refFlowMeterNr, (ulong)route, (uint)totalRefPulses, (uint)testMethods,
|
||||
Convert.ToSingle(filterConstants[0]), fmFreq[0], (uint)regConst, (uint)shortImp, (uint)stopDevs);
|
||||
#elif BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
|
||||
#elif BADGER_MALA_TRAT || BADGER_VELKA_TRAT || FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || PUCHONG_200 || TORINO_50 || TORUN_50 || CEVAK_40 || MURES_40
|
||||
ctrlBrdComponent.SendCommand((uint)cmd, (byte)refFlowMeterNr, (ulong)route, (uint)totalRefPulses, (uint)testMethods,
|
||||
Convert.ToSingle(filterConstants[0]), fmFreq, (uint)regConst, (uint)shortImp, (uint)stopDevs);
|
||||
#elif BERLIN || SLM_150 || PETERSBURG_200
|
||||
@@ -401,16 +392,16 @@ namespace TBF.BenchControl.Elde
|
||||
uint[] pulsesArr = new uint[] { (uint)totalRefPulses, (uint)massRefPulses };
|
||||
ctrlBrdComponent.SendCommand((uint)cmd, (byte)refFlowMeterNr, (ulong)(route & (UInt128)0xFFFFFFFFFFFFFFFF), (ulong)(route >> 64), pulsesArr, (uint)testMethods,
|
||||
filterConstants, fmFreq, (uint)regConst, (uint)shortImp, (uint)stopDevs);
|
||||
#elif JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || FILIPINY_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
#elif JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50 || SENTEC || FUZHOU_100 || CEVAK_200 || IZRAEL_50
|
||||
uint[] pulsesArr = new uint[] { (uint)totalRefPulses, (uint)massRefPulses };
|
||||
ctrlBrdComponent.SendCommand((uint)cmd, (byte)refFlowMeterNr, (ulong)route, pulsesArr, (uint)testMethods,
|
||||
filterConstants, fmFreq, (uint)regConst, (uint)shortImp, (uint)stopDevs);
|
||||
#else /// if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || MALTA_WSD25 || SLM_50 || SLM_END || WARSAW_END || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 || BADGER_STREDNA_TRAT || PUCHONG_200
|
||||
#else /// if TURA_IPERL || TURA_SPECIAL || MALTA_WSD25 || SLM_50 || SLM_END || WARSAW_END || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 || BADGER_STREDNA_TRAT
|
||||
uint[] pulsesArr = new uint[] { (uint)totalRefPulses, (uint)massRefPulses };
|
||||
ctrlBrdComponent.SendCommand((uint)cmd, (byte)refFlowMeterNr, (ulong)route, pulsesArr, (uint)testMethods,
|
||||
Convert.ToSingle(filterConstants[0]), fmFreq, (uint)regConst, (uint)shortImp, (uint)stopDevs);
|
||||
#endif
|
||||
log.DebugFormat("DoSendCommand() Route = {0}", Utils.RouteToStr(route));
|
||||
log.InfoFormat("DoSendCommand() Route = {0}", Utils.RouteToStr(route));
|
||||
|
||||
if (lastRoute != route) /// This is to update the MainWnd status bar on changes only
|
||||
{
|
||||
@@ -442,7 +433,7 @@ namespace TBF.BenchControl.Elde
|
||||
if (lastStatusP != bufferedStatusP)
|
||||
{
|
||||
string statusPStr = ((ulong)bufferedStatusP).ToString("x16");
|
||||
log.DebugFormat("RunDeviceBefore() StatusP = {0}", statusPStr);
|
||||
log.InfoFormat("RunDeviceBefore() StatusP = {0}", statusPStr);
|
||||
//Program.MainWnd.UpdateStatusP(statusPStr); /// TODO 170309
|
||||
lastStatusP = bufferedStatusP;
|
||||
}
|
||||
@@ -458,7 +449,7 @@ namespace TBF.BenchControl.Elde
|
||||
if (lastStatusP != bufferedStatusP)
|
||||
{
|
||||
string statusPStr = ((ulong)bufferedStatusP).ToString("x16");
|
||||
log.DebugFormat("RunDeviceAfter() StatusP = {0}", statusPStr);
|
||||
log.InfoFormat("RunDeviceAfter() StatusP = {0}", statusPStr);
|
||||
//Program.MainWnd.UpdateStatusP(statusPStr); /// TODO 170309
|
||||
lastStatusP = bufferedStatusP;
|
||||
}
|
||||
|
||||
@@ -46,15 +46,6 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
public int ThresholdHi { get { return diverterCfg.ThresholdHi; } }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// For a given flow in [m3/h] returns a test time correction in [s]
|
||||
/// </summary>
|
||||
public double TestTimeCorrection(double flow)
|
||||
{
|
||||
return Config.Formulas.GetCorrection(flow, Corrections);
|
||||
}
|
||||
|
||||
|
||||
public Diverter()
|
||||
{
|
||||
}
|
||||
@@ -117,12 +108,8 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
flowMtrNr4Cmd = divNrFromName;
|
||||
#elif CEVAK_200
|
||||
flowMtrNr4Cmd = (divNrFromName == 4) ? 5 : divNrFromName;
|
||||
#elif DEWA_300 || PUCHONG_200
|
||||
#elif DEWA_300
|
||||
flowMtrNr4Cmd = divNrFromName + 2; /// Div1: 1,2,3, Div2: 4, Div3: 5, Div4: 6, Div5: 7
|
||||
#elif TURA_IPERL || TURA_IPERL_NEW
|
||||
flowMtrNr4Cmd = divNrFromName + 16 * divNrFromName;
|
||||
#elif FILIPINY_50
|
||||
flowMtrNr4Cmd = (divNrFromName == 1) ? 1 : 7;
|
||||
#else
|
||||
flowMtrNr4Cmd = (divNrFromName == 1) ? 1 : 3;
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2016 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
@@ -9,7 +8,7 @@ using TBF.BenchControl.Generic;
|
||||
|
||||
namespace TBF.BenchControl.Elde.Diverter
|
||||
{
|
||||
public class DiverterCfg : ComponentCfgBase, IChildComponentCfg, GenericDevices.ICalibInfoCfg
|
||||
public class DiverterCfg : ComponentCfgBase, IChildComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DiverterCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
@@ -27,27 +26,6 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
public int ThresholdLo; /// 0..100 in %, threshold for low level when diverter transition time is measured
|
||||
public int ThresholdHi; /// 0..100 in %, threshold for high level when diverter transition time is measured
|
||||
|
||||
/// Calibration info serialized parameters displayed in Metrology tab page
|
||||
string calibCertificateNr;
|
||||
DateTime calibDate;
|
||||
DateTime calibValidDate;
|
||||
public string CalibCertificateNr
|
||||
{
|
||||
get { return calibCertificateNr; }
|
||||
set { calibCertificateNr = value; }
|
||||
}
|
||||
public DateTime CalibDate
|
||||
{
|
||||
get { return calibDate; }
|
||||
set { calibDate = value; }
|
||||
}
|
||||
public DateTime CalibValidDate
|
||||
{
|
||||
get { return calibValidDate; }
|
||||
set { calibValidDate = value; }
|
||||
}
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
DiverterCfg()
|
||||
{
|
||||
@@ -60,7 +38,6 @@ namespace TBF.BenchControl.Elde.Diverter
|
||||
StartingLevel = 50;
|
||||
ThresholdLo = 10;
|
||||
ThresholdHi = 90;
|
||||
calibCertificateNr = string.Empty;
|
||||
}
|
||||
|
||||
public DiverterCfg(IComponentFactory factory)
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace TBF.BenchControl.Elde
|
||||
public void Start()
|
||||
{
|
||||
controlBoard.SyncRoute();
|
||||
controlBoard.SendCommand(commandOnStartOp, 0, controlBoard.Route, 0, 0, testMethod, StopDevs.None);
|
||||
controlBoard.SendCommand(commandOnStartOp, 0, controlBoard.Route, 0, 0, testMethod, new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, 20, 0, StopDevs.None);
|
||||
opState = OpState.StartingCommand;
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace TBF.BenchControl.Elde
|
||||
if (commandOnStopOp != Command.None)
|
||||
{
|
||||
controlBoard.SyncRoute();
|
||||
controlBoard.SendCommand(commandOnStopOp, 0, controlBoard.Route, 0, 0, testMethod, StopDevs.None);
|
||||
controlBoard.SendCommand(commandOnStopOp, 0, controlBoard.Route, 0, 0, testMethod, new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, 20, 0, StopDevs.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,27 @@ namespace TBF.BenchControl.Elde.FlowMeter
|
||||
|
||||
public int Idx1 { get { return flowMeterCfg.Idx1; } }
|
||||
public double NominalFlow { get { return flowMeterCfg.NominalFlow; } }
|
||||
public double LtrPerPulse { get { return flowMeterCfg.NominalFlow / 7200.0; } } /// Nominal frequency is 2000 Hz
|
||||
public double LtrPerPulse
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Idx1 == 48 || Idx1 == 80 || Idx1 == 96)
|
||||
{
|
||||
/// 2 flow meters, nominal frequency is 4000 Hz
|
||||
return flowMeterCfg.NominalFlow / 14400.0f;
|
||||
}
|
||||
else if (Idx1 == 112)
|
||||
{
|
||||
/// 3 flow meters, nominal frequency is 6000 Hz
|
||||
return flowMeterCfg.NominalFlow / 21600.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Nominal frequency is 2000 Hz
|
||||
return flowMeterCfg.NominalFlow / 7200.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double LtrPerPulseCorrected(double flow, int rangeIx)
|
||||
{
|
||||
|
||||
@@ -152,7 +152,8 @@ namespace TBF.BenchControl.Elde.FlowMeter
|
||||
message += Environment.NewLine + "'Idx1' should be between 0 and 8";
|
||||
}
|
||||
#else
|
||||
if (!int.TryParse(positionTextBox.Text, out dummy) || (dummy < 1) || (dummy > 7))
|
||||
if (!int.TryParse(positionTextBox.Text, out dummy) || (dummy < 1)
|
||||
|| ((dummy > 7) && (dummy != 48) && (dummy != 80) && (dummy != 96) && (dummy != 112)))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "'Idx1' should be between 1 and 7";
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
namespace TBF.BenchControl.Elde.FlowMeterDewa
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return "FlowMeterDewa"; } }
|
||||
|
||||
public void ResetStaticProperties() { FlowMeter.ResetStaticProperties(); }
|
||||
|
||||
public IComponent DummyComponent() { return new FlowMeter(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new FlowMeter(cfg, components); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new FlowMeterCfg(this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(FlowMeterCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using log4net;
|
||||
using TBF.Boxes;
|
||||
using TBF.BenchControl.GenericDevices;
|
||||
|
||||
namespace TBF.BenchControl.Elde.FlowMeterDewa
|
||||
{
|
||||
public class FlowMeter : ComponentBase, IFlowMeter
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(FlowMeter));
|
||||
public override string ToString() { return string.Format("FlowMeter({0})", Cfg.ToString(1)); }
|
||||
|
||||
readonly FlowMeterCfg flowMeterCfg;
|
||||
readonly ControlBoardDev controlBoard;
|
||||
readonly IFlowMeter flowMeter1;
|
||||
readonly IFlowMeter flowMeter2;
|
||||
readonly IFlowMeter flowMeter3;
|
||||
readonly double nominalFlow;
|
||||
readonly double ltrPerPulse;
|
||||
readonly int flowMetersCount;
|
||||
readonly int flowMetersBitfield;
|
||||
|
||||
public int Idx1 { get { return flowMetersBitfield; } }
|
||||
public double NominalFlow { get { return nominalFlow; } }
|
||||
public double LtrPerPulse { get { return ltrPerPulse; } }
|
||||
|
||||
double[] refFreq;
|
||||
|
||||
public double LtrPerPulseCorrected(double flow, int rangeIx)
|
||||
{
|
||||
if (flow < 0.1 * NominalFlow) return LtrPerPulse; /// No correction for small flow
|
||||
|
||||
refFreq[0] = controlBoard.ReferenceFreqs(0);
|
||||
refFreq[2] = controlBoard.ReferenceFreqs(2);
|
||||
refFreq[3] = controlBoard.ReferenceFreqs(3);
|
||||
refFreq[1] = refFreq[0] - refFreq[2] - refFreq[3];
|
||||
|
||||
double ltrPerPulseCorrected = 0;
|
||||
if (flowMeter1 != null) ltrPerPulseCorrected += refFreq[1] * flowMeter1.LtrPerPulseCorrected(flow * refFreq[1] / refFreq[0], rangeIx);
|
||||
if (flowMeter2 != null) ltrPerPulseCorrected += refFreq[2] * flowMeter2.LtrPerPulseCorrected(flow * refFreq[2] / refFreq[0], rangeIx);
|
||||
if (flowMeter3 != null) ltrPerPulseCorrected += refFreq[3] * flowMeter3.LtrPerPulseCorrected(flow * refFreq[3] / refFreq[0], rangeIx);
|
||||
return ltrPerPulseCorrected / refFreq[0];
|
||||
}
|
||||
|
||||
|
||||
public bool RangeEnabled(int ix) { return flowMeterCfg.RangeEnabled(ix); }
|
||||
public double GetTempLo(int ix) { return flowMeterCfg.GetTempLo(ix); }
|
||||
public double GetTempHi(int ix) { return flowMeterCfg.GetTempHi(ix); }
|
||||
public double GetPressLo(int ix) { return flowMeterCfg.GetPressLo(ix); }
|
||||
public double GetPressHi(int ix) { return flowMeterCfg.GetPressHi(ix); }
|
||||
|
||||
|
||||
public FlowMeter()
|
||||
{
|
||||
}
|
||||
|
||||
public FlowMeter(Generic.IComponentCfg cfg, IList<Generic.IComponent> components)
|
||||
: base(cfg)
|
||||
{
|
||||
flowMeterCfg = cfg as FlowMeterCfg;
|
||||
|
||||
controlBoard = (ControlBoardDev)TbfComponents.FindComponent(cfg.ParentName, components);
|
||||
if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent");
|
||||
|
||||
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMeter1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1, components) as IFlowMeter;
|
||||
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMeter2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2, components) as IFlowMeter;
|
||||
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMeter3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3, components) as IFlowMeter;
|
||||
|
||||
nominalFlow = 0;
|
||||
flowMetersCount = 0;
|
||||
flowMetersBitfield = 0;
|
||||
if (flowMeter1 != null) { nominalFlow += flowMeter1.NominalFlow; flowMetersBitfield |= (8 << flowMeter1.Idx1); flowMetersCount++; }
|
||||
if (flowMeter2 != null) { nominalFlow += flowMeter2.NominalFlow; flowMetersBitfield |= (8 << flowMeter2.Idx1); flowMetersCount++; }
|
||||
if (flowMeter3 != null) { nominalFlow += flowMeter3.NominalFlow; flowMetersBitfield |= (8 << flowMeter3.Idx1); flowMetersCount++; }
|
||||
if (flowMetersCount == 0) throw new Exception("Missing flowmeters");
|
||||
ltrPerPulse = nominalFlow / (flowMetersCount * 7200.0); /// Nominal freq. is flowMetersCount * 2000 Hz (2000, 4000 or 6000 Hz)
|
||||
|
||||
refFreq = new double[4];
|
||||
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
public double ReadFlow() { return controlBoard.ReferenceFlow; }
|
||||
public double ReadFrequency() { return controlBoard.ReferenceFreq; }
|
||||
|
||||
/// <summary>
|
||||
/// Events: FlowDone, Error
|
||||
/// </summary>
|
||||
/// <param name="flow">Reference to a variable for the flow in Bar</param>
|
||||
/// <returns>ReadFlowOp instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadFlowOp(ref DoubleBox flow)
|
||||
{
|
||||
return new ReadFlowOp(this, controlBoard, ref flow);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: flowDone, Error
|
||||
/// </summary>
|
||||
/// <param name="flow">Reference to a variable for the flow in Bar</param>
|
||||
/// <param name="flowDone">Event returned when measurement done</param>
|
||||
/// <returns>ReadFlowOp instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadFlowOp(ref DoubleBox flow, Event flowDone)
|
||||
{
|
||||
return new ReadFlowOp(this, controlBoard, ref flow, flowDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,250 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
namespace TBF.BenchControl.Elde.FlowMeterDewa
|
||||
{
|
||||
public class FlowMeterCfg : ComponentCfgBase, GenericDevices.ICalibRangesCfg, IChildComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(FlowMeterCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public IComponentCfgCtrl GetControl() { return new FlowMeterCfgCtrl(); }
|
||||
|
||||
///
|
||||
/// Serialized parameters
|
||||
///
|
||||
public string Flowmeter1; /// Flowmeter component name or string.Empty
|
||||
public string Flowmeter2; /// - ' ' -
|
||||
public string Flowmeter3; /// - ' ' -
|
||||
|
||||
public double Temp1Lo; /// 4x zero means the range is disabled
|
||||
public double Temp1Hi;
|
||||
public double Press1Lo;
|
||||
public double Press1Hi;
|
||||
|
||||
public double Temp2Lo; /// 4x zero means the range is disabled
|
||||
public double Temp2Hi;
|
||||
public double Press2Lo;
|
||||
public double Press2Hi;
|
||||
|
||||
public double Temp3Lo; /// 4x zero means the range is disabled
|
||||
public double Temp3Hi;
|
||||
public double Press3Lo;
|
||||
public double Press3Hi;
|
||||
|
||||
public double Temp4Lo; /// 4x zero means the range is disabled
|
||||
public double Temp4Hi;
|
||||
public double Press4Lo;
|
||||
public double Press4Hi;
|
||||
|
||||
public double Temp5Lo; /// 4x zero means the range is disabled
|
||||
public double Temp5Hi;
|
||||
public double Press5Lo;
|
||||
public double Press5Hi;
|
||||
|
||||
/// Calibration info serialized parameters displayed in Metrology tab page
|
||||
public string CalibCertificateNr;
|
||||
public string CalibCertificate1;
|
||||
public string CalibCertificate2;
|
||||
public string CalibCertificate3;
|
||||
public string CalibCertificate4;
|
||||
public string CalibCertificate5;
|
||||
public DateTime CalibDate;
|
||||
public DateTime CalibDate1;
|
||||
public DateTime CalibDate2;
|
||||
public DateTime CalibDate3;
|
||||
public DateTime CalibDate4;
|
||||
public DateTime CalibDate5;
|
||||
public DateTime CalibValidDate;
|
||||
public DateTime CalibValidDate1;
|
||||
public DateTime CalibValidDate2;
|
||||
public DateTime CalibValidDate3;
|
||||
public DateTime CalibValidDate4;
|
||||
public DateTime CalibValidDate5;
|
||||
|
||||
|
||||
public bool RangeEnabled(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return !(RangeEnabled(1) || RangeEnabled(2) || RangeEnabled(3) || RangeEnabled(4) || RangeEnabled(5));
|
||||
case 1: return (Temp1Lo != 0) || (Temp1Hi != 0) || (Press1Lo != 0) || (Press1Hi != 0);
|
||||
case 2: return (Temp2Lo != 0) || (Temp2Hi != 0) || (Press2Lo != 0) || (Press2Hi != 0);
|
||||
case 3: return (Temp3Lo != 0) || (Temp3Hi != 0) || (Press3Lo != 0) || (Press3Hi != 0);
|
||||
case 4: return (Temp4Lo != 0) || (Temp4Hi != 0) || (Press4Lo != 0) || (Press4Hi != 0);
|
||||
case 5: return (Temp5Lo != 0) || (Temp5Hi != 0) || (Press5Lo != 0) || (Press5Hi != 0);
|
||||
}
|
||||
}
|
||||
|
||||
public double GetTempLo(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return 5.0; /// °C
|
||||
case 1: return Temp1Lo;
|
||||
case 2: return Temp2Lo;
|
||||
case 3: return Temp3Lo;
|
||||
case 4: return Temp4Lo;
|
||||
case 5: return Temp5Lo;
|
||||
}
|
||||
}
|
||||
|
||||
public double GetTempHi(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return 95.0; /// °C
|
||||
case 1: return Temp1Hi;
|
||||
case 2: return Temp2Hi;
|
||||
case 3: return Temp3Hi;
|
||||
case 4: return Temp4Hi;
|
||||
case 5: return Temp5Hi;
|
||||
}
|
||||
}
|
||||
|
||||
public double GetPressLo(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return 0; /// bar
|
||||
case 1: return Press1Lo;
|
||||
case 2: return Press2Lo;
|
||||
case 3: return Press3Lo;
|
||||
case 4: return Press4Lo;
|
||||
case 5: return Press5Lo;
|
||||
}
|
||||
}
|
||||
|
||||
public double GetPressHi(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return 16.0; /// bar
|
||||
case 1: return Press1Hi;
|
||||
case 2: return Press2Hi;
|
||||
case 3: return Press3Hi;
|
||||
case 4: return Press4Hi;
|
||||
case 5: return Press5Hi;
|
||||
}
|
||||
}
|
||||
|
||||
public string GetCalibCertificate(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return CalibCertificateNr;
|
||||
case 1: return CalibCertificate1;
|
||||
case 2: return CalibCertificate2;
|
||||
case 3: return CalibCertificate3;
|
||||
case 4: return CalibCertificate4;
|
||||
case 5: return CalibCertificate5;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCalibCertificate(int rangeIx1, string certificate)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: CalibCertificateNr = certificate; return;
|
||||
case 1: CalibCertificate1 = certificate; return;
|
||||
case 2: CalibCertificate2 = certificate; return;
|
||||
case 3: CalibCertificate3 = certificate; return;
|
||||
case 4: CalibCertificate4 = certificate; return;
|
||||
case 5: CalibCertificate5 = certificate; return;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime GetCalibDate(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return CalibDate;
|
||||
case 1: return CalibDate1;
|
||||
case 2: return CalibDate2;
|
||||
case 3: return CalibDate3;
|
||||
case 4: return CalibDate4;
|
||||
case 5: return CalibDate5;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCalibDate(int rangeIx1, DateTime calibDate)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: CalibDate = calibDate; return;
|
||||
case 1: CalibDate1 = calibDate; return;
|
||||
case 2: CalibDate2 = calibDate; return;
|
||||
case 3: CalibDate3 = calibDate; return;
|
||||
case 4: CalibDate4 = calibDate; return;
|
||||
case 5: CalibDate5 = calibDate; return;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime GetCalibValidDate(int rangeIx1)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: return CalibValidDate;
|
||||
case 1: return CalibValidDate1;
|
||||
case 2: return CalibValidDate2;
|
||||
case 3: return CalibValidDate3;
|
||||
case 4: return CalibValidDate4;
|
||||
case 5: return CalibValidDate5;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCalibValidDate(int rangeIx1, DateTime calibValidDate)
|
||||
{
|
||||
switch (rangeIx1)
|
||||
{
|
||||
default:
|
||||
case 0: CalibValidDate = calibValidDate; return;
|
||||
case 1: CalibValidDate1 = calibValidDate; return;
|
||||
case 2: CalibValidDate2 = calibValidDate; return;
|
||||
case 3: CalibValidDate3 = calibValidDate; return;
|
||||
case 4: CalibValidDate4 = calibValidDate; return;
|
||||
case 5: CalibValidDate5 = calibValidDate; return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
FlowMeterCfg()
|
||||
{
|
||||
Name = "FlowMeterDewa";
|
||||
ParentName = "CB";
|
||||
}
|
||||
|
||||
public FlowMeterCfg(IComponentFactory factory)
|
||||
: this()
|
||||
{
|
||||
this.Factory = factory;
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("Name={0}, Parent={1}, {2} {3} {4}",
|
||||
Name,
|
||||
(string.IsNullOrEmpty(ParentName) ? "-" : ParentName),
|
||||
Flowmeter1,
|
||||
Flowmeter2,
|
||||
Flowmeter3);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,530 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
namespace TBF.BenchControl.Elde.FlowMeterDewa
|
||||
{
|
||||
partial class FlowMeterCfgCtrl
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.parentNameLabel = new System.Windows.Forms.Label();
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.parentNameComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.tempLo1TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempHi1TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressLo1TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressHi1TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressHi2TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressLo2TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempHi2TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempLo2TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressHi3TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressLo3TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempHi3TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempLo3TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressHi4TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressLo4TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempHi4TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempLo4TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressHi5TextBox = new System.Windows.Forms.TextBox();
|
||||
this.pressLo5TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempHi5TextBox = new System.Windows.Forms.TextBox();
|
||||
this.tempLo5TextBox = new System.Windows.Forms.TextBox();
|
||||
this.rangeCheckBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.rangeCheckBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.rangeCheckBox3 = new System.Windows.Forms.CheckBox();
|
||||
this.rangeCheckBox4 = new System.Windows.Forms.CheckBox();
|
||||
this.rangeCheckBox5 = new System.Windows.Forms.CheckBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.flowmeterComboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.flowmeterLabel1 = new System.Windows.Forms.Label();
|
||||
this.flowmeterComboBox2 = new System.Windows.Forms.ComboBox();
|
||||
this.fowmeterLabel2 = new System.Windows.Forms.Label();
|
||||
this.flowmeterComboBox3 = new System.Windows.Forms.ComboBox();
|
||||
this.flowmeterLabel3 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// parentNameLabel
|
||||
//
|
||||
this.parentNameLabel.AutoSize = true;
|
||||
this.parentNameLabel.Location = new System.Drawing.Point(30, 75);
|
||||
this.parentNameLabel.Name = "parentNameLabel";
|
||||
this.parentNameLabel.Size = new System.Drawing.Size(69, 13);
|
||||
this.parentNameLabel.TabIndex = 3;
|
||||
this.parentNameLabel.Text = "Parent Name";
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(140, 47);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(30, 50);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(137, 19);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "ComonentName";
|
||||
//
|
||||
// parentNameComboBox
|
||||
//
|
||||
this.parentNameComboBox.Enabled = false;
|
||||
this.parentNameComboBox.FormattingEnabled = true;
|
||||
this.parentNameComboBox.Location = new System.Drawing.Point(140, 72);
|
||||
this.parentNameComboBox.Name = "parentNameComboBox";
|
||||
this.parentNameComboBox.Size = new System.Drawing.Size(130, 21);
|
||||
this.parentNameComboBox.TabIndex = 4;
|
||||
//
|
||||
// tempLo1TextBox
|
||||
//
|
||||
this.tempLo1TextBox.Enabled = false;
|
||||
this.tempLo1TextBox.Location = new System.Drawing.Point(140, 217);
|
||||
this.tempLo1TextBox.Name = "tempLo1TextBox";
|
||||
this.tempLo1TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempLo1TextBox.TabIndex = 10;
|
||||
//
|
||||
// tempHi1TextBox
|
||||
//
|
||||
this.tempHi1TextBox.Enabled = false;
|
||||
this.tempHi1TextBox.Location = new System.Drawing.Point(220, 217);
|
||||
this.tempHi1TextBox.Name = "tempHi1TextBox";
|
||||
this.tempHi1TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempHi1TextBox.TabIndex = 11;
|
||||
//
|
||||
// pressLo1TextBox
|
||||
//
|
||||
this.pressLo1TextBox.Enabled = false;
|
||||
this.pressLo1TextBox.Location = new System.Drawing.Point(300, 217);
|
||||
this.pressLo1TextBox.Name = "pressLo1TextBox";
|
||||
this.pressLo1TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressLo1TextBox.TabIndex = 12;
|
||||
//
|
||||
// pressHi1TextBox
|
||||
//
|
||||
this.pressHi1TextBox.Enabled = false;
|
||||
this.pressHi1TextBox.Location = new System.Drawing.Point(380, 217);
|
||||
this.pressHi1TextBox.Name = "pressHi1TextBox";
|
||||
this.pressHi1TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressHi1TextBox.TabIndex = 13;
|
||||
//
|
||||
// pressHi2TextBox
|
||||
//
|
||||
this.pressHi2TextBox.Enabled = false;
|
||||
this.pressHi2TextBox.Location = new System.Drawing.Point(380, 240);
|
||||
this.pressHi2TextBox.Name = "pressHi2TextBox";
|
||||
this.pressHi2TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressHi2TextBox.TabIndex = 18;
|
||||
//
|
||||
// pressLo2TextBox
|
||||
//
|
||||
this.pressLo2TextBox.Enabled = false;
|
||||
this.pressLo2TextBox.Location = new System.Drawing.Point(300, 240);
|
||||
this.pressLo2TextBox.Name = "pressLo2TextBox";
|
||||
this.pressLo2TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressLo2TextBox.TabIndex = 17;
|
||||
//
|
||||
// tempHi2TextBox
|
||||
//
|
||||
this.tempHi2TextBox.Enabled = false;
|
||||
this.tempHi2TextBox.Location = new System.Drawing.Point(220, 240);
|
||||
this.tempHi2TextBox.Name = "tempHi2TextBox";
|
||||
this.tempHi2TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempHi2TextBox.TabIndex = 16;
|
||||
//
|
||||
// tempLo2TextBox
|
||||
//
|
||||
this.tempLo2TextBox.Enabled = false;
|
||||
this.tempLo2TextBox.Location = new System.Drawing.Point(140, 240);
|
||||
this.tempLo2TextBox.Name = "tempLo2TextBox";
|
||||
this.tempLo2TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempLo2TextBox.TabIndex = 15;
|
||||
//
|
||||
// pressHi3TextBox
|
||||
//
|
||||
this.pressHi3TextBox.Enabled = false;
|
||||
this.pressHi3TextBox.Location = new System.Drawing.Point(380, 263);
|
||||
this.pressHi3TextBox.Name = "pressHi3TextBox";
|
||||
this.pressHi3TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressHi3TextBox.TabIndex = 23;
|
||||
//
|
||||
// pressLo3TextBox
|
||||
//
|
||||
this.pressLo3TextBox.Enabled = false;
|
||||
this.pressLo3TextBox.Location = new System.Drawing.Point(300, 263);
|
||||
this.pressLo3TextBox.Name = "pressLo3TextBox";
|
||||
this.pressLo3TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressLo3TextBox.TabIndex = 22;
|
||||
//
|
||||
// tempHi3TextBox
|
||||
//
|
||||
this.tempHi3TextBox.Enabled = false;
|
||||
this.tempHi3TextBox.Location = new System.Drawing.Point(220, 263);
|
||||
this.tempHi3TextBox.Name = "tempHi3TextBox";
|
||||
this.tempHi3TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempHi3TextBox.TabIndex = 21;
|
||||
//
|
||||
// tempLo3TextBox
|
||||
//
|
||||
this.tempLo3TextBox.Enabled = false;
|
||||
this.tempLo3TextBox.Location = new System.Drawing.Point(140, 263);
|
||||
this.tempLo3TextBox.Name = "tempLo3TextBox";
|
||||
this.tempLo3TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempLo3TextBox.TabIndex = 20;
|
||||
//
|
||||
// pressHi4TextBox
|
||||
//
|
||||
this.pressHi4TextBox.Enabled = false;
|
||||
this.pressHi4TextBox.Location = new System.Drawing.Point(380, 286);
|
||||
this.pressHi4TextBox.Name = "pressHi4TextBox";
|
||||
this.pressHi4TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressHi4TextBox.TabIndex = 28;
|
||||
//
|
||||
// pressLo4TextBox
|
||||
//
|
||||
this.pressLo4TextBox.Enabled = false;
|
||||
this.pressLo4TextBox.Location = new System.Drawing.Point(300, 286);
|
||||
this.pressLo4TextBox.Name = "pressLo4TextBox";
|
||||
this.pressLo4TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressLo4TextBox.TabIndex = 27;
|
||||
//
|
||||
// tempHi4TextBox
|
||||
//
|
||||
this.tempHi4TextBox.Enabled = false;
|
||||
this.tempHi4TextBox.Location = new System.Drawing.Point(220, 286);
|
||||
this.tempHi4TextBox.Name = "tempHi4TextBox";
|
||||
this.tempHi4TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempHi4TextBox.TabIndex = 26;
|
||||
//
|
||||
// tempLo4TextBox
|
||||
//
|
||||
this.tempLo4TextBox.Enabled = false;
|
||||
this.tempLo4TextBox.Location = new System.Drawing.Point(140, 286);
|
||||
this.tempLo4TextBox.Name = "tempLo4TextBox";
|
||||
this.tempLo4TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempLo4TextBox.TabIndex = 25;
|
||||
//
|
||||
// pressHi5TextBox
|
||||
//
|
||||
this.pressHi5TextBox.Enabled = false;
|
||||
this.pressHi5TextBox.Location = new System.Drawing.Point(380, 309);
|
||||
this.pressHi5TextBox.Name = "pressHi5TextBox";
|
||||
this.pressHi5TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressHi5TextBox.TabIndex = 33;
|
||||
//
|
||||
// pressLo5TextBox
|
||||
//
|
||||
this.pressLo5TextBox.Enabled = false;
|
||||
this.pressLo5TextBox.Location = new System.Drawing.Point(300, 309);
|
||||
this.pressLo5TextBox.Name = "pressLo5TextBox";
|
||||
this.pressLo5TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.pressLo5TextBox.TabIndex = 32;
|
||||
//
|
||||
// tempHi5TextBox
|
||||
//
|
||||
this.tempHi5TextBox.Enabled = false;
|
||||
this.tempHi5TextBox.Location = new System.Drawing.Point(220, 309);
|
||||
this.tempHi5TextBox.Name = "tempHi5TextBox";
|
||||
this.tempHi5TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempHi5TextBox.TabIndex = 31;
|
||||
//
|
||||
// tempLo5TextBox
|
||||
//
|
||||
this.tempLo5TextBox.Enabled = false;
|
||||
this.tempLo5TextBox.Location = new System.Drawing.Point(140, 309);
|
||||
this.tempLo5TextBox.Name = "tempLo5TextBox";
|
||||
this.tempLo5TextBox.Size = new System.Drawing.Size(68, 20);
|
||||
this.tempLo5TextBox.TabIndex = 30;
|
||||
//
|
||||
// rangeCheckBox1
|
||||
//
|
||||
this.rangeCheckBox1.AutoSize = true;
|
||||
this.rangeCheckBox1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.rangeCheckBox1.Enabled = false;
|
||||
this.rangeCheckBox1.Location = new System.Drawing.Point(32, 219);
|
||||
this.rangeCheckBox1.Name = "rangeCheckBox1";
|
||||
this.rangeCheckBox1.Size = new System.Drawing.Size(67, 17);
|
||||
this.rangeCheckBox1.TabIndex = 34;
|
||||
this.rangeCheckBox1.Text = "Range 1";
|
||||
this.rangeCheckBox1.UseVisualStyleBackColor = true;
|
||||
this.rangeCheckBox1.CheckedChanged += new System.EventHandler(this.rangeCheckBox1_CheckedChanged);
|
||||
//
|
||||
// rangeCheckBox2
|
||||
//
|
||||
this.rangeCheckBox2.AutoSize = true;
|
||||
this.rangeCheckBox2.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.rangeCheckBox2.Enabled = false;
|
||||
this.rangeCheckBox2.Location = new System.Drawing.Point(32, 242);
|
||||
this.rangeCheckBox2.Name = "rangeCheckBox2";
|
||||
this.rangeCheckBox2.Size = new System.Drawing.Size(67, 17);
|
||||
this.rangeCheckBox2.TabIndex = 35;
|
||||
this.rangeCheckBox2.Text = "Range 2";
|
||||
this.rangeCheckBox2.UseVisualStyleBackColor = true;
|
||||
this.rangeCheckBox2.CheckedChanged += new System.EventHandler(this.rangeCheckBox2_CheckedChanged);
|
||||
//
|
||||
// rangeCheckBox3
|
||||
//
|
||||
this.rangeCheckBox3.AutoSize = true;
|
||||
this.rangeCheckBox3.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.rangeCheckBox3.Enabled = false;
|
||||
this.rangeCheckBox3.Location = new System.Drawing.Point(32, 265);
|
||||
this.rangeCheckBox3.Name = "rangeCheckBox3";
|
||||
this.rangeCheckBox3.Size = new System.Drawing.Size(67, 17);
|
||||
this.rangeCheckBox3.TabIndex = 36;
|
||||
this.rangeCheckBox3.Text = "Range 3";
|
||||
this.rangeCheckBox3.UseVisualStyleBackColor = true;
|
||||
this.rangeCheckBox3.CheckedChanged += new System.EventHandler(this.rangeCheckBox3_CheckedChanged);
|
||||
//
|
||||
// rangeCheckBox4
|
||||
//
|
||||
this.rangeCheckBox4.AutoSize = true;
|
||||
this.rangeCheckBox4.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.rangeCheckBox4.Enabled = false;
|
||||
this.rangeCheckBox4.Location = new System.Drawing.Point(32, 288);
|
||||
this.rangeCheckBox4.Name = "rangeCheckBox4";
|
||||
this.rangeCheckBox4.Size = new System.Drawing.Size(67, 17);
|
||||
this.rangeCheckBox4.TabIndex = 37;
|
||||
this.rangeCheckBox4.Text = "Range 4";
|
||||
this.rangeCheckBox4.UseVisualStyleBackColor = true;
|
||||
this.rangeCheckBox4.CheckedChanged += new System.EventHandler(this.rangeCheckBox4_CheckedChanged);
|
||||
//
|
||||
// rangeCheckBox5
|
||||
//
|
||||
this.rangeCheckBox5.AutoSize = true;
|
||||
this.rangeCheckBox5.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.rangeCheckBox5.Enabled = false;
|
||||
this.rangeCheckBox5.Location = new System.Drawing.Point(32, 311);
|
||||
this.rangeCheckBox5.Name = "rangeCheckBox5";
|
||||
this.rangeCheckBox5.Size = new System.Drawing.Size(67, 17);
|
||||
this.rangeCheckBox5.TabIndex = 38;
|
||||
this.rangeCheckBox5.Text = "Range 5";
|
||||
this.rangeCheckBox5.UseVisualStyleBackColor = true;
|
||||
this.rangeCheckBox5.CheckedChanged += new System.EventHandler(this.rangeCheckBox5_CheckedChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(149, 198);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(52, 13);
|
||||
this.label1.TabIndex = 39;
|
||||
this.label1.Text = "Temp. Lo";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(229, 198);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(50, 13);
|
||||
this.label2.TabIndex = 40;
|
||||
this.label2.Text = "Temp. Hi";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(309, 198);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(51, 13);
|
||||
this.label3.TabIndex = 41;
|
||||
this.label3.Text = "Press. Lo";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(389, 198);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(49, 13);
|
||||
this.label4.TabIndex = 42;
|
||||
this.label4.Text = "Press. Hi";
|
||||
//
|
||||
// flowmeterComboBox1
|
||||
//
|
||||
this.flowmeterComboBox1.Enabled = false;
|
||||
this.flowmeterComboBox1.FormattingEnabled = true;
|
||||
this.flowmeterComboBox1.Location = new System.Drawing.Point(140, 110);
|
||||
this.flowmeterComboBox1.Name = "flowmeterComboBox1";
|
||||
this.flowmeterComboBox1.Size = new System.Drawing.Size(130, 21);
|
||||
this.flowmeterComboBox1.TabIndex = 44;
|
||||
//
|
||||
// flowmeterLabel1
|
||||
//
|
||||
this.flowmeterLabel1.AutoSize = true;
|
||||
this.flowmeterLabel1.Location = new System.Drawing.Point(30, 113);
|
||||
this.flowmeterLabel1.Name = "flowmeterLabel1";
|
||||
this.flowmeterLabel1.Size = new System.Drawing.Size(64, 13);
|
||||
this.flowmeterLabel1.TabIndex = 43;
|
||||
this.flowmeterLabel1.Text = "Flowmeter 1";
|
||||
//
|
||||
// flowmeterComboBox2
|
||||
//
|
||||
this.flowmeterComboBox2.Enabled = false;
|
||||
this.flowmeterComboBox2.FormattingEnabled = true;
|
||||
this.flowmeterComboBox2.Location = new System.Drawing.Point(140, 135);
|
||||
this.flowmeterComboBox2.Name = "flowmeterComboBox2";
|
||||
this.flowmeterComboBox2.Size = new System.Drawing.Size(130, 21);
|
||||
this.flowmeterComboBox2.TabIndex = 46;
|
||||
//
|
||||
// fowmeterLabel2
|
||||
//
|
||||
this.fowmeterLabel2.AutoSize = true;
|
||||
this.fowmeterLabel2.Location = new System.Drawing.Point(30, 138);
|
||||
this.fowmeterLabel2.Name = "fowmeterLabel2";
|
||||
this.fowmeterLabel2.Size = new System.Drawing.Size(64, 13);
|
||||
this.fowmeterLabel2.TabIndex = 45;
|
||||
this.fowmeterLabel2.Text = "Flowmeter 2";
|
||||
//
|
||||
// flowmeterComboBox3
|
||||
//
|
||||
this.flowmeterComboBox3.Enabled = false;
|
||||
this.flowmeterComboBox3.FormattingEnabled = true;
|
||||
this.flowmeterComboBox3.Location = new System.Drawing.Point(140, 160);
|
||||
this.flowmeterComboBox3.Name = "flowmeterComboBox3";
|
||||
this.flowmeterComboBox3.Size = new System.Drawing.Size(130, 21);
|
||||
this.flowmeterComboBox3.TabIndex = 48;
|
||||
//
|
||||
// flowmeterLabel3
|
||||
//
|
||||
this.flowmeterLabel3.AutoSize = true;
|
||||
this.flowmeterLabel3.Location = new System.Drawing.Point(30, 163);
|
||||
this.flowmeterLabel3.Name = "flowmeterLabel3";
|
||||
this.flowmeterLabel3.Size = new System.Drawing.Size(64, 13);
|
||||
this.flowmeterLabel3.TabIndex = 47;
|
||||
this.flowmeterLabel3.Text = "Flowmeter 3";
|
||||
//
|
||||
// FlowMeterCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.flowmeterComboBox3);
|
||||
this.Controls.Add(this.flowmeterLabel3);
|
||||
this.Controls.Add(this.flowmeterComboBox2);
|
||||
this.Controls.Add(this.fowmeterLabel2);
|
||||
this.Controls.Add(this.flowmeterComboBox1);
|
||||
this.Controls.Add(this.flowmeterLabel1);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.rangeCheckBox5);
|
||||
this.Controls.Add(this.rangeCheckBox4);
|
||||
this.Controls.Add(this.rangeCheckBox3);
|
||||
this.Controls.Add(this.rangeCheckBox2);
|
||||
this.Controls.Add(this.rangeCheckBox1);
|
||||
this.Controls.Add(this.pressHi5TextBox);
|
||||
this.Controls.Add(this.pressLo5TextBox);
|
||||
this.Controls.Add(this.tempHi5TextBox);
|
||||
this.Controls.Add(this.tempLo5TextBox);
|
||||
this.Controls.Add(this.pressHi4TextBox);
|
||||
this.Controls.Add(this.pressLo4TextBox);
|
||||
this.Controls.Add(this.tempHi4TextBox);
|
||||
this.Controls.Add(this.tempLo4TextBox);
|
||||
this.Controls.Add(this.pressHi3TextBox);
|
||||
this.Controls.Add(this.pressLo3TextBox);
|
||||
this.Controls.Add(this.tempHi3TextBox);
|
||||
this.Controls.Add(this.tempLo3TextBox);
|
||||
this.Controls.Add(this.pressHi2TextBox);
|
||||
this.Controls.Add(this.pressLo2TextBox);
|
||||
this.Controls.Add(this.tempHi2TextBox);
|
||||
this.Controls.Add(this.tempLo2TextBox);
|
||||
this.Controls.Add(this.pressHi1TextBox);
|
||||
this.Controls.Add(this.pressLo1TextBox);
|
||||
this.Controls.Add(this.tempHi1TextBox);
|
||||
this.Controls.Add(this.tempLo1TextBox);
|
||||
this.Controls.Add(this.parentNameComboBox);
|
||||
this.Controls.Add(this.parentNameLabel);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Name = "FlowMeterCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(492, 350);
|
||||
this.Load += new System.EventHandler(this.FlowMeterCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label parentNameLabel;
|
||||
private System.Windows.Forms.TextBox nameTextBox;
|
||||
private System.Windows.Forms.Label nameLabel;
|
||||
private System.Windows.Forms.Label classNameLabel;
|
||||
private System.Windows.Forms.ComboBox parentNameComboBox;
|
||||
private System.Windows.Forms.TextBox tempLo1TextBox;
|
||||
private System.Windows.Forms.TextBox tempHi1TextBox;
|
||||
private System.Windows.Forms.TextBox pressLo1TextBox;
|
||||
private System.Windows.Forms.TextBox pressHi1TextBox;
|
||||
private System.Windows.Forms.TextBox pressHi2TextBox;
|
||||
private System.Windows.Forms.TextBox pressLo2TextBox;
|
||||
private System.Windows.Forms.TextBox tempHi2TextBox;
|
||||
private System.Windows.Forms.TextBox tempLo2TextBox;
|
||||
private System.Windows.Forms.TextBox pressHi3TextBox;
|
||||
private System.Windows.Forms.TextBox pressLo3TextBox;
|
||||
private System.Windows.Forms.TextBox tempHi3TextBox;
|
||||
private System.Windows.Forms.TextBox tempLo3TextBox;
|
||||
private System.Windows.Forms.TextBox pressHi4TextBox;
|
||||
private System.Windows.Forms.TextBox pressLo4TextBox;
|
||||
private System.Windows.Forms.TextBox tempHi4TextBox;
|
||||
private System.Windows.Forms.TextBox tempLo4TextBox;
|
||||
private System.Windows.Forms.TextBox pressHi5TextBox;
|
||||
private System.Windows.Forms.TextBox pressLo5TextBox;
|
||||
private System.Windows.Forms.TextBox tempHi5TextBox;
|
||||
private System.Windows.Forms.TextBox tempLo5TextBox;
|
||||
private System.Windows.Forms.CheckBox rangeCheckBox1;
|
||||
private System.Windows.Forms.CheckBox rangeCheckBox2;
|
||||
private System.Windows.Forms.CheckBox rangeCheckBox3;
|
||||
private System.Windows.Forms.CheckBox rangeCheckBox4;
|
||||
private System.Windows.Forms.CheckBox rangeCheckBox5;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox flowmeterComboBox1;
|
||||
private System.Windows.Forms.Label flowmeterLabel1;
|
||||
private System.Windows.Forms.ComboBox flowmeterComboBox2;
|
||||
private System.Windows.Forms.Label fowmeterLabel2;
|
||||
private System.Windows.Forms.ComboBox flowmeterComboBox3;
|
||||
private System.Windows.Forms.Label flowmeterLabel3;
|
||||
}
|
||||
}
|
||||
@@ -1,373 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Forms;
|
||||
using Config.Entities;
|
||||
using TBF.BenchControl.Configs;
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
namespace TBF.BenchControl.Elde.FlowMeterDewa
|
||||
{
|
||||
public partial class FlowMeterCfgCtrl : ConfigCtrlUtils, IComponentCfgCtrl
|
||||
{
|
||||
ComponentParametersDlg parent;
|
||||
|
||||
public bool ShowMore { get { return false; } }
|
||||
|
||||
FlowMeterCfg config;
|
||||
public IComponentCfg Config
|
||||
{
|
||||
get { return config as IComponentCfg; }
|
||||
set
|
||||
{
|
||||
config = value as FlowMeterCfg;
|
||||
Redraw();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public FlowMeterCfgCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void FlowMeterCfgCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
parent = ParentForm as ComponentParametersDlg;
|
||||
if (parent == null) return;
|
||||
|
||||
flowmeterComboBox1.Items.Add("---");
|
||||
flowmeterComboBox2.Items.Add("---");
|
||||
flowmeterComboBox3.Items.Add("---");
|
||||
|
||||
if (parent.TbfComponents != null)
|
||||
{
|
||||
foreach (var cmpnt in parent.TbfComponents)
|
||||
{
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Elde.ControlBoardFactory)
|
||||
{
|
||||
parentNameComboBox.Items.Add(cmpnt.Name);
|
||||
}
|
||||
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Elde.FlowMeter.FlowMeterFactory)
|
||||
{
|
||||
flowmeterComboBox1.Items.Add(cmpnt.Name);
|
||||
flowmeterComboBox2.Items.Add(cmpnt.Name);
|
||||
flowmeterComboBox3.Items.Add(cmpnt.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Redraw();
|
||||
}
|
||||
|
||||
public void Closing()
|
||||
{
|
||||
}
|
||||
|
||||
void Redraw()
|
||||
{
|
||||
if (config == null) return; /// Control was not loaded, settings were not changed
|
||||
|
||||
classNameLabel.Text = config.Factory.ClassName;
|
||||
nameTextBox.Text = config.Name;
|
||||
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
|
||||
|
||||
flowmeterComboBox1.Text = string.IsNullOrEmpty(config.Flowmeter1) ? "---" : config.Flowmeter1;
|
||||
flowmeterComboBox2.Text = string.IsNullOrEmpty(config.Flowmeter2) ? "---" : config.Flowmeter2;
|
||||
flowmeterComboBox3.Text = string.IsNullOrEmpty(config.Flowmeter3) ? "---" : config.Flowmeter3;
|
||||
|
||||
rangeCheckBox1.Checked = config.RangeEnabled(1);
|
||||
tempLo1TextBox.Text = config.Temp1Lo.ToString();
|
||||
tempHi1TextBox.Text = config.Temp1Hi.ToString();
|
||||
pressLo1TextBox.Text = config.Press1Lo.ToString();
|
||||
pressHi1TextBox.Text = config.Press1Hi.ToString();
|
||||
|
||||
rangeCheckBox2.Checked = config.RangeEnabled(2);
|
||||
tempLo2TextBox.Text = config.Temp2Lo.ToString();
|
||||
tempHi2TextBox.Text = config.Temp2Hi.ToString();
|
||||
pressLo2TextBox.Text = config.Press2Lo.ToString();
|
||||
pressHi2TextBox.Text = config.Press2Hi.ToString();
|
||||
|
||||
rangeCheckBox3.Checked = config.RangeEnabled(3);
|
||||
tempLo3TextBox.Text = config.Temp3Lo.ToString();
|
||||
tempHi3TextBox.Text = config.Temp3Hi.ToString();
|
||||
pressLo3TextBox.Text = config.Press3Lo.ToString();
|
||||
pressHi3TextBox.Text = config.Press3Hi.ToString();
|
||||
|
||||
rangeCheckBox4.Checked = config.RangeEnabled(4);
|
||||
tempLo4TextBox.Text = config.Temp4Lo.ToString();
|
||||
tempHi4TextBox.Text = config.Temp4Hi.ToString();
|
||||
pressLo4TextBox.Text = config.Press4Lo.ToString();
|
||||
pressHi4TextBox.Text = config.Press4Hi.ToString();
|
||||
|
||||
rangeCheckBox5.Checked = config.RangeEnabled(5);
|
||||
tempLo5TextBox.Text = config.Temp5Lo.ToString();
|
||||
tempHi5TextBox.Text = config.Temp5Hi.ToString();
|
||||
pressLo5TextBox.Text = config.Press5Lo.ToString();
|
||||
pressHi5TextBox.Text = config.Press5Hi.ToString();
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
nameTextBox.Enabled = true;
|
||||
parentNameComboBox.Enabled = true;
|
||||
flowmeterComboBox1.Enabled = true;
|
||||
flowmeterComboBox2.Enabled = true;
|
||||
flowmeterComboBox3.Enabled = true;
|
||||
|
||||
rangeCheckBox1.Enabled = true;
|
||||
tempLo1TextBox.Enabled = rangeCheckBox1.Checked;
|
||||
tempHi1TextBox.Enabled = rangeCheckBox1.Checked;
|
||||
pressLo1TextBox.Enabled = rangeCheckBox1.Checked;
|
||||
pressHi1TextBox.Enabled = rangeCheckBox1.Checked;
|
||||
|
||||
rangeCheckBox2.Enabled = true;
|
||||
tempLo2TextBox.Enabled = rangeCheckBox2.Checked;
|
||||
tempHi2TextBox.Enabled = rangeCheckBox2.Checked;
|
||||
pressLo2TextBox.Enabled = rangeCheckBox2.Checked;
|
||||
pressHi2TextBox.Enabled = rangeCheckBox2.Checked;
|
||||
|
||||
rangeCheckBox3.Enabled = true;
|
||||
tempLo3TextBox.Enabled = rangeCheckBox3.Checked;
|
||||
tempHi3TextBox.Enabled = rangeCheckBox3.Checked;
|
||||
pressLo3TextBox.Enabled = rangeCheckBox3.Checked;
|
||||
pressHi3TextBox.Enabled = rangeCheckBox3.Checked;
|
||||
|
||||
rangeCheckBox4.Enabled = true;
|
||||
tempLo4TextBox.Enabled = rangeCheckBox4.Checked;
|
||||
tempHi4TextBox.Enabled = rangeCheckBox4.Checked;
|
||||
pressLo4TextBox.Enabled = rangeCheckBox4.Checked;
|
||||
pressHi4TextBox.Enabled = rangeCheckBox4.Checked;
|
||||
|
||||
rangeCheckBox5.Enabled = true;
|
||||
tempLo5TextBox.Enabled = rangeCheckBox5.Checked;
|
||||
tempHi5TextBox.Enabled = rangeCheckBox5.Checked;
|
||||
pressLo5TextBox.Enabled = rangeCheckBox5.Checked;
|
||||
pressHi5TextBox.Enabled = rangeCheckBox5.Checked;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Invalid 'Parent Name'";
|
||||
}
|
||||
|
||||
if (!flowmeterComboBox1.Items.Contains(flowmeterComboBox1.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Invalid 'Flowmeter 1'";
|
||||
}
|
||||
if (!flowmeterComboBox2.Items.Contains(flowmeterComboBox2.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Invalid 'Flowmeter 2'";
|
||||
}
|
||||
if (!flowmeterComboBox3.Items.Contains(flowmeterComboBox3.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Invalid 'Flowmeter 3'";
|
||||
}
|
||||
|
||||
double ddummy;
|
||||
if (rangeCheckBox1.Checked)
|
||||
{
|
||||
if (!Utils.TryParseUDouble(tempLo1TextBox.Text, out ddummy) || !Utils.TryParseUDouble(tempHi1TextBox.Text, out ddummy) ||
|
||||
!Utils.TryParseUDouble(pressLo1TextBox.Text, out ddummy) || !Utils.TryParseUDouble(pressHi1TextBox.Text, out ddummy))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Ivalid 'Range 1'";
|
||||
}
|
||||
}
|
||||
if (rangeCheckBox2.Checked)
|
||||
{
|
||||
if (!Utils.TryParseUDouble(tempLo2TextBox.Text, out ddummy) || !Utils.TryParseUDouble(tempHi2TextBox.Text, out ddummy) ||
|
||||
!Utils.TryParseUDouble(pressLo2TextBox.Text, out ddummy) || !Utils.TryParseUDouble(pressHi2TextBox.Text, out ddummy))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Ivalid 'Range 2'";
|
||||
}
|
||||
}
|
||||
if (rangeCheckBox3.Checked)
|
||||
{
|
||||
if (!Utils.TryParseUDouble(tempLo3TextBox.Text, out ddummy) || !Utils.TryParseUDouble(tempHi3TextBox.Text, out ddummy) ||
|
||||
!Utils.TryParseUDouble(pressLo3TextBox.Text, out ddummy) || !Utils.TryParseUDouble(pressHi3TextBox.Text, out ddummy))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Ivalid 'Range 3'";
|
||||
}
|
||||
}
|
||||
if (rangeCheckBox4.Checked)
|
||||
{
|
||||
if (!Utils.TryParseUDouble(tempLo4TextBox.Text, out ddummy) || !Utils.TryParseUDouble(tempHi4TextBox.Text, out ddummy) ||
|
||||
!Utils.TryParseUDouble(pressLo4TextBox.Text, out ddummy) || !Utils.TryParseUDouble(pressHi4TextBox.Text, out ddummy))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Ivalid 'Range 4'";
|
||||
}
|
||||
}
|
||||
if (rangeCheckBox5.Checked)
|
||||
{
|
||||
if (!Utils.TryParseUDouble(tempLo5TextBox.Text, out ddummy) || !Utils.TryParseUDouble(tempHi5TextBox.Text, out ddummy) ||
|
||||
!Utils.TryParseUDouble(pressLo5TextBox.Text, out ddummy) || !Utils.TryParseUDouble(pressHi5TextBox.Text, out ddummy))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Ivalid 'Range 5'";
|
||||
}
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
|
||||
|
||||
if (config.Name != nameTextBox.Text)
|
||||
{
|
||||
config.Name = nameTextBox.Text;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
string parentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text;
|
||||
if (config.ParentName != parentName)
|
||||
{
|
||||
config.ParentName = parentName;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
string flowmeter1Name = flowmeterComboBox1.Text.Equals("---") ? string.Empty : flowmeterComboBox1.Text;
|
||||
if (config.Flowmeter1 != flowmeter1Name)
|
||||
{
|
||||
config.Flowmeter1 = flowmeter1Name;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
string flowmeter2Name = flowmeterComboBox2.Text.Equals("---") ? string.Empty : flowmeterComboBox2.Text;
|
||||
if (config.Flowmeter2 != flowmeter2Name)
|
||||
{
|
||||
config.Flowmeter2 = flowmeter2Name;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
string flowmeter3Name = flowmeterComboBox3.Text.Equals("---") ? string.Empty : flowmeterComboBox3.Text;
|
||||
if (config.Flowmeter3 != flowmeter3Name)
|
||||
{
|
||||
config.Flowmeter3 = flowmeter3Name;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (rangeCheckBox1.Checked)
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp1Lo, tempLo1TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp1Hi, tempHi1TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press1Lo, pressLo1TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press1Hi, pressHi1TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp1Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp1Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press1Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press1Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (rangeCheckBox2.Checked)
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp2Lo, tempLo2TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp2Hi, tempHi2TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press2Lo, pressLo2TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press2Hi, pressHi2TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp2Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp2Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press2Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press2Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (rangeCheckBox3.Checked)
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp3Lo, tempLo3TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp3Hi, tempHi3TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press3Lo, pressLo3TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press3Hi, pressHi3TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp3Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp3Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press3Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press3Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (rangeCheckBox4.Checked)
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp4Lo, tempLo4TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp4Hi, tempHi4TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press4Lo, pressLo4TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press4Hi, pressHi4TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp4Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp4Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press4Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press4Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (rangeCheckBox5.Checked)
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp5Lo, tempLo5TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp5Hi, tempHi5TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press5Lo, pressLo5TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press5Hi, pressHi5TextBox.Text, CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= UpdateDifferent(ref config.Temp5Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Temp5Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press5Lo, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
flags |= UpdateDifferent(ref config.Press5Hi, "0", CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
|
||||
private void rangeCheckBox1_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tempLo1TextBox.Enabled = tempHi1TextBox.Enabled = pressLo1TextBox.Enabled = pressHi1TextBox.Enabled =
|
||||
(rangeCheckBox1.Enabled && rangeCheckBox1.Checked);
|
||||
}
|
||||
private void rangeCheckBox2_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tempLo2TextBox.Enabled = tempHi2TextBox.Enabled = pressLo2TextBox.Enabled = pressHi2TextBox.Enabled =
|
||||
(rangeCheckBox2.Enabled && rangeCheckBox2.Checked);
|
||||
}
|
||||
private void rangeCheckBox3_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tempLo3TextBox.Enabled = tempHi3TextBox.Enabled = pressLo3TextBox.Enabled = pressHi3TextBox.Enabled =
|
||||
(rangeCheckBox3.Enabled && rangeCheckBox3.Checked);
|
||||
}
|
||||
private void rangeCheckBox4_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tempLo4TextBox.Enabled = tempHi4TextBox.Enabled = pressLo4TextBox.Enabled = pressHi4TextBox.Enabled =
|
||||
(rangeCheckBox4.Enabled && rangeCheckBox4.Checked);
|
||||
}
|
||||
private void rangeCheckBox5_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tempLo5TextBox.Enabled = tempHi5TextBox.Enabled = pressLo5TextBox.Enabled = pressHi5TextBox.Enabled =
|
||||
(rangeCheckBox5.Enabled && rangeCheckBox5.Checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: 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">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<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">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<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" 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">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -18,7 +18,7 @@ namespace TBF.BenchControl.Elde.FlowMeterTriplet
|
||||
|
||||
public int Idx1 { get { return flowMeterCfg.Idx1; } }
|
||||
public double NominalFlow { get { return flowMeterCfg.NominalFlow; } }
|
||||
public double LtrPerPulse { get { return flowMeterCfg.NominalFlow / 21600.0; } } /// Nominal frequency is 6000 Hz
|
||||
public double LtrPerPulse { get { return flowMeterCfg.NominalFlow / 21600.0f; } } /// Nominal frequency is 6000 Hz
|
||||
|
||||
public double LtrPerPulseCorrected(double flow, int rangeIx)
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace TBF.BenchControl.Elde.FlowMeterTwins
|
||||
public double NominalFlow { get { return flowMeterCfg.NominalFlow; } }
|
||||
|
||||
/// The nominal flowed of a pair of flow meters is reached at 4000Hz
|
||||
public double LtrPerPulse { get { return flowMeterCfg.NominalFlow / 14400.0; } }
|
||||
public double LtrPerPulse { get { return flowMeterCfg.NominalFlow / 14400.0f; } }
|
||||
|
||||
/// Calculates the average of values of two flowmeters. Assumes the flow is divided evenly.
|
||||
public double LtrPerPulseCorrected(double flow, int rangeIx)
|
||||
|
||||
@@ -24,7 +24,6 @@ namespace TBF.BenchControl.Elde
|
||||
uint FmState { get; }
|
||||
uint BeginState(int wmNr0);
|
||||
double ReferenceFreq { get; }
|
||||
double ReferenceFreqs(int i); /// Frequences for doble/tripple flowmeter
|
||||
double ReferenceFlow { get; }
|
||||
float RValvePosition(int rvNr1);
|
||||
float DivSamples(int time, int divIx0); /// time unit is 2 ms
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace TBF.BenchControl.Elde
|
||||
void SendCommand()
|
||||
{
|
||||
controlBoard.SyncRoute();
|
||||
controlBoard.SendCommand(Command.ReadDivTransition, 0, controlBoard.Route, 0, 0, 0, StopDevs.None);
|
||||
controlBoard.SendCommand(Command.ReadDivTransition, 0, controlBoard.Route, 0, 0, 0, new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, 0, 0, StopDevs.None);
|
||||
cmdSent = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -154,9 +154,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow, int timeout)
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
{
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, RegulValveCfg.ReTryCommands, timeout);
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, RegulValveCfg.ReTryCommands, timeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -169,10 +169,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
{
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, RegulValveCfg.ReTryCommands, timeout, true);
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, RegulValveCfg.ReTryCommands, timeout, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
public ValveCategory Category; /// Feeding, Output or All
|
||||
public int AdcValueClosed; /// 0..1023
|
||||
public int AdcValueOpen; /// 0..1023
|
||||
public int StableTimeMs; /// 200..1500 ms, step is 50 ms
|
||||
public int StableTimeMs; /// 200..1500 ms
|
||||
public int FlowStableSec; /// 0..60 sec
|
||||
public bool StoredPositionReuse; /// true = store and re-use previous regulation valve positions
|
||||
public bool ReTryCommands;
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(SetFlowOp));
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2})", regulValve.Name, requiredFlowLo, requiredFlowHi);
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2}, PID={3})", regulValve.Name, requiredFlowLo, requiredFlowHi, pidCoef);
|
||||
}
|
||||
|
||||
/// Set by the constructor
|
||||
@@ -25,7 +25,8 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
readonly double requiredFlowLo;
|
||||
readonly double requiredFlowHi;
|
||||
readonly double reqFlowAve;
|
||||
readonly int timeout;
|
||||
readonly float pidCoef;
|
||||
readonly int timeout;
|
||||
readonly bool leaveMeasurementRunning;
|
||||
readonly bool reTryCommands;
|
||||
|
||||
@@ -77,8 +78,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// <param name="timeout">Timeout for the flow setting in [s]</param>
|
||||
/// <param name="leaveMeasurementRunning">true = Leave the measurement running after op. stop</param>
|
||||
/// <remarks>Only Elde.Valve flow are used, other flow on the lists are ignored</remarks>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regulValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox flowBox, bool reTryCmds, int timeout, bool leaveMeasurementRunning)
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regulValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox flowBox,
|
||||
bool reTryCmds, int timeout, bool leaveMeasurementRunning)
|
||||
{
|
||||
if (controlBoard == null) throw new ArgumentNullException("ctrlBoard");
|
||||
this.controlBoard = controlBoard;
|
||||
@@ -96,6 +98,7 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
this.reqFlowAve = (requiredFlowLo + requiredFlowHi) / 2;
|
||||
this.requiredFlowLo = (0.7 * requiredFlowLo) + (0.3 * this.reqFlowAve); /// Move the lower limit 15% of the range up
|
||||
this.requiredFlowHi = (0.7 * requiredFlowHi) + (0.3 * this.reqFlowAve); /// Move the upper limit 15% of the range down
|
||||
this.pidCoef = pidCoef;
|
||||
|
||||
if (flowBox == null) throw new ArgumentNullException("flowBox");
|
||||
this.flowBox = flowBox;
|
||||
@@ -113,9 +116,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// Set required water flow - Do not leave the measurement running.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox flowbox, bool reTryCmds, int timeout)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, flowbox, reTryCmds, timeout, false)
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox flowbox, bool reTryCmds, int timeout)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, flowbox, reTryCmds, timeout, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -123,9 +126,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// Set required water flow - No timeout.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox flowbox, bool reTryCmds)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, flowbox, reTryCmds, int.MaxValue, false)
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox flowbox, bool reTryCmds)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, flowbox, reTryCmds, int.MaxValue, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -202,7 +205,8 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
StopDevs sd = 0;
|
||||
// '_regulValve.RegulValveCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
|
||||
controlBoard.SendCommand(Command.Start, flowMeter.Idx1, controlBoard.Route,
|
||||
int.MaxValue, int.MaxValue, tm, sd);
|
||||
int.MaxValue, int.MaxValue, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
}
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
@@ -250,7 +254,8 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
StopDevs sd = 0;
|
||||
// '_regulValve.RegulValveCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
|
||||
controlBoard.SendCommand(Command.Start, flowMeter.Idx1, controlBoard.Route,
|
||||
int.MaxValue, int.MaxValue, tm, sd);
|
||||
int.MaxValue, int.MaxValue, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
return Event.None;
|
||||
}
|
||||
else if (opState == OpState.ValveMoveToPosition1)
|
||||
@@ -450,7 +455,9 @@ namespace TBF.BenchControl.Elde.RegulValve
|
||||
/// Stop measurement
|
||||
TestMethods tm = 0;
|
||||
StopDevs sd = StopDevs.RegValveRegulation;
|
||||
controlBoard.SendCommand(Command.Stop, flowMeter.Idx1, controlBoard.Route, 50000, 50000, tm, sd);
|
||||
controlBoard.SendCommand(Command.Stop, flowMeter.Idx1, controlBoard.Route,
|
||||
50000, 50000, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,9 +60,9 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow, int timeout)
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
{
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, RegulValveCfg.ReTryCommands, timeout);
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, RegulValveCfg.ReTryCommands, timeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -75,10 +75,9 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
{
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, RegulValveCfg.ReTryCommands, timeout, true);
|
||||
return new SetFlowOp(ControlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, RegulValveCfg.ReTryCommands, timeout, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(SetFlowOp));
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2})", regulValve.Name, finalReqFlowLo, finalReqFlowHi);
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2}, PID={3})", regulValve.Name, finalReqFlowLo, finalReqFlowHi, pidCoef);
|
||||
}
|
||||
|
||||
/// Set by the constructor
|
||||
@@ -25,6 +25,7 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
readonly double finalReqFlowLo;
|
||||
readonly double finalReqFlowHi;
|
||||
readonly double reqFlowAve;
|
||||
readonly float pidCoef;
|
||||
readonly int timeout;
|
||||
readonly bool leaveMeasurementRunning;
|
||||
readonly bool reTryCommands;
|
||||
@@ -77,7 +78,7 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// <param name="leaveMeasurementRunning">true = Leave the measurement running after op. stop</param>
|
||||
/// <remarks>Only Elde.Valve flow are used, other flow on the lists are ignored</remarks>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve _regulValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow,
|
||||
bool reTryCmds, int timeout, bool leaveMeasurementRunning)
|
||||
{
|
||||
if (controlBoard == null) throw new ArgumentNullException("ctrlBoard");
|
||||
@@ -106,6 +107,7 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
this.reqFlowAve = (requiredFlowLo + requiredFlowHi) / 2;
|
||||
this.finalReqFlowLo = (0.7 * requiredFlowLo) + (0.3 * this.reqFlowAve); /// Move the lower limit 15% of the range up
|
||||
this.finalReqFlowHi = (0.7 * requiredFlowHi) + (0.3 * this.reqFlowAve); /// Move the upper limit 15% of the range down
|
||||
this.pidCoef = pidCoef;
|
||||
this.measuredFlow = measuredFlow;
|
||||
this.reTryCommands = reTryCmds;
|
||||
|
||||
@@ -120,9 +122,9 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// Set required water flow - Do not leave the measurement running.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, bool reTryCmds, int timeout)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, reTryCmds, timeout, false)
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, bool reTryCmds, int timeout)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, reTryCmds, timeout, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -130,9 +132,9 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// Set required water flow - No timeout.
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, bool reTryCmds)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, reTryCmds, int.MaxValue, false)
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IFlowMeter flowMeter,
|
||||
double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, bool reTryCmds)
|
||||
: this(controlBoard, regValve, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, reTryCmds, int.MaxValue, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -213,7 +215,8 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
StopDevs sd = 0;
|
||||
// '_regulValve.RegulValveCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
|
||||
controlBoard.SendCommand(Command.Start, flowMeterNr, controlBoard.Route,
|
||||
int.MaxValue, int.MaxValue, tm, sd);
|
||||
int.MaxValue, int.MaxValue, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
}
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
@@ -263,7 +266,8 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
StopDevs sd = 0;
|
||||
// '_regulValve.RegulValveCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
|
||||
controlBoard.SendCommand(Command.Start, flowMeterNr, controlBoard.Route,
|
||||
int.MaxValue, int.MaxValue, tm, sd);
|
||||
int.MaxValue, int.MaxValue, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
log.DebugFormat(" return Event.None");
|
||||
return Event.None;
|
||||
}
|
||||
@@ -479,7 +483,9 @@ namespace TBF.BenchControl.Elde.RegulValveCoax
|
||||
/// Stop measurement
|
||||
TestMethods tm = 0;
|
||||
StopDevs sd = StopDevs.RegValveRegulation;
|
||||
controlBoard.SendCommand(Command.Stop, flowMeterNr, controlBoard.Route, 50000, 50000, tm, sd);
|
||||
controlBoard.SendCommand(Command.Stop, flowMeterNr, controlBoard.Route,
|
||||
50000, 50000, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
|
||||
log.WarnFormat("Stop() SendCommand(Stop, {0}, ...)", flowMeterNr);
|
||||
}
|
||||
|
||||
@@ -72,10 +72,11 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// <param name="measuredFlow">Measured flow [m3/h]</param>
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow, int timeout)
|
||||
public IOperation SetFlowOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
{
|
||||
return new SetFlowOp(controlBoard, regulValve, fixedRV, fixedPctLo, fixedPctHi,
|
||||
flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout);
|
||||
flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -89,10 +90,10 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// <param name="timeout">Timeout in [s]</param>
|
||||
/// <returns>SetFlowOp instance</returns>
|
||||
public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi,
|
||||
DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
float pidCoef, DoubleBox measuredFlow, int timeout, float filterConstant)
|
||||
{
|
||||
return new SetFlowOp(controlBoard, regulValve, fixedRV, fixedPctLo, fixedPctHi,
|
||||
flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, true);
|
||||
flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(SetFlowOp));
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2})", regulValve.Name, finalReqFlowLo, finalReqFlowHi);
|
||||
return string.Format("SetFlowOp({0}, Qfrom={1}, Qto={2}, PID={3})", regulValve.Name, finalReqFlowLo, finalReqFlowHi, pidCoef);
|
||||
}
|
||||
|
||||
/// Set by the constructor
|
||||
@@ -29,6 +29,7 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
readonly double finalReqFlowLo;
|
||||
readonly double finalReqFlowHi;
|
||||
readonly double reqFlowAve;
|
||||
readonly float pidCoef;
|
||||
readonly int timeout;
|
||||
readonly bool leaveMeasurementRunning;
|
||||
|
||||
@@ -76,7 +77,7 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// <param name="leaveMeasurementRunning">true = Leave the measurement running after op. stop</param>
|
||||
/// <remarks>Only Elde.Valve flow are used, other flow on the lists are ignored</remarks>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regV, IRegulValve fxdRV, float fxdPctLo, float fxdPctHi,
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow,
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow,
|
||||
int timeout, bool leaveMeasurementRunning)
|
||||
{
|
||||
if (controlBoard == null) throw new ArgumentNullException("ctrlBoard");
|
||||
@@ -112,6 +113,7 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
this.reqFlowAve = (requiredFlowLo + requiredFlowHi) / 2;
|
||||
this.finalReqFlowLo = (0.7 * requiredFlowLo) + (0.3 * this.reqFlowAve); /// Move the lower limit 15% of the range up
|
||||
this.finalReqFlowHi = (0.7 * requiredFlowHi) + (0.3 * this.reqFlowAve); /// Move the upper limit 15% of the range down
|
||||
this.pidCoef = pidCoef;
|
||||
this.measuredFlow = measuredFlow;
|
||||
|
||||
this.timeout = timeout;
|
||||
@@ -126,8 +128,8 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IRegulValve fixedRV, float fixedPctLo, float fixedPctHi,
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow, int timeout)
|
||||
: this(controlBoard, regValve, fixedRV, fixedPctLo, fixedPctHi, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, false)
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow, int timeout)
|
||||
: this(controlBoard, regValve, fixedRV, fixedPctLo, fixedPctHi, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, timeout, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -136,8 +138,8 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// Events: FlowSet
|
||||
/// </summary>
|
||||
public SetFlowOp(ControlBoardDev controlBoard, IRegulValve regValve, IRegulValve fixedRV, float fixedPctLo, float fixedPctHi,
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, DoubleBox measuredFlow)
|
||||
: this(controlBoard, regValve, fixedRV, fixedPctLo, fixedPctHi, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, int.MaxValue, false)
|
||||
IFlowMeter flowMeter, double requiredFlowLo, double requiredFlowHi, float pidCoef, DoubleBox measuredFlow)
|
||||
: this(controlBoard, regValve, fixedRV, fixedPctLo, fixedPctHi, flowMeter, requiredFlowLo, requiredFlowHi, pidCoef, measuredFlow, int.MaxValue, false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -218,7 +220,8 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
StopDevs sd = 0;
|
||||
// '_regulValve.RegulValveTandemCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
|
||||
controlBoard.SendCommand(Command.Start, flowMeterNr, controlBoard.Route,
|
||||
int.MaxValue, int.MaxValue, tm, sd);
|
||||
int.MaxValue, int.MaxValue, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, (int)pidCoef, 0, sd);
|
||||
}
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
@@ -371,7 +374,9 @@ namespace TBF.BenchControl.Elde.RegulValveTandem
|
||||
/// Stop measurement
|
||||
TestMethods tm = 0;
|
||||
StopDevs sd = StopDevs.RegValveRegulation;
|
||||
controlBoard.SendCommand(Command.Stop, flowMeterNr, controlBoard.Route, 50000, 50000, tm, sd);
|
||||
controlBoard.SendCommand(Command.Stop, flowMeterNr, controlBoard.Route,
|
||||
50000, 50000, tm,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }, 20, 0, sd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using log4net;
|
||||
@@ -22,9 +22,11 @@ namespace TBF.BenchControl.Elde
|
||||
readonly double maximalFlow;
|
||||
readonly double reqFlowLo;
|
||||
readonly double reqFlowHi;
|
||||
readonly float pidCoef;
|
||||
readonly int totalRefPulses; /// Number of reference pulses for a complete test
|
||||
readonly int massRefPulses; /// Number of reference pulses for mass collection
|
||||
readonly TestMethods testMethod;
|
||||
readonly int[] filters;
|
||||
readonly int diverterNr;
|
||||
|
||||
///
|
||||
@@ -51,8 +53,9 @@ namespace TBF.BenchControl.Elde
|
||||
/// <param name="totalRefPulses">Test duration in number of reference flowmeter pulses</param>
|
||||
/// <param name="filterConstant">Specifies filter for watermeter pulses</param>
|
||||
public StartMeasurementOp(ControlBoardDev controlBoard, OutputPath outputPath, TestMethods method,
|
||||
double requiredFlowLo, double requiredFlowHi, int refPulses)
|
||||
: this(controlBoard, outputPath, method, requiredFlowLo, requiredFlowHi, refPulses, refPulses)
|
||||
double requiredFlowLo, double requiredFlowHi,
|
||||
int refPulses, int[] filters)
|
||||
: this(controlBoard, outputPath, method, requiredFlowLo, requiredFlowHi, refPulses, refPulses, filters)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -66,7 +69,8 @@ namespace TBF.BenchControl.Elde
|
||||
/// <param name="refPulses">Test duration in number of reference flowmeter pulses</param>
|
||||
/// <param name="filterConstant">Specifies filter for watermeter pulses</param>
|
||||
public StartMeasurementOp(ControlBoardDev controlBoard, OutputPath outputPath, TestMethods method,
|
||||
double requiredFlowLo, double requiredFlowHi, int totalRefPulses, int massRefPulses)
|
||||
double requiredFlowLo, double requiredFlowHi,
|
||||
int totalRefPulses, int massRefPulses, int[] filters)
|
||||
{
|
||||
if (controlBoard == null) throw new ArgumentNullException("controlBoardDev");
|
||||
this.controlBoard = controlBoard;
|
||||
@@ -102,10 +106,12 @@ namespace TBF.BenchControl.Elde
|
||||
|
||||
this.reqFlowLo = requiredFlowLo;
|
||||
this.reqFlowHi = requiredFlowHi;
|
||||
this.pidCoef = outputPath.PidCoef;
|
||||
|
||||
this.totalRefPulses = totalRefPulses;
|
||||
this.massRefPulses = massRefPulses;
|
||||
this.testMethod = method;
|
||||
this.filters = filters;
|
||||
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
@@ -113,20 +119,19 @@ namespace TBF.BenchControl.Elde
|
||||
void SendStartCommand()
|
||||
{
|
||||
controlBoard.SyncRoute();
|
||||
#if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || BADGER_VELKA_TRAT || SLM_50
|
||||
#if TURA_IPERL || TURA_SPECIAL || BADGER_VELKA_TRAT || SLM_50
|
||||
int flowMeterIdxAndDiv = flowMeterNr + 16 * diverterNr;
|
||||
#elif BADGER_STREDNA_TRAT
|
||||
int flowMeterIdxAndDiv = flowMeterNr + 8 * (diverterNr - 1);
|
||||
#elif FILIPINY_50
|
||||
int flowMeterIdxAndDiv = flowMeterNr + ((flowMeterNr == 3) ? (4 * (diverterNr - 1)) : 0);
|
||||
#else
|
||||
int flowMeterIdxAndDiv = flowMeterNr;
|
||||
#endif
|
||||
log.InfoFormat("Start() : SendCommand(Cmd.Start, {0}, route, {1}, {1}, {2}, Stop.None)",
|
||||
flowMeterIdxAndDiv, totalRefPulses, testMethod);
|
||||
log.InfoFormat("Start() : SendCommand(Cmd.Start, {0}, route, {1}, {1}, {2}, {3}, {4}, 0, Stop.None)",
|
||||
flowMeterIdxAndDiv, totalRefPulses, testMethod, filters[0], (int)pidCoef);
|
||||
|
||||
controlBoard.SendCommand(Command.Start, flowMeterIdxAndDiv, controlBoard.Route,
|
||||
totalRefPulses, massRefPulses, testMethod, StopDevs.None);
|
||||
totalRefPulses, massRefPulses, testMethod,
|
||||
filters, (int)pidCoef, 0, StopDevs.None);
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using log4net;
|
||||
|
||||
namespace TBF.BenchControl.Elde
|
||||
{
|
||||
class StopFlowRegulationOp : IOperation
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(StopFlowRegulationOp));
|
||||
public override string ToString() { return string.Format("StopFlowRegulationOp(.)"); }
|
||||
|
||||
/// Set by the constructor
|
||||
readonly ControlBoardDev controlBoard;
|
||||
readonly int flowMeterNr;
|
||||
|
||||
/// <summary>
|
||||
/// Stop the previous control board operation (diverter, gate, etc.)
|
||||
/// Events: None or PreviousStopped
|
||||
/// </summary>
|
||||
/// <param name="controlBoardDev">Control board component reference</param>
|
||||
public StopFlowRegulationOp(ControlBoardDev controlBoardDev, OutputPath outputPath)
|
||||
{
|
||||
if (controlBoardDev == null) throw new ArgumentNullException("controlBoardDev");
|
||||
this.controlBoard = controlBoardDev;
|
||||
|
||||
if (outputPath.FlowMeter == null) throw new ArgumentNullException("Flow meter is missing");
|
||||
flowMeterNr = outputPath.FlowMeter.Idx1;
|
||||
|
||||
log.Debug(this.ToString());
|
||||
}
|
||||
|
||||
|
||||
void SendStopFlowRegulationCommand()
|
||||
{
|
||||
controlBoard.SyncRoute();
|
||||
controlBoard.SendCommand(Command.Stop,
|
||||
flowMeterNr, /// ref. flowmeter number
|
||||
controlBoard.Route, /// route
|
||||
0, 0, /// ref. pulses
|
||||
0,
|
||||
StopDevs.RegValveRegulation);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Start()
|
||||
{
|
||||
SendStopFlowRegulationCommand();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
/// <returns>Event.FlowRegulationStopped</returns>
|
||||
public Event Run()
|
||||
{
|
||||
return Event.FlowRegulationStopped;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,6 +48,9 @@ namespace TBF.BenchControl.Elde
|
||||
controlBoard.Route, /// route
|
||||
0, 0, /// ref. pulses
|
||||
TestMethods.Diverter,
|
||||
new int[] { 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
20,
|
||||
0,
|
||||
StopDevs.Diverter | StopDevs.GatePulse | StopDevs.Reference | StopDevs.RegValveRegulation);
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +106,6 @@ namespace TBF.BenchControl
|
||||
|
||||
/// CheckUi events
|
||||
UiCmdReloadBatch,
|
||||
UiCmdReloadAndFixBatch,
|
||||
UiCmdStartTest,
|
||||
UiCmdStartQ1,
|
||||
UiCmdStartQ2,
|
||||
@@ -133,7 +132,6 @@ namespace TBF.BenchControl
|
||||
UiCmdB3,
|
||||
|
||||
/// Process/Test oriented
|
||||
FlowRegulationStopped,
|
||||
PreviousStopped,
|
||||
Wait,
|
||||
ProcedureLoaded,
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TBF.BenchControl.Generic
|
||||
{
|
||||
public interface IComponent
|
||||
@@ -19,8 +17,6 @@ namespace TBF.BenchControl.Generic
|
||||
|
||||
IComponentCfg Cfg { get; }
|
||||
|
||||
IList<Config.Entities.MeasurementCorrection> Corrections { get; set; }
|
||||
|
||||
void StartChangeHandler();
|
||||
|
||||
void StopChangeHandler();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
///
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
@@ -32,12 +32,5 @@ namespace TBF.BenchControl.GenericDevices
|
||||
/// Threshold for high level when diverter transition time is measured in %, 0..100
|
||||
/// </summary>
|
||||
int ThresholdHi { get; }
|
||||
|
||||
/// <summary>
|
||||
/// For a given flow in [m3/h] returns a test time correction in [s]
|
||||
/// </summary>
|
||||
/// <param name="flow">Flow in [m3/h]</param>
|
||||
/// <returns>Test time correction in [s]</returns>
|
||||
double TestTimeCorrection(double flow);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
namespace TBF.BenchControl.GenericDevices
|
||||
{
|
||||
public interface IEvaporation : IComponent
|
||||
{
|
||||
/// <summary>
|
||||
/// For a given temperature in [°C] returns evaporation rate in [kg/s]
|
||||
/// </summary>
|
||||
/// <param name="flow">Water temperature in [°C]</param>
|
||||
/// <returns>Evaporation rate in [kg/s]</returns>
|
||||
double EvaporationRate(double temperature);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user