diff --git a/.vs/ASCKU Projects/v16/.suo b/.vs/ASCKU Projects/v16/.suo index 848e952..ac6d459 100644 Binary files a/.vs/ASCKU Projects/v16/.suo and b/.vs/ASCKU Projects/v16/.suo differ diff --git a/DataClient/ByteConverter.cs b/DataClient/ByteConverter.cs index 0d48a35..c8b5e59 100644 --- a/DataClient/ByteConverter.cs +++ b/DataClient/ByteConverter.cs @@ -5,11 +5,13 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text.RegularExpressions; +using NLog; namespace DataClient { public static class ByteConverter { + private static Logger log = LogManager.GetCurrentClassLogger(); public static TechCycle[] BytesToTechcycles(byte[] arr) { var res = new List(); @@ -66,12 +68,51 @@ namespace DataClient } catch { throw; } } - public static (DateTime date, byte[] bytes)[] BytesToTimeLine(byte[] arr, DateTime date) + public static (DateTime date, byte?[] bytes)[] BytesToTimeLine(byte[] arr, DateTime date) { - var res = new List<(DateTime date, byte[] bytes)>(); - - - + var res = new List<(DateTime date, byte?[] bytes)>(); + var matrix = new List(); + var currdate = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0); + var cursor = 0; + var halfseconds = 0; + try + { + while (cursor < arr.Length) + { + switch (arr[cursor]) + { + case 0xfb: + halfseconds = BitConverter.ToInt32(arr, ++cursor); + cursor += 4; + break; + case 0xfc: + for (var i = 0; i < matrix.Count; i++) matrix[i] = null; + res.Add((currdate.AddSeconds(++halfseconds / 2D), matrix.ToArray())); + halfseconds = BitConverter.ToInt32(arr, ++cursor); + cursor += 4; + break; + case 0xfe: + halfseconds += BitConverter.ToInt16(arr, ++cursor); + cursor += 2; + break; + case 0xff: + res.Add((currdate.AddSeconds(halfseconds / 2D), matrix.ToArray())); + cursor++; + halfseconds++; + break; + default: + while (matrix.Count < arr[cursor]) matrix.Add(null); + matrix[arr[cursor]] = arr[cursor + 1]; + cursor += 2; + break; + } + } + } + catch(Exception e) + { + log.Warn(e, "Error in structure AD file."); + return res.ToArray(); + } return res.ToArray(); } } diff --git a/DataClient/Config/analog/default.json b/DataClient/Config/analog/default.json index 93b1797..d096f0e 100644 --- a/DataClient/Config/analog/default.json +++ b/DataClient/Config/analog/default.json @@ -1,13 +1,368 @@ -[ - { - "id": 0, - "name": "Test", - "short_name": "Test", - "measure": "kg", - "precision": 1, - "min": -100, - "max": 100, - "default": 0, - "logarithm": false - } -] +{ + "deleteAll": true, + "delete": [], + "add": [ + { + "id": 0, + "name": "Ток дуги", + "sname": "I д", + "measure": "кА", + "mul": 0.1, + "byteId": [ 0, 1 ] + }, + { + "id": 1, + "name": "Напряжение дуги", + "sname": "U д", + "measure": "В", + "mul": 0.1, + "byteId": [ 2, 3 ] + }, + { + "id": 2, + "name": "Ток рабочего двигателя", + "sname": "I рд", + "measure": "А", + "mul": 0.1, + "byteId": [4,5] + }, + { + "id": 3, + "name": "U рабочего двигателя", + "sname": "U рд", + "measure": "В", + "mul": 0.1, + "byteId": [6,7] + }, + { + "id": 4, + "name": "Ток соленоида", + "sname": "I сол", + "measure": "А", + "mul": 0.1, + "byteId": [8,9] + }, + { + "id": 5, + "name": "U соленоида", + "sname": "U сол", + "measure": "В", + "mul": 0.1, + "byteId": [10,11] + }, + { + "id": 6, + "name": "Ток задания", + "sname": "I рз", + "measure": "кА", + "mul": 0.1, + "byteId": [12,13] + }, + { + "id": 7, + "name": "t кристаллизатора на входе", + "sname": "t кр.вых", + "measure": "гр.С", + "byteId": [14,15] + }, + { + "id": 8, + "name": "t кристаллизатора на выходе", + "sname": "t кр.вх", + "measure": "гр.С", + "byteId": [16,17] + }, + { + "id": 9, + "name": "t вакуум-камеры", + "sname": "t вак-кам", + "measure": "гр.С", + "byteId": [18,19] + }, + { + "id": 10, + "name": "t штока", + "sname": "t шт", + "measure": "гр.С", + "byteId": [20,21] + }, + { + "id": 11, + "name": "Перемещение 0.1", + "sname": "S шт", + "measure": "мм", + "mul": 0.1, + "byteId": [22,23] + }, + { + "id": 12, + "name": "Перемещение", + "sname": "S шт", + "measure": "мм", + "byteId": [24,25] + }, + { + "id": 13, + "name": "Остаточное давление", + "measure": "мкм.рт.ст", + "mul": -1, + "byteId": [26,27] + }, + { + "id": 14, + "name": "Изоляция шток-крышка", + "sname": "R шт-кр", + "measure": "В", + "mul": 0.1, + "byteId": [28,29] + }, + { + "id": 15, + "name": "Изоляция крышка-камера", + "sname": "R кр-кам", + "measure": "В", + "mul": 0.1, + "byteId": [30,31] + }, + { + "id": 16, + "name": "Расход воды", + "sname": "Q в.кр", + "measure": "м^3/ч", + "byteId": [ 32, 33 ] + }, + { + "id": 17, + "name": "Капельные замыкания", + "sname": "Кап.зам.", + "mul": 0.01, + "byteId": [34,35] + }, + { + "id": 18, + "name": "Усреднённая ширина импульсов КЗ", + "sname": "Кап.зым.", + "mul": 0.1, + "byteId": [36,37] + }, + { + "id": 19, + "name": "Проток воды фланца", + "sname": "Qв. фл.", + "measure": "м^3/ч", + "mul": 0.01, + "byteId": [38,39] + }, + { + "id": 20, + "name": "Проток воды штока", + "sname": "Qв. шт.", + "measure": "м^3/ч", + "mul": 0.01, + "byteId": [40,41] + }, + { + "id": 21, + "name": "Давление воды крист.+1,5", + "sname": "P в.кр", + "measure": "кгс/см^2", + "mul": 0.01, + "byteId": [42,43] + }, + { + "id": 22, + "name": "Проток воды камеры", + "sname": "Qв. кам.", + "measure": "м^3/ч", + "mul": 0.01, + "byteId": [44,45] + }, + { + "id": 23, + "name": "Ток задания источника(САУ)", + "sname": "I з.ист САУ", + "measure": "кА", + "mul": 0.1, + "byteId": [58,59] + }, + { + "id": 25, + "name": "ПИД-рег. основная уставка", + "sname": "ПИД-осн", + "measure": "В", + "mul": 0.1, + "byteId": [62,63] + }, + { + "id": 26, + "name": "ПИД-рег. макс. скорость", + "sname": "ПИД-макс", + "measure": "В", + "mul": 0.1, + "byteId": [64,65] + }, + { + "id": 27, + "name": "t фланца вакуум-камеры", + "sname": "t фл.", + "measure": "гр.С", + "byteId": [66,67] + }, + { + "id": 28, + "name": "t подставки", + "sname": "t под.", + "measure": "гр.С", + "byteId": [68,69] + }, + { + "id": 29, + "name": "Проток воды подставки", + "sname": "Qв. под.", + "measure": "м^3/ч", + "mul": 0.01, + "byteId": [70,71] + }, + { + "id": 30, + "name": "Задание соленоида", + "sname": "Зад. сол.", + "measure": "А", + "mul": 0.1, + "byteId": [72,73] + }, + { + "id": 31, + "name": "Ток задания источника(преобраз.)", + "sname": "I з.ист. преоб.", + "measure": "кА", + "mul": 0.1, + "byteId": [74,75] + }, + { + "id": 33, + "name": "Вакуум по МЕТРАН-1200", + "sname": "МЕТРАН-1200", + "measure": "мм.рт.ст", + "mul": 0.1, + "byteId": [78,79] + }, + { + "id": 34, + "name": "Вакуум по МЕТРАН-18,75", + "sname": "МЕТРАН-18,25", + "measure": "мм.рт.ст", + "mul": 0.001, + "byteId": [80,81] + }, + { + "id": 35, + "name": "Давление газа в баллоне", + "sname": "P г.балл.", + "measure": "кгс/см^2", + "mul": 0.1, + "byteId": [82,83] + }, + { + "id": 36, + "name": "Давление воды поддона", + "sname": "P в.подд.", + "measure": "кгс/см^2", + "byteId": [84,85] + }, + { + "id": 37, + "name": "Задание тока дуги (ЦАП)", + "sname": "Зад.I, ЦАП", + "measure": "кА", + "mul": 0.1, + "byteId": [86,87] + }, + { + "id": 38, + "name": "Задание скорости рабочего двигателя", + "sname": "Зад.ск.раб.дв", + "measure": "В", + "mul": 0.01, + "byteId": [88,89] + }, + { + "id": 39, + "name": "Ток двигателя насоса ARPW", + "sname": "I дв. ARPW", + "measure": "А", + "mul": 0.01, + "byteId": [90,91] + }, + { + "id": 40, + "name": "Энергия плавильного пролёта", + "sname": "Эн.пролёта, МВт", + "measure": "МВт", + "mul": 0.1, + "byteId": [] + }, + { + "id": 41, + "name": "Среднее напряжение плавл. за 1 мин.", + "sname": "U ср. 1мин, В", + "measure": "В", + "mul": 0.1, + "byteId": [92,93] + }, + { + "id": 42, + "name": "ГМП: ток катушки 1", + "sname": "I кат1 ГМП", + "measure": "А", + "byteId": [94,95] + }, + { + "id": 43, + "name": "ГМП: ток катушки 2", + "sname": "I кат2 ГМП", + "measure": "А", + "byteId": [96,97] + }, + { + "id": 44, + "name": "ГМП: ток катушки 3", + "sname": "I кат3 ГМП", + "measure": "А", + "byteId": [98,99] + }, + { + "id": 45, + "name": "ГМП: частота", + "sname": "Част. ГМП", + "measure": "Гц", + "mul": 0.1, + "byteId": [100,101] + }, + { + "id": 46, + "name": "ПИД: коэффицинт Кp", + "mul": 0.01, + "byteId": [102,103] + }, + { + "id": 47, + "name": "ПИД: коэффицинт Кi", + "mul": 0.01, + "byteId": [104,105] + }, + { + "id": 49, + "name": "Количество точек усреднения", + "byteId": [106,107] + }, + { + "id": 50, + "name": "Пороговое U ДКЗ", + "measure": "В", + "mul": 0.1, + "byteId": [108,109] + } + + ] +} diff --git a/DataClient/Config/analog/default.json.bak b/DataClient/Config/analog/default.json.bak new file mode 100644 index 0000000..a17eed9 --- /dev/null +++ b/DataClient/Config/analog/default.json.bak @@ -0,0 +1,19 @@ +{ + "deleteAll": true, + "delete": [], + "add": [ + { + "id": 0, + "name": "Test", + "sname": "Test", + "measure": "kg", + "mul": 1, + "min": -100, + "max": 100, + "zero": 0, + "logarithm": false, + "byteId": [ 1, 12, 3 ] + } + ] +} + diff --git a/DataClient/Configuration.cs b/DataClient/Configuration.cs new file mode 100644 index 0000000..d83933e --- /dev/null +++ b/DataClient/Configuration.cs @@ -0,0 +1,89 @@ +п»їusing System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DataClient.Struct; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using NLog; + +namespace DataClient +{ + public static class Configuration + { + private static Logger log = LogManager.GetCurrentClassLogger(); + public static Dictionary InitAnalogList(string confDir, int[] listVdp) + { + var res = new Dictionary(); + string jsonString; + var confFile = Path.Combine(confDir, "default.json"); + try { jsonString = File.ReadAllText(confFile); } + catch (Exception e) { log.Error(e, "Can't read config file from " + confDir + "."); throw; } + var subres = InitAnalogVdp(confDir); + foreach(var vdp in listVdp) + { + if (res.ContainsKey(vdp)) continue; + var tmp = InitAnalogVdp(confDir, vdp, subres); + res.Add(vdp, tmp); + } + return res; + } + public static ConfAnalog[] InitAnalogVdp(string confDir, int vdp = -1, ConfAnalog[] analogs = null) + { + if (analogs == null) analogs = Array.Empty(); + var res = new List(analogs); + var searchPattern = vdp == -1 ? "*default.json" : "*" + vdp.ToString() + "*.json"; + var files = Directory.GetFiles(confDir, searchPattern); + foreach (var file in files) + { + //check file + if (vdp != -1) + if (!int.TryParse(Path.GetFileNameWithoutExtension(file), out int fVdp) || fVdp != vdp) + continue; + //check JSON + string jsonString; + try { jsonString = File.ReadAllText(file); } + catch (Exception e) { log.Warn(e, "Can't read config file from " + confDir + "."); continue; } + //try json + var conf = (JObject)JsonConvert.DeserializeObject(jsonString); + if (!conf.HasValues) { continue; }; + //check deleteAll + if (conf["deleteAll"].Type == JTokenType.Boolean && (bool)conf["deleteAll"]) + res.Clear(); + //check deleteIdAnalog + if (conf["delete"].Type == JTokenType.Array) + foreach (var idAnalog in conf["delete"]) + if (idAnalog.Type == JTokenType.Integer) + res.RemoveAll(x => x.id == (int)idAnalog); + //check add + if (conf["add"].Type == JTokenType.Array) + foreach (var a in conf["add"]) + { + var ca = new ConfAnalog(); + if (a["id"].Type != JTokenType.Integer || (int)a["id"] < 0) continue; + else ca.id = (int)a["id"]; + if (a["name"].Type == JTokenType.String) ca.name = (string)a["name"]; + if (a["sname"].Type == JTokenType.String) ca.sname = (string)a["sname"]; + else ca.sname = ca.name; + if (a["measure"].Type == JTokenType.String) ca.measure = (string)a["measure"]; + if (a["mul"].Type == JTokenType.Integer || a["mul"].Type == JTokenType.Float) ca.mul = (float)a["mul"]; + if (a["min"].Type == JTokenType.Integer || a["min"].Type == JTokenType.Float) ca.min = (float)a["min"]; + if (a["max"].Type == JTokenType.Integer || a["max"].Type == JTokenType.Float) ca.max = (float)a["max"]; + if (a["zero"].Type == JTokenType.Integer || a["zero"].Type == JTokenType.Float) ca.zero = (float)a["zero"]; + if (a["logarithm"].Type == JTokenType.Boolean) ca.logarithm = (bool)a["logarithm"]; + var bi = new List(); + if (a["byteId"].Type == JTokenType.Array) + foreach (var b in a["byteId"]) + if (b.Type == JTokenType.Integer) + bi.Add((int)b); + ca.byteId = bi.ToArray(); + res.RemoveAll(x => x.id == ca.id); + res.Add(ca); + } + } + return res.ToArray(); + } + } +} diff --git a/DataClient/DataClient.csproj b/DataClient/DataClient.csproj index 2d125e6..c3ac01e 100644 --- a/DataClient/DataClient.csproj +++ b/DataClient/DataClient.csproj @@ -18,6 +18,9 @@ + + Always + Always diff --git a/DataClient/STPClient.cs b/DataClient/STPClient.cs index 18ff7a7..2c789bc 100644 --- a/DataClient/STPClient.cs +++ b/DataClient/STPClient.cs @@ -6,6 +6,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using DataClient.Struct; using System.Net; +using System.Threading.Tasks; namespace DataClient { @@ -16,8 +17,10 @@ namespace DataClient { //Переменные Logger log = LogManager.GetCurrentClassLogger(); - string confDir = Path.Combine(Directory.GetCurrentDirectory(), "Config", "config.json"); + string confDir = Path.Combine(Directory.GetCurrentDirectory(), "Config"); private List servers = new List(); + private Dictionary confAnalog = new Dictionary(); + private List<(int num, string name)> vdpList = new List<(int num, string name)>(); int serverDefault = -1; //Геттеры Рё сеттеры /// Номер сервера, используемого РїРѕ умолчанию. @@ -181,9 +184,10 @@ namespace DataClient private void Config() { string jsonString; + var confFile = Path.Combine(confDir, "config.json"); try { - jsonString = File.ReadAllText(confDir); + jsonString = File.ReadAllText(confFile); } catch (Exception e) { @@ -212,6 +216,15 @@ namespace DataClient if (!res) log.Trace("Can't add or change server #" + count + " from conf file."); } + //init vdp + for (var i = 0; i < 49; i++) + vdpList.Add(new (i, i == 0 ? "Общие" : "Печь " + i.ToString("D2"))); + for (var i = 91; i < 95; i++) + vdpList.Add((i, "Печь " + i.ToString("D2"))); + //init analog + var tmpvdp = new List(); + foreach (var v in vdpList) tmpvdp.Add(v.num); + confAnalog = Configuration.InitAnalogList(Path.Combine(confDir, "analog"), tmpvdp.ToArray()); } /// Создание экземпляра класса. public STPClient() @@ -228,12 +241,42 @@ namespace DataClient Config(); } - public TechCycle[] GetTechCycle(int vdp, DateTime tS, DateTime tE) + public TechCycle[] GetTechCycles(int vdp, DateTime tS, DateTime tE) { //Use File with ID = 3 var res = new List(); return res.ToArray(); } + public Analog[] GetAnalogs(int vdp, DateTime tS, DateTime tE) + { + var res = new List(); + var net = new NETClient(servers[serverDefault].ip, servers[serverDefault].port); + if (!net.Connect()) return Array.Empty(); + var s1 = new List>(); + for (var d = new DateTime(tS.Year, tS.Month, tS.Day); d.Year <= tE.Year && d.Month <= tE.Month && d.Day <= tE.Day; d = d.AddDays(1)) + { + var t = new Task(() => net.Full_Download(d, vdp, 01)); + t.Start(); + s1.Add(t); + } + var s2 = new List>(); + while(s1.Count > 0) + { + for(var i = 0; i < s1.Count; i++) + if (s1[i].IsCompleted) + { + var t = new Task( () => { + if (!s1[i].IsCompletedSuccessfully) + return new Analog[0]; + return s1[i].Result + }); + + } + + } + + return res.ToArray(); + } diff --git a/DataClient/Struct/Analog.cs b/DataClient/Struct/Analog.cs index 5e87c8a..edf8f50 100644 --- a/DataClient/Struct/Analog.cs +++ b/DataClient/Struct/Analog.cs @@ -6,23 +6,22 @@ using System.Threading.Tasks; namespace DataClient.Struct { - public class ConfAnalog - { - public int id = 0; - public string name = null; - public string sname = null; - public string measure = null; - public double min = double.MinValue; - public double max = double.MaxValue; - public double norm = 0; - public int precision = 0; - public double mul = 1; - public bool log = false; - public int[] byteId = Array.Empty(); - } public class Analog { public double? value = null; public DateTime date = DateTime.Now; } + public class ConfAnalog + { + public int id = -1; + public string name = null; + public string sname = null; + public string measure = null; + public double min = double.MinValue; + public double max = double.MaxValue; + public double zero = 0; + public double mul = 1; + public bool logarithm = false; + public int[] byteId = Array.Empty(); + } } diff --git a/DataClient/StructConverter.cs b/DataClient/StructConverter.cs new file mode 100644 index 0000000..55d5740 --- /dev/null +++ b/DataClient/StructConverter.cs @@ -0,0 +1,13 @@ +п»їusing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataClient +{ + static class StructConverter + { + Analog[] + } +} diff --git a/DataClient/bin/Debug/net5.0/Config/analog/default.json b/DataClient/bin/Debug/net5.0/Config/analog/default.json new file mode 100644 index 0000000..bfb159e --- /dev/null +++ b/DataClient/bin/Debug/net5.0/Config/analog/default.json @@ -0,0 +1,18 @@ +{ + "deleteAll": true, + "delete": [], + "add": [ + { + "id": 0, + "name": "Test", + "short_name": "Test", + "measure": "kg", + "mul": 1, + "min": -100, + "max": 100, + "zero": 0, + "logarithm": false, + "byteId": [ 1, 12, 3 ] + } + ] +} diff --git a/DataClient/bin/Debug/net5.0/DataClient.dll b/DataClient/bin/Debug/net5.0/DataClient.dll index 205e267..dfe3909 100644 Binary files a/DataClient/bin/Debug/net5.0/DataClient.dll and b/DataClient/bin/Debug/net5.0/DataClient.dll differ diff --git a/DataClient/bin/Debug/net5.0/DataClient.pdb b/DataClient/bin/Debug/net5.0/DataClient.pdb index afdfe99..ffd6c73 100644 Binary files a/DataClient/bin/Debug/net5.0/DataClient.pdb and b/DataClient/bin/Debug/net5.0/DataClient.pdb differ diff --git a/DataClient/bin/Debug/net5.0/ref/DataClient.dll b/DataClient/bin/Debug/net5.0/ref/DataClient.dll index c8d8d81..4ac99b2 100644 Binary files a/DataClient/bin/Debug/net5.0/ref/DataClient.dll and b/DataClient/bin/Debug/net5.0/ref/DataClient.dll differ diff --git a/DataClient/obj/Debug/net5.0/DataClient.csproj.AssemblyReference.cache b/DataClient/obj/Debug/net5.0/DataClient.csproj.AssemblyReference.cache index f5e894a..f6d27af 100644 Binary files a/DataClient/obj/Debug/net5.0/DataClient.csproj.AssemblyReference.cache and b/DataClient/obj/Debug/net5.0/DataClient.csproj.AssemblyReference.cache differ diff --git a/DataClient/obj/Debug/net5.0/DataClient.csproj.CoreCompileInputs.cache b/DataClient/obj/Debug/net5.0/DataClient.csproj.CoreCompileInputs.cache index 107f638..29808ab 100644 --- a/DataClient/obj/Debug/net5.0/DataClient.csproj.CoreCompileInputs.cache +++ b/DataClient/obj/Debug/net5.0/DataClient.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e010c6259d9b17fd3c989d08c8f3519898d03bc0 +a35e80ad0f3cac2804cec2e84481a2b816e18b57 diff --git a/DataClient/obj/Debug/net5.0/DataClient.csproj.FileListAbsolute.txt b/DataClient/obj/Debug/net5.0/DataClient.csproj.FileListAbsolute.txt index 32f7a62..9a75867 100644 --- a/DataClient/obj/Debug/net5.0/DataClient.csproj.FileListAbsolute.txt +++ b/DataClient/obj/Debug/net5.0/DataClient.csproj.FileListAbsolute.txt @@ -12,3 +12,4 @@ D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\ref\DataClient.dll D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.pdb D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\DataClient.xml D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.csproj.AssemblyReference.cache +D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\Config\analog\default.json diff --git a/DataClient/obj/Debug/net5.0/DataClient.dll b/DataClient/obj/Debug/net5.0/DataClient.dll index 205e267..dfe3909 100644 Binary files a/DataClient/obj/Debug/net5.0/DataClient.dll and b/DataClient/obj/Debug/net5.0/DataClient.dll differ diff --git a/DataClient/obj/Debug/net5.0/DataClient.pdb b/DataClient/obj/Debug/net5.0/DataClient.pdb index afdfe99..ffd6c73 100644 Binary files a/DataClient/obj/Debug/net5.0/DataClient.pdb and b/DataClient/obj/Debug/net5.0/DataClient.pdb differ diff --git a/DataClient/obj/Debug/net5.0/ref/DataClient.dll b/DataClient/obj/Debug/net5.0/ref/DataClient.dll index c8d8d81..4ac99b2 100644 Binary files a/DataClient/obj/Debug/net5.0/ref/DataClient.dll and b/DataClient/obj/Debug/net5.0/ref/DataClient.dll differ diff --git a/Test2/Program.cs b/Test2/Program.cs index 6dc88a4..58a3a31 100644 --- a/Test2/Program.cs +++ b/Test2/Program.cs @@ -22,6 +22,7 @@ namespace Test2 //var t = new Task(() => T1()); //t.Start(); //T1(); + var str = new STPClient(); OLD1(); Console.WriteLine("End acc."); Console.ReadKey(); diff --git a/Test2/bin/Debug/net5.0/Config/analog/default.json b/Test2/bin/Debug/net5.0/Config/analog/default.json new file mode 100644 index 0000000..bfb159e --- /dev/null +++ b/Test2/bin/Debug/net5.0/Config/analog/default.json @@ -0,0 +1,18 @@ +{ + "deleteAll": true, + "delete": [], + "add": [ + { + "id": 0, + "name": "Test", + "short_name": "Test", + "measure": "kg", + "mul": 1, + "min": -100, + "max": 100, + "zero": 0, + "logarithm": false, + "byteId": [ 1, 12, 3 ] + } + ] +} diff --git a/Test2/bin/Debug/net5.0/DataClient.dll b/Test2/bin/Debug/net5.0/DataClient.dll index 205e267..dfe3909 100644 Binary files a/Test2/bin/Debug/net5.0/DataClient.dll and b/Test2/bin/Debug/net5.0/DataClient.dll differ diff --git a/Test2/bin/Debug/net5.0/DataClient.pdb b/Test2/bin/Debug/net5.0/DataClient.pdb index afdfe99..ffd6c73 100644 Binary files a/Test2/bin/Debug/net5.0/DataClient.pdb and b/Test2/bin/Debug/net5.0/DataClient.pdb differ diff --git a/Test2/bin/Debug/net5.0/Test2.dll b/Test2/bin/Debug/net5.0/Test2.dll index 52cca37..a8bcf39 100644 Binary files a/Test2/bin/Debug/net5.0/Test2.dll and b/Test2/bin/Debug/net5.0/Test2.dll differ diff --git a/Test2/bin/Debug/net5.0/Test2.pdb b/Test2/bin/Debug/net5.0/Test2.pdb index 8ade783..df55b98 100644 Binary files a/Test2/bin/Debug/net5.0/Test2.pdb and b/Test2/bin/Debug/net5.0/Test2.pdb differ diff --git a/Test2/obj/Debug/net5.0/Test2.csproj.AssemblyReference.cache b/Test2/obj/Debug/net5.0/Test2.csproj.AssemblyReference.cache index 5b7a95f..1929fac 100644 Binary files a/Test2/obj/Debug/net5.0/Test2.csproj.AssemblyReference.cache and b/Test2/obj/Debug/net5.0/Test2.csproj.AssemblyReference.cache differ diff --git a/Test2/obj/Debug/net5.0/Test2.csproj.FileListAbsolute.txt b/Test2/obj/Debug/net5.0/Test2.csproj.FileListAbsolute.txt index 67ad537..71309b2 100644 --- a/Test2/obj/Debug/net5.0/Test2.csproj.FileListAbsolute.txt +++ b/Test2/obj/Debug/net5.0/Test2.csproj.FileListAbsolute.txt @@ -29,3 +29,4 @@ D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.dll D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.pdb D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.xml D:\GIT\ASCKU_PC\Test2\obj\Debug\net5.0\Test2.csproj.AssemblyReference.cache +D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\Config\analog\default.json diff --git a/Test2/obj/Debug/net5.0/Test2.dll b/Test2/obj/Debug/net5.0/Test2.dll index 52cca37..a8bcf39 100644 Binary files a/Test2/obj/Debug/net5.0/Test2.dll and b/Test2/obj/Debug/net5.0/Test2.dll differ diff --git a/Test2/obj/Debug/net5.0/Test2.pdb b/Test2/obj/Debug/net5.0/Test2.pdb index 8ade783..df55b98 100644 Binary files a/Test2/obj/Debug/net5.0/Test2.pdb and b/Test2/obj/Debug/net5.0/Test2.pdb differ diff --git a/~$струкция РїРѕ формированию Рё ведению базы данных.doc b/~$струкция РїРѕ формированию Рё ведению базы данных.doc new file mode 100644 index 0000000..cfd3ad7 Binary files /dev/null and b/~$струкция РїРѕ формированию Рё ведению базы данных.doc differ