This commit is contained in:
Georgy Khatuncev 2021-07-08 16:16:35 +05:00
parent 066c0187f2
commit 3388cc761c
76 changed files with 2475 additions and 194 deletions

Binary file not shown.

@ -25,7 +25,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Korp90TimePasport", "Korp90
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataClient", "DataClient\DataClient.csproj", "{EE48A5E6-C8DD-4829-8132-30DC5AA40854}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataClient", "DataClient\DataClient.csproj", "{EE48A5E6-C8DD-4829-8132-30DC5AA40854}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test2", "Test2\Test2.csproj", "{9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test2", "Test2\Test2.csproj", "{9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test3", "test3\test3.csproj", "{33B08224-623E-4120-942E-AAE199CD63A0}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -77,6 +79,10 @@ Global
{9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Release|Any CPU.Build.0 = Release|Any CPU {9D5DF611-A1D3-4544-8E32-D14CFDF91BFA}.Release|Any CPU.Build.0 = Release|Any CPU
{33B08224-623E-4120-942E-AAE199CD63A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{33B08224-623E-4120-942E-AAE199CD63A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33B08224-623E-4120-942E-AAE199CD63A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33B08224-623E-4120-942E-AAE199CD63A0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

@ -115,5 +115,6 @@ namespace DataClient
} }
return res.ToArray(); return res.ToArray();
} }
} }
} }

15
DataClient/FileClient.cs Normal file

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataClient
{
static class FileClient
{
private static string tmpDir = Path.Combine(Directory.GetCurrentDirectory(), "temp");
private static List<string> block = new List<string>();
}
}

@ -10,55 +10,100 @@ using System.Threading.Tasks;
namespace DataClient namespace DataClient
{ {
/// <summary> /// <summary>Класс для связи с СТП. Содержит все инструменты, для получения данных.</summary>
/// Класс для связи с СТП. Содержит все инструменты, для получения данных.
/// </summary>
public class STPClient public class STPClient
{ {
//Переменные //ЛОГИРОВАНИЕ
Logger log = LogManager.GetCurrentClassLogger(); private Logger log = LogManager.GetCurrentClassLogger();
string confDir = Path.Combine(Directory.GetCurrentDirectory(), "Config");
private List<server> servers = new List<server>(); //КОНФИГУРАЦИЯ
private string confDir = Path.Combine(Directory.GetCurrentDirectory(), "Config");
private Dictionary<int, ConfAnalog[]> confAnalog = new Dictionary<int, ConfAnalog[]>(); private Dictionary<int, ConfAnalog[]> confAnalog = new Dictionary<int, ConfAnalog[]>();
private List<(int num, string name)> vdpList = new List<(int num, string name)>(); private List<(int num, string name)> vdpList = new List<(int num, string name)>();
int serverDefault = -1; /// <summary>Чтение конфигурационнного файла и установка параметров по умолчанию.</summary>
//Геттеры и сеттеры private void Config()
{
string jsonString;
var confFile = Path.Combine(confDir, "config.json");
try
{
jsonString = File.ReadAllText(confFile);
}
catch (Exception e)
{
log.Warn(e, "Can't read config file from " + confDir + ".");
return;
}
var conf = (JObject)JsonConvert.DeserializeObject(jsonString);
if (!conf.HasValues && !conf["servers"].HasValues && conf["servers"].Type != JTokenType.Array)
{
log.Warn("Doesn't exist \"servers\" object in config file.");
return;
}
var count = -1;
foreach (var s in conf["servers"])
{
count++;
var name = (s["name"].Type == JTokenType.String) ? (string)s["name"] : "default";
var ip = (s["ip"].Type == JTokenType.String) ? (string)s["ip"] : "";
var port = (s["port"].Type == JTokenType.Integer) ? (int)s["port"] : -1;
var dir = (s["dir"].Type == JTokenType.String) ? (string)s["dir"] : "";
var res = false;
var idx = _servers.FindIndex(x => x.name == name);
if (idx == -1)
res = AddServer(name, ip, port, dir);
else
{
_servers.RemoveAt(idx);
res = AddServer(name, ip, port, dir);
}
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<int>();
foreach (var v in vdpList) tmpvdp.Add(v.num);
confAnalog = Configuration.InitAnalogList(Path.Combine(confDir, "analog"), tmpvdp.ToArray());
}
//РАБОТА С СЕРВЕРОМ
private List<server> _servers = new List<server>();
private int _useServer = -1;
/// <summary>Номер сервера, используемого по умолчанию.</summary> /// <summary>Номер сервера, используемого по умолчанию.</summary>
public int UseServer public int UseServer
{ {
get { return serverDefault; } get { return _useServer; }
set { set
serverDefault = {
(servers.Count == 0) ? -1 : _useServer =
(_servers.Count == 0) ? -1 :
(value < 0) ? 0 : (value < 0) ? 0 :
(value >= servers.Count) ? serverDefault = servers.Count - 1 : (value >= _servers.Count) ? _useServer = _servers.Count - 1 :
value; value;
} }
} }
/// <summary>Массив серверов, инициализированных в экземпляре класса.</summary> /// <summary>Массив серверов, инициализированных в экземпляре класса.</summary>
public server[] ListServers { get { return servers.ToArray(); } } public server[] ListServers
//Функции
/// <summary>Получение номера сервера по его названию.</summary>
/// <param name="name">Название сервера.</param>
/// <returns>Номер сервера в списке серверов.</returns>
public int GetServerIdByName(string name)
{ {
return servers.FindIndex(x => x.name == name); get { return _servers.ToArray(); }
} }
/// <summary>Получение название сервера по его номеру.</summary> /// <summary> Текущий рабочий сервер </summary>
/// <param name="id">Номер сервера в списке серверов.</param> public server? Server
/// <returns>Название сервера.</returns>
public string GetServerNameById(int id)
{ {
var res = (id >= servers.Count || id < 0) ? null : servers[id].name; get { return (_useServer == -1) ? null : _servers[_useServer]; }
return res;
} }
/// <summary>Проверка параметров серевера перед их добавлением в список.</summary> /// <summary>
/// <param name="ip">IP адресс сервера.</param> /// Проверка параметров сервера.
/// <param name="port">Порт сервера.</param> /// </summary>
/// <param name="dir">Путь к архиву.</param> /// <param name="ip">Ip адрес сервера СТП.</param>
/// <returns>Результат выполнения функции.</returns> /// <param name="port">Порт сервера СТП.</param>
/// <param name="dir">Путь к архивным данным.</param>
/// <returns>Результат проверки.</returns>
private bool CheckDataServer(string ip, int port, string dir) private bool CheckDataServer(string ip, int port, string dir)
{ {
if (!IPAddress.TryParse(ip, out _)) if (!IPAddress.TryParse(ip, out _))
@ -96,136 +141,41 @@ namespace DataClient
log.Warn("Server not added: Incorrect name server."); log.Warn("Server not added: Incorrect name server.");
return false; return false;
} }
if (servers.FindIndex(x => x.name == name) != -1) if (_servers.FindIndex(x => x.name == name) != -1)
{ {
log.Warn("Server not added: Server with this name exist."); log.Warn("Server not added: Server with this name exist.");
return false; return false;
} }
servers.Add(new server(name, ip, port, dir)); _servers.Add(new server(name, ip, port, dir));
UseServer = 0; _useServer = 0;
log.Trace("Server (name=" + name + ";ip=" + ip + ";port=" + port + ";dir=" + dir + ") added."); log.Trace("Server (name=" + name + ";ip=" + ip + ";port=" + port + ";dir=" + dir + ") added.");
return true; return true;
} }
/// <summary>Изменение сервера в списке серверов по его номеру.</summary>
/// <param name="id">Номер сервера в списке серверов.</param>
/// <param name="name">Название сервера.</param>
/// <param name="ip">IP адресс сервера.</param>
/// <param name="port">Порт сервера.</param>
/// <param name="dir">Путь к архиву.</param>
/// <returns>Результат выполнения функции.</returns>
public bool ChangeServerById(int id, string name, string ip, int port, string dir)
{
if (servers.Count == 0 || id >= servers.Count || id < 0)
{
log.Warn("Server not changed: Id incorrect.");
return false;
}
if (!CheckDataServer(ip, port, dir))
{
log.Warn("Server not changed: Data incorrect.");
return false;
}
var tmpId = servers.FindIndex(x => x.name == name);
if (string.IsNullOrEmpty(name) || (tmpId != -1 && tmpId != id))
{
log.Warn("Server not changed: Name incorrect.");
return false;
}
var tmp = new server(name, ip, port, dir);
log.Trace("Server id=" + id + " changed: name=" + name + ";ip=" + ip + ";port=" + port.ToString() + ";dir=" + dir + ";.");
servers[id] = tmp;
return true;
}
/// <summary>Изменение сервера в списке серверов по его названию.</summary>
/// <param name="name">Название сервера.</param>
/// <param name="ip">IP адресс сервера.</param>
/// <param name="port">Порт сервера.</param>
/// <param name="dir">Путь к архиву.</param>
/// <returns>Результат выполнения функции.</returns>
public bool ChangeServerByName(string name, string ip, int port, string dir)
{
var id = servers.FindIndex(x => x.name == name);
if (id == -1)
{
log.Warn("Server not changed: Name incorrect or server not exist.");
return false;
}
return ChangeServerById(id, name, ip, port, dir);
}
/// <summary>Удаление сервера из списка серверов по его номеру.</summary> /// <summary>Удаление сервера из списка серверов по его номеру.</summary>
/// <param name="id">Номер сервера в списке серверов.</param> /// <param name="id">Номер сервера в списке серверов.</param>
/// <returns>Результат выполнения функции.</returns> /// <returns>Результат выполнения функции.</returns>
public bool RemoveServerById(int id) public bool RemoveServer(int id)
{ {
if (servers.Count == 0 || id >= servers.Count || id < 0) if (_servers.Count == 0 || id >= _servers.Count || id < 0)
{ {
log.Warn("Server not removed: Id incorrect or list server are empty."); log.Warn("Server not removed: Id incorrect or list server are empty.");
return false; return false;
} }
log.Trace("Server id=" + id.ToString() + ";name=" + servers[id].name + ";ip=" + servers[id].ip + ";port=" + servers[id].port.ToString() + ";dir=" + servers[id].dir + "; removed."); log.Trace("Server id=" + id.ToString() + ";name=" + _servers[id].name + ";ip=" + _servers[id].ip + ";port=" + _servers[id].port.ToString() + ";dir=" + _servers[id].dir + "; removed.");
servers.RemoveAt(id); _servers.RemoveAt(id);
UseServer = 0; UseServer = 0;
return true; return true;
} }
/// <summary>Удаление сервера из списка серверов по его названию.</summary> //#################
/// <param name="name">Название сервера.</param>
/// <returns>Результат выполнения функции.</returns> //Переменные
public bool RemoveServerByName(string name)
{
var id = servers.FindIndex(x => x.name == name); //Геттеры и сеттеры
if (id == -1)
{ //Функции
log.Warn("Server not removed: Name incorrect or server not exist.");
return false;
}
return RemoveServerById(id);
}
/// <summary>Чтение конфигурационнного файла и установка параметров по умолчанию.</summary>
private void Config()
{
string jsonString;
var confFile = Path.Combine(confDir, "config.json");
try
{
jsonString = File.ReadAllText(confFile);
}
catch (Exception e)
{
log.Warn(e, "Can't read config file from " + confDir + ".");
return;
}
var conf = (JObject)JsonConvert.DeserializeObject(jsonString);
if (!conf.HasValues && !conf["servers"].HasValues && conf["servers"].Type != JTokenType.Array)
{
log.Warn("Doesn't exist \"servers\" object in config file.");
return;
}
var count = -1;
foreach (var s in conf["servers"])
{
count++;
var name = (s["name"].Type == JTokenType.String) ? (string)s["name"] : "default";
var ip = (s["ip"].Type == JTokenType.String) ? (string)s["ip"] : "";
var port = (s["port"].Type == JTokenType.Integer) ? (int)s["port"] : -1;
var dir = (s["dir"].Type == JTokenType.String) ? (string)s["dir"] : "";
var res = false;
if (GetServerIdByName(name) == -1)
res = AddServer(name, ip, port, dir);
else
res = ChangeServerByName(name, ip, port, dir);
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<int>();
foreach (var v in vdpList) tmpvdp.Add(v.num);
confAnalog = Configuration.InitAnalogList(Path.Combine(confDir, "analog"), tmpvdp.ToArray());
}
/// <summary>Создание экземпляра класса.</summary> /// <summary>Создание экземпляра класса.</summary>
public STPClient() public STPClient()
{ {
@ -241,41 +191,16 @@ namespace DataClient
Config(); Config();
} }
public TechCycle[] GetTechCycles(int vdp, DateTime tS, DateTime tE) public TechCycle[] GetTechCyclesList(int vdp, DateTime tS, DateTime tE)
{ {
//Use File with ID = 3 //Use File with ID = 3
var res = new List<TechCycle>(); var res = new List<TechCycle>();
return res.ToArray(); return res.ToArray();
} }
public Analog[] GetAnalogs(int vdp, DateTime tS, DateTime tE)
public (ConfAnalog conf, Analog[] list)[] GetAnalogsList(int vdp, DateTime tS, DateTime tE, int[] idA = null)
{ {
var res = new List<Analog>(); return Array.Empty<(ConfAnalog conf, Analog[] list)>();
var net = new NETClient(servers[serverDefault].ip, servers[serverDefault].port);
if (!net.Connect()) return Array.Empty<Analog>();
var s1 = new List<Task<byte[]>>();
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<byte[]>(() => net.Full_Download(d, vdp, 01));
t.Start();
s1.Add(t);
}
var s2 = new List<Task<Analog[]>>();
while(s1.Count > 0)
{
for(var i = 0; i < s1.Count; i++)
if (s1[i].IsCompleted)
{
var t = new Task<Analog[]>( () => {
if (!s1[i].IsCompletedSuccessfully)
return new Analog[0];
return s1[i].Result
});
}
}
return res.ToArray();
} }

@ -8,6 +8,5 @@ namespace DataClient
{ {
static class StructConverter static class StructConverter
{ {
Analog[]
} }
} }

@ -4,15 +4,365 @@
"add": [ "add": [
{ {
"id": 0, "id": 0,
"name": "Test", "name": "Ток дуги",
"short_name": "Test", "sname": "I д",
"measure": "kg", "measure": "кА",
"mul": 1, "mul": 0.1,
"min": -100, "byteId": [ 0, 1 ]
"max": 100, },
"zero": 0, {
"logarithm": false, "id": 1,
"byteId": [ 1, 12, 3 ] "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]
} }
] ]
} }

@ -1 +1 @@
a35e80ad0f3cac2804cec2e84481a2b816e18b57 87bece5d0c6996144f4c9f6e3331fc77f0523159

BIN
DataClientTests.rarr Normal file

Binary file not shown.

BIN
test3/PIC/Screenshot_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
test3/PIC/Screenshot_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
test3/PIC/Screenshot_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
test3/PIC/Screenshot_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
test3/PIC/Screenshot_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
test3/PIC/Screenshot_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
test3/PIC/Screenshot_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
test3/PIC/Screenshot_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
test3/PIC/Screenshot_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

184
test3/Program.cs Normal file

@ -0,0 +1,184 @@
using DataClient;
using NLog;
using NLog.Config;
using NLog.Targets;
using System;
using System.Threading.Tasks;
namespace test3
{
class Program
{
static Logger log = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
LogConf();
Test1();
Test2();
Test3();
Test4();
Test5();
}
static void LogConf()
{
var conf = new LoggingConfiguration();
var logcon = new ColoredConsoleTarget()
{
Name = "logcon",
Layout = @"${time}|${level:uppercase=true}|${logger}|${message}${when:when=length('${exception}')>0:Inner=|}${exception:format=ToString,StackTrace}"
};
conf.AddRule(LogLevel.Trace, LogLevel.Fatal, logcon);
LogManager.Configuration = conf;
}
//Проверка соединения
static void Test1()
{
log.Warn("TEST1:");
var t = new NETClient("10.10.45.152", 1070);
log.Warn("Проверка соединения:");
t.Connect();
if (t.Connected())
log.Warn("Соединение ОК!");
else
log.Warn("Соединение не удалось!");
t.Close();
}
//Проверка получения и отправки кода
static void Test2()
{
log.Warn("TEST2:");
var t = new NETClient("10.10.45.152", 1070);
log.Warn("Проверка отправки и получения кода (время сервера):");
var buf = t.CreateCode((uint)NETClient.Code.server_time);
var s = "";
foreach (var e in buf)
s += " 0x" + e.ToString("X2");
log.Warn("Код отправки:" + s);
t.Connect();
log.Warn("Отправляем код.");
if (t.SendBytes(buf))
{
log.Warn("Код отправлен.");
log.Warn("Получаем ответ.");
buf = t.ReceiveBytes(7);
if (buf.Length == 7)
{
log.Warn("Ответ получен.");
s = "";
foreach (var e in buf)
s += " 0x" + e.ToString("X2");
log.Warn("Код ответа:" + s);
log.Warn("Конвертируем ответ.");
var date = new DateTime(buf[0] | buf[1] << 8, buf[2], buf[3], buf[4], buf[5], buf[6]);
log.Warn("Время сервера: " + date.ToString("yyyy.MM.dd HH.mm.ss"));
}
else
log.Warn("Ошибка получения данных.");
}
else
log.Warn("Ошибка отправки кода.");
t.Close();
}
//Проверка получения списков паспортов
static void Test3()
{
log.Warn("TEST3:");
var t = new NETClient("10.10.45.152", 1070);
log.Warn("Проверка получения директории 2021");
var r = t.Full_Dir_Browse("2021");
log.Warn("Результат 2021:");
foreach (var e in r)
{
log.Warn(e);
}
log.Warn("Проверка получения директории 2021/07");
r = t.Full_Dir_Browse("2021/07");
log.Warn("Результат 2021/07:");
foreach (var e in r)
{
log.Warn(e);
}
log.Warn("Проверка получения директории 2021/07/07");
r = t.Full_Dir_Browse("2021/07/07");
log.Warn("Результат 2021/07/07:");
foreach (var e in r)
{
log.Warn(e);
}
}
//Проверка загрузки паспорта
static void Test4()
{
log.Warn("TEST4:");
var t = new NETClient("10.10.45.152", 1070);
log.Warn("Проверка получения паспорта:");
log.Warn("Запрос паспорта 2021/07/07/17:55:10-8-10-11495.gz");
var p = t.Full_Pasp_Download("2021/07/07/17:55:10-8-10-11495.gz");
log.Warn("Полученный код: ");
var b = p.PaspByte;
var s = "";
foreach (var e in b)
s += " " + e.ToString("X2");
log.Warn(s);
log.Warn("Паспорт получен:");
log.Warn(" Есть данные?: " + p.HasData.ToString());
if (p.HasData)
{
log.Warn(" Номер печи: " + p.numVDP.Value.ToString());
log.Warn(" Время начала: " + p.dStart.Value.ToString());
log.Warn(" Время конца: " + p.dEnd.Value.ToString());
log.Warn(" Есть паспорт?: " + p.hasPasport.ToString());
if (p.hasPasport)
{
log.Warn(" kod_npl: " + p.kod_npl);
log.Warn(" nplav: " + p.nplav);
log.Warn(" rm: " + p.rm);
log.Warn(" splav: " + p.splav);
log.Warn(" iS: " + p.iS);
log.Warn(" notd: " + p.notd);
log.Warn(" vessl: " + p.vessl);
log.Warn(" diam: " + p.diam);
log.Warn(" prpl: " + p.prpl);
log.Warn(" tin: " + p.tin);
log.Warn(" dzap: " + p.dzap);
log.Warn(" dlog: " + p.dlog);
log.Warn(" last: " + p.last);
log.Warn(" dlper: " + p.dlper);
log.Warn(" nazn: " + p.nazn);
log.Warn(" kompl: " + p.kompl);
log.Warn(" izl: " + p.izl);
log.Warn(" robm: " + p.robm);
log.Warn(" rizol: " + p.rizol);
log.Warn(" dkr: " + p.dkr);
log.Warn(" nkon: " + p.nkon);
log.Warn(" pos: " + p.pos);
log.Warn(" ukaz: " + p.ukaz);
log.Warn(" zakaz: " + p.zakaz);
log.Warn(" kat: " + p.kat);
log.Warn(" pril: " + p.pril);
log.Warn(" rezerved: " + p.rezerved);
}
}
}
//Проверка получения технологического цикла
static void Test5()
{
log.Warn("TEST5:");
var t = new NETClient("10.10.45.152", 1070);
log.Warn("Проверка получения технологического цикла:");
log.Warn("Запрос цикла печи 10 за 2021.07.07");
var r = t.Full_Download(new DateTime(2021, 07, 07), 10, 3);
log.Warn("Получен код:");
var s = "";
foreach (var e in r)
s += " " + e.ToString("X2");
log.Warn("Конвертирование кода:");
var tc = ByteConverter.BytesToTechcycles(r);
foreach(var e in tc)
log.Warn(e.start.ToString("yyyy.MM.dd HH.mm.ss") + " " + e.index.Value.ToString("D2"));
}
}
}

@ -0,0 +1,368 @@
{
"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]
}
]
}

@ -0,0 +1,16 @@
{
"servers": [
{
"name": "STP 1",
"ip": "10.10.45.151",
"port": 1070,
"dir": "Y:\\data"
},
{
"name": "STP 2",
"ip": "10.10.45.152",
"port": 1070,
"dir": "Z:\\data"
}
]
}

Binary file not shown.

Binary file not shown.

@ -0,0 +1,278 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DataClient</name>
</assembly>
<members>
<member name="T:DataClient.NETClient">
<summary>Класс для связи с СТП сервером по проботоколу TCP.</summary>
</member>
<member name="P:DataClient.NETClient.Status">
<summary>
Статус процесса выполнения запроса.
Предполагается использовать только на больших
загрузках и в ассинхронных задачах
</summary>
</member>
<member name="T:DataClient.NETClient.Code">
<summary>Коды для работы с СТП.</summary>
</member>
<member name="F:DataClient.NETClient.Code.version">
<summary>Версия.</summary>
</member>
<member name="F:DataClient.NETClient.Code.download">
<summary>Загрузка.</summary>
</member>
<member name="F:DataClient.NETClient.Code.pasp_download">
<summary>Загрузка паспорта.</summary>
</member>
<member name="F:DataClient.NETClient.Code.server_time">
<summary>Время сервера.</summary>
</member>
<member name="F:DataClient.NETClient.Code.keep_alive">
<summary>Оставаться на связи.</summary>
</member>
<member name="F:DataClient.NETClient.Code.download_nh">
<summary>Загрузка (nh).</summary>
</member>
<member name="F:DataClient.NETClient.Code.dir_browse">
<summary>Структура директории.</summary>
</member>
<member name="F:DataClient.NETClient.Code.by_name">
<summary>Поиск команды по имени.</summary>
</member>
<member name="P:DataClient.NETClient.Ip">
<summary>IP адрес СТП.</summary>
</member>
<member name="P:DataClient.NETClient.Port">
<summary>Порт СТП.</summary>
</member>
<member name="P:DataClient.NETClient.RetryCount">
<summary>Количество попыток переподключения.</summary>
</member>
<member name="P:DataClient.NETClient.RetryInterval">
<summary>Время в секундах между попытками переподключения.</summary>
</member>
<member name="M:DataClient.NETClient.#ctor">
<summary>Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070;</summary>
</member>
<member name="M:DataClient.NETClient.#ctor(System.String,System.Int32)">
<summary>Конструктор класса NetClient с параметрами.</summary><param name="ip">Ip-адрес сервера.</param><param name="port">Порт сервера.</param>
</member>
<member name="M:DataClient.NETClient.ReceiveBytesFull(System.Net.Sockets.NetworkStream)">
<summary>Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.</summary><param name="ns">Открытый сетевой поток.</param><returns>Массив байт.</returns><exception cref="T:System.InvalidOperationException">
Соединение с сервером закрыто.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для Чтения.
</exception><exception cref="T:System.TimeoutException">
Сервер сбросил соединение.
</exception>
</member>
<member name="M:DataClient.NETClient.ReceiveBytesFixSize(System.Net.Sockets.NetworkStream,System.UInt32)">
<summary>Получение определенного количество байт с сервера.</summary><param name="ns">Открытый сетевой поток.</param><param name="size">Кол-во получаемых байт.</param><returns>Массив байт. Может быть меньше заданного количества.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для записи.
</exception><exception cref="T:System.TimeoutException">
Сервер сбросил соединение.
</exception>
</member>
<member name="M:DataClient.NETClient.SendBytes(System.Net.Sockets.NetworkStream,System.Byte[])">
<summary>Отправка массива байт на СТП.</summary><param name="ns">Открытый сетевой поток.</param><param name="arr">Массив байт.</param><returns>Результат отправки.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для записи.
</exception>
</member>
<member name="M:DataClient.NETClient.CreateCode(System.UInt32,System.String,System.Byte[],System.Byte[])">
<summary>Формирование массива байт на отправку.</summary><param name="code">Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00)</param><param name="val">Передаваемая строка.</param><param name="prefix">Байты перед передаваемой строкой.</param><param name="postfix">Байты после передаваемой строкой.</param><returns>Массив байт для отправки на СТП.</returns>
</member>
<member name="M:DataClient.NETClient.Connect">
<summary>Открытие соединения к серверу.</summary><remarks>Информирует только о подключении к серверу. Исключения опускает.</remarks><returns>Состояние подключения.</returns>
</member>
<member name="M:DataClient.NETClient.Connected">
<summary>Проверка подключения.</summary><returns>Состояние подключения.</returns>
</member>
<member name="M:DataClient.NETClient.Close">
<summary>Закрыть подключение.</summary>
</member>
<member name="M:DataClient.NETClient.SendBytes(System.Byte[])">
<summary>Отправка массива байт на СТП.</summary><param name="send">Массив байт для отправки.</param><returns>Результат отправки.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Поток недоступен для записи.
</exception>
</member>
<member name="M:DataClient.NETClient.ReceiveBytes">
<summary>Получение неизвестного количество байт.</summary><remarks>Возвращает null, если что-то пошло не так.</remarks><returns>Массив байт.</returns>
</member>
<member name="M:DataClient.NETClient.ReceiveBytes(System.UInt32)">
<summary>Получение определенного количество байт.</summary><param name="size">Количество байт.</param><remarks>Возвращает null, если что-то пошло не так.</remarks><returns>Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных.</returns>
</member>
<member name="M:DataClient.NETClient.My_Connect">
<summary>Внутренняя функция для создания подключения.</summary><returns>Возвращает флаг необходимости закрытия соединения.</returns><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.My_Close(System.Boolean)">
<summary>Внетренняя функция для закрытия соединения.</summary><param name="needClose">Флаг о необходимости закрыть соединение.</param>
</member>
<member name="M:DataClient.NETClient.GetFile(DataClient.NETClient.Code,System.DateTime,System.Int32,System.Int32)">
<summary>Внутренняя функция получения файлов.</summary><param name="code">Код, который будет отправлен на сервер.</param><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><returns>Массив байт, соответствующий запрашиваемому файлу.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Download_NH(System.DateTime,System.Int32,System.Int32)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Обработанный массив байт.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Download(System.DateTime,System.Int32,System.Int32)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Обработанный массив байт.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_By_Name(System.String)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="val">Название команды.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Массив байт, соответствующий этой команде. Может вернуть null.</returns><exception cref="T:System.ArgumentException">
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Dir_Browse(System.String)">
<summary>Получение структуры файлов и папок в запрашиваемой директории.</summary><param name="dir">Путь, структуру которого надо отобразить.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Массив строк. Полные пути к файлам и папкам. Может вернуть null.</returns><exception cref="T:System.ArgumentException">
Неверный флаг окончания строки.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Server_Time">
<summary>Получение текущее время на сервере.</summary><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Текущее время на сервере.</returns><exception cref="T:System.ArgumentException">
Неверный флаг окончания строки.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Version">
<summary>Получение текущую версию сервера.</summary><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>строку с названием версии сервера.</returns><exception cref="T:System.ArgumentException">
Неверный флаг окончания строки.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Keep_Alive">
<summary>Отправка команды для поддержания соединения.</summary><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="T:DataClient.STPClient">
<summary>
Класс для связи с СТП. Содержит все инструменты, для получения данных.
</summary>
</member>
<member name="P:DataClient.STPClient.UseServer">
<summary>Номер сервера, используемого по умолчанию.</summary>
</member>
<member name="P:DataClient.STPClient.ListServers">
<summary>Массив серверов, инициализированных в экземпляре класса.</summary>
</member>
<member name="M:DataClient.STPClient.GetServerIdByName(System.String)">
<summary>Получение номера сервера по его названию.</summary>
<param name="name">Название сервера.</param>
<returns>Номер сервера в списке серверов.</returns>
</member>
<member name="M:DataClient.STPClient.GetServerNameById(System.Int32)">
<summary>Получение название сервера по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<returns>Название сервера.</returns>
</member>
<member name="M:DataClient.STPClient.CheckDataServer(System.String,System.Int32,System.String)">
<summary>Проверка параметров серевера перед их добавлением в список.</summary>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.AddServer(System.String,System.String,System.Int32,System.String)">
<summary>Добавление сервера в список серверов.</summary>
<param name="name">Название сервера</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.ChangeServerById(System.Int32,System.String,System.String,System.Int32,System.String)">
<summary>Изменение сервера в списке серверов по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<param name="name">Название сервера.</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.ChangeServerByName(System.String,System.String,System.Int32,System.String)">
<summary>Изменение сервера в списке серверов по его названию.</summary>
<param name="name">Название сервера.</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.RemoveServerById(System.Int32)">
<summary>Удаление сервера из списка серверов по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.RemoveServerByName(System.String)">
<summary>Удаление сервера из списка серверов по его названию.</summary>
<param name="name">Название сервера.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.Config">
<summary>Чтение конфигурационнного файла и установка параметров по умолчанию.</summary>
</member>
<member name="M:DataClient.STPClient.#ctor">
<summary>Создание экземпляра класса.</summary>
</member>
<member name="M:DataClient.STPClient.#ctor(System.String)">
<summary>Создание экземпляра класса с указанием конфигурационного файла.</summary>
<param name="confDir">Путь к файлу конфигурации.</param>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,214 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v5.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v5.0": {
"test3/1.0.0": {
"dependencies": {
"DataClient": "0.0.3",
"NLog": "4.7.10",
"NLog.Extensions.Logging": "1.7.3"
},
"runtime": {
"test3.dll": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.0"
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Logging/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "5.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging.Abstractions": "5.0.0",
"Microsoft.Extensions.Options": "5.0.0"
},
"runtime": {
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Options/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Primitives": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Primitives/5.0.0": {
"runtime": {
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Newtonsoft.Json/13.0.1": {
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.1.25517"
}
}
},
"NLog/4.7.10": {
"runtime": {
"lib/netstandard2.0/NLog.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.7.10.13013"
}
}
},
"NLog.Extensions.Logging/1.7.3": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0",
"NLog": "4.7.10"
},
"runtime": {
"lib/net5.0/NLog.Extensions.Logging.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.7.3.1580"
}
}
},
"DataClient/0.0.3": {
"dependencies": {
"NLog": "4.7.10",
"NLog.Extensions.Logging": "1.7.3",
"Newtonsoft.Json": "13.0.1"
},
"runtime": {
"DataClient.dll": {}
}
}
}
},
"libraries": {
"test3/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ETjSBHMp3OAZ4HxGQYpwyGsD8Sw5FegQXphi0rpoGMT74S4+I2mm7XJEswwn59XAaKOzC15oDSOWEE8SzDCd6Q==",
"path": "microsoft.extensions.configuration.abstractions/5.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Rc2kb/p3Ze6cP6rhFC3PJRdWGbLvSHZc0ev7YlyeU6FmHciDMLrhoVoTUEzKPhN5ZjFgKF1Cf5fOz8mCMIkvpA==",
"path": "microsoft.extensions.dependencyinjection/5.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ORj7Zh81gC69TyvmcUm9tSzytcy8AVousi+IVRAI8nLieQjOFryRusSFh7+aLk16FN9pQNqJAiMd7BTKINK0kA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==",
"path": "microsoft.extensions.logging/5.0.0",
"hashPath": "microsoft.extensions.logging.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==",
"path": "microsoft.extensions.logging.abstractions/5.0.0",
"hashPath": "microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CBvR92TCJ5uBIdd9/HzDSrxYak+0W/3+yxrNg8Qm6Bmrkh5L+nu6m3WeazQehcZ5q1/6dDA7J5YdQjim0165zg==",
"path": "microsoft.extensions.options/5.0.0",
"hashPath": "microsoft.extensions.options.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cI/VWn9G1fghXrNDagX9nYaaB/nokkZn0HYAawGaELQrl8InSezfe9OnfPZLcJq3esXxygh3hkq2c3qoV3SDyQ==",
"path": "microsoft.extensions.primitives/5.0.0",
"hashPath": "microsoft.extensions.primitives.5.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
"path": "newtonsoft.json/13.0.1",
"hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
},
"NLog/4.7.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rcegW7kYOCjl7wX0SzsqpPBqnJ51JKi1WkYb6QBVX0Wc5IgH19Pv4t/co+T0s06OS0Ne44xgkY/mHg0PdrmJow==",
"path": "nlog/4.7.10",
"hashPath": "nlog.4.7.10.nupkg.sha512"
},
"NLog.Extensions.Logging/1.7.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7RvUvGd9Ad37pNedjPHbCUroscLGuChLBo0OBveGp92vIpEHLZm/in+Ydd+c9qpv1XMQQIx7yZv1F5qyy/AxHQ==",
"path": "nlog.extensions.logging/1.7.3",
"hashPath": "nlog.extensions.logging.1.7.3.nupkg.sha512"
},
"DataClient/0.0.3": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,11 @@
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\google\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\google\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
]
}
}

@ -0,0 +1,9 @@
{
"runtimeOptions": {
"tfm": "net5.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "5.0.0"
}
}
}

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")]

Binary file not shown.

Binary file not shown.

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("test3")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("test3")]
[assembly: System.Reflection.AssemblyTitleAttribute("test3")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

@ -0,0 +1 @@
9eb3d6bf2f554791738172be91eb134f461ae3de

@ -0,0 +1,8 @@
is_global = true
build_property.TargetFramework = net5.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.PublishSingleFile =
build_property.IncludeAllContentForSelfExtract =
build_property._SupportedPlatformList = Android,iOS,Linux,macOS,Windows

Binary file not shown.

@ -0,0 +1 @@
4a64f48f9841d424ea2f134c2a8be43f3a2df036

@ -0,0 +1,32 @@
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.exe
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Config\analog\default.json
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Config\config.json
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.deps.json
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.runtimeconfig.json
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.runtimeconfig.dev.json
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\ref\test3.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\test3.pdb
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.Configuration.Abstractions.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.DependencyInjection.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.Logging.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.Logging.Abstractions.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.Options.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Microsoft.Extensions.Primitives.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\Newtonsoft.Json.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\NLog.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\NLog.Extensions.Logging.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\DataClient.dll
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\DataClient.pdb
D:\GIT\ASCKU_PC\test3\bin\Debug\net5.0\DataClient.xml
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.csproj.AssemblyReference.cache
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.GeneratedMSBuildEditorConfig.editorconfig
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.AssemblyInfoInputs.cache
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.AssemblyInfo.cs
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.csproj.CoreCompileInputs.cache
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.csproj.CopyComplete
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.dll
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\ref\test3.dll
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.pdb
D:\GIT\ASCKU_PC\test3\obj\Debug\net5.0\test3.genruntimeconfig.cache

Binary file not shown.

@ -0,0 +1 @@
d90f478b25e16441beb4bc56771563c6e3e823b0

Binary file not shown.

@ -0,0 +1,464 @@
{
"version": 3,
"targets": {
"net5.0": {
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.0"
},
"compile": {
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
}
},
"Microsoft.Extensions.Logging/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "5.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging.Abstractions": "5.0.0",
"Microsoft.Extensions.Options": "5.0.0"
},
"compile": {
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {}
},
"runtime": {
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {}
}
},
"Microsoft.Extensions.Options/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Primitives": "5.0.0"
},
"compile": {
"lib/net5.0/Microsoft.Extensions.Options.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.Options.dll": {}
}
},
"Microsoft.Extensions.Primitives/5.0.0": {
"type": "package",
"compile": {
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {}
},
"runtime": {
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {}
}
},
"Newtonsoft.Json/13.0.1": {
"type": "package",
"compile": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
},
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
}
},
"NLog/4.7.10": {
"type": "package",
"compile": {
"lib/netstandard2.0/NLog.dll": {}
},
"runtime": {
"lib/netstandard2.0/NLog.dll": {}
}
},
"NLog.Extensions.Logging/1.7.3": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0",
"NLog": "4.7.10"
},
"compile": {
"lib/net5.0/NLog.Extensions.Logging.dll": {}
},
"runtime": {
"lib/net5.0/NLog.Extensions.Logging.dll": {}
}
},
"DataClient/0.0.3": {
"type": "project",
"framework": ".NETCoreApp,Version=v5.0",
"dependencies": {
"NLog": "4.7.10",
"NLog.Extensions.Logging": "1.7.2",
"Newtonsoft.Json": "13.0.1"
},
"compile": {
"bin/placeholder/DataClient.dll": {}
},
"runtime": {
"bin/placeholder/DataClient.dll": {}
}
}
}
},
"libraries": {
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"sha512": "ETjSBHMp3OAZ4HxGQYpwyGsD8Sw5FegQXphi0rpoGMT74S4+I2mm7XJEswwn59XAaKOzC15oDSOWEE8SzDCd6Q==",
"type": "package",
"path": "microsoft.extensions.configuration.abstractions/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"sha512": "Rc2kb/p3Ze6cP6rhFC3PJRdWGbLvSHZc0ev7YlyeU6FmHciDMLrhoVoTUEzKPhN5ZjFgKF1Cf5fOz8mCMIkvpA==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.DependencyInjection.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.xml",
"lib/net5.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net5.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"sha512": "ORj7Zh81gC69TyvmcUm9tSzytcy8AVousi+IVRAI8nLieQjOFryRusSFh7+aLk16FN9pQNqJAiMd7BTKINK0kA==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.Logging/5.0.0": {
"sha512": "MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==",
"type": "package",
"path": "microsoft.extensions.logging/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Logging.dll",
"lib/net461/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
"microsoft.extensions.logging.5.0.0.nupkg.sha512",
"microsoft.extensions.logging.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"sha512": "NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.Options/5.0.0": {
"sha512": "CBvR92TCJ5uBIdd9/HzDSrxYak+0W/3+yxrNg8Qm6Bmrkh5L+nu6m3WeazQehcZ5q1/6dDA7J5YdQjim0165zg==",
"type": "package",
"path": "microsoft.extensions.options/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Options.dll",
"lib/net461/Microsoft.Extensions.Options.xml",
"lib/net5.0/Microsoft.Extensions.Options.dll",
"lib/net5.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.5.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Extensions.Primitives/5.0.0": {
"sha512": "cI/VWn9G1fghXrNDagX9nYaaB/nokkZn0HYAawGaELQrl8InSezfe9OnfPZLcJq3esXxygh3hkq2c3qoV3SDyQ==",
"type": "package",
"path": "microsoft.extensions.primitives/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Primitives.dll",
"lib/net461/Microsoft.Extensions.Primitives.xml",
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll",
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.5.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Newtonsoft.Json/13.0.1": {
"sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
"type": "package",
"path": "newtonsoft.json/13.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.md",
"lib/net20/Newtonsoft.Json.dll",
"lib/net20/Newtonsoft.Json.xml",
"lib/net35/Newtonsoft.Json.dll",
"lib/net35/Newtonsoft.Json.xml",
"lib/net40/Newtonsoft.Json.dll",
"lib/net40/Newtonsoft.Json.xml",
"lib/net45/Newtonsoft.Json.dll",
"lib/net45/Newtonsoft.Json.xml",
"lib/netstandard1.0/Newtonsoft.Json.dll",
"lib/netstandard1.0/Newtonsoft.Json.xml",
"lib/netstandard1.3/Newtonsoft.Json.dll",
"lib/netstandard1.3/Newtonsoft.Json.xml",
"lib/netstandard2.0/Newtonsoft.Json.dll",
"lib/netstandard2.0/Newtonsoft.Json.xml",
"newtonsoft.json.13.0.1.nupkg.sha512",
"newtonsoft.json.nuspec",
"packageIcon.png"
]
},
"NLog/4.7.10": {
"sha512": "rcegW7kYOCjl7wX0SzsqpPBqnJ51JKi1WkYb6QBVX0Wc5IgH19Pv4t/co+T0s06OS0Ne44xgkY/mHg0PdrmJow==",
"type": "package",
"path": "nlog/4.7.10",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/monoandroid44/NLog.dll",
"lib/monoandroid44/NLog.xml",
"lib/net35/NLog.dll",
"lib/net35/NLog.xml",
"lib/net40-client/NLog.dll",
"lib/net40-client/NLog.xml",
"lib/net45/NLog.dll",
"lib/net45/NLog.xml",
"lib/netstandard1.3/NLog.dll",
"lib/netstandard1.3/NLog.xml",
"lib/netstandard1.5/NLog.dll",
"lib/netstandard1.5/NLog.xml",
"lib/netstandard2.0/NLog.dll",
"lib/netstandard2.0/NLog.xml",
"lib/sl4/NLog.dll",
"lib/sl4/NLog.xml",
"lib/sl5/NLog.dll",
"lib/sl5/NLog.xml",
"lib/wp8/NLog.dll",
"lib/wp8/NLog.xml",
"lib/xamarinios10/NLog.dll",
"lib/xamarinios10/NLog.xml",
"nlog.4.7.10.nupkg.sha512",
"nlog.nuspec"
]
},
"NLog.Extensions.Logging/1.7.3": {
"sha512": "7RvUvGd9Ad37pNedjPHbCUroscLGuChLBo0OBveGp92vIpEHLZm/in+Ydd+c9qpv1XMQQIx7yZv1F5qyy/AxHQ==",
"type": "package",
"path": "nlog.extensions.logging/1.7.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"N.png",
"lib/net451/NLog.Extensions.Logging.dll",
"lib/net451/NLog.Extensions.Logging.xml",
"lib/net461/NLog.Extensions.Logging.dll",
"lib/net461/NLog.Extensions.Logging.xml",
"lib/net5.0/NLog.Extensions.Logging.dll",
"lib/net5.0/NLog.Extensions.Logging.xml",
"lib/netcoreapp3.0/NLog.Extensions.Logging.dll",
"lib/netcoreapp3.0/NLog.Extensions.Logging.xml",
"lib/netstandard1.3/NLog.Extensions.Logging.dll",
"lib/netstandard1.3/NLog.Extensions.Logging.xml",
"lib/netstandard1.5/NLog.Extensions.Logging.dll",
"lib/netstandard1.5/NLog.Extensions.Logging.xml",
"lib/netstandard2.0/NLog.Extensions.Logging.dll",
"lib/netstandard2.0/NLog.Extensions.Logging.xml",
"nlog.extensions.logging.1.7.3.nupkg.sha512",
"nlog.extensions.logging.nuspec"
]
},
"DataClient/0.0.3": {
"type": "project",
"path": "../DataClient/DataClient.csproj",
"msbuildProject": "../DataClient/DataClient.csproj"
}
},
"projectFileDependencyGroups": {
"net5.0": [
"DataClient >= 0.0.3",
"NLog >= 4.7.10",
"NLog.Extensions.Logging >= 1.7.3"
]
},
"packageFolders": {
"C:\\Users\\google\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\test3\\test3.csproj",
"projectName": "test3",
"projectPath": "D:\\GIT\\ASCKU_PC\\test3\\test3.csproj",
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
"outputPath": "D:\\GIT\\ASCKU_PC\\test3\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"NLog": {
"target": "Package",
"version": "[4.7.10, )"
},
"NLog.Extensions.Logging": {
"target": "Package",
"version": "[1.7.3, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.301\\RuntimeIdentifierGraph.json"
}
}
}
}

@ -0,0 +1,19 @@
{
"version": 2,
"dgSpecHash": "EBG4XTpF2XCEoZqMT/a4MlQQQTh9bL8x5U2KslrcIG19yhGAiHvB2djQFsEKMZ3X1d2htCutf2Oey2RI12uq9w==",
"success": true,
"projectFilePath": "D:\\GIT\\ASCKU_PC\\test3\\test3.csproj",
"expectedPackageFiles": [
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\nlog.extensions.logging\\1.7.3\\nlog.extensions.logging.1.7.3.nupkg.sha512"
],
"logs": []
}

@ -0,0 +1,158 @@
{
"format": 1,
"restore": {
"D:\\GIT\\ASCKU_PC\\test3\\test3.csproj": {}
},
"projects": {
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
"version": "0.0.3",
"restore": {
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectName": "DataClient",
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"NLog": {
"target": "Package",
"version": "[4.7.10, )"
},
"NLog.Extensions.Logging": {
"target": "Package",
"version": "[1.7.2, )"
},
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.301\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\GIT\\ASCKU_PC\\test3\\test3.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\test3\\test3.csproj",
"projectName": "test3",
"projectPath": "D:\\GIT\\ASCKU_PC\\test3\\test3.csproj",
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
"outputPath": "D:\\GIT\\ASCKU_PC\\test3\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"NLog": {
"target": "Package",
"version": "[4.7.10, )"
},
"NLog.Extensions.Logging": {
"target": "Package",
"version": "[1.7.3, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.301\\RuntimeIdentifierGraph.json"
}
}
}
}
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\google\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.10.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\google\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" />
</ItemGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>

150
test3/result.txt Normal file

@ -0,0 +1,150 @@
09:01:36.7796|WARN|test3.Program|TEST1:
09:01:36.8690|WARN|test3.Program|Проверка соединения:
09:01:36.8730|WARN|test3.Program|Соединение ОК!
09:01:36.8730|WARN|test3.Program|TEST2:
09:01:36.8730|WARN|test3.Program|Проверка отправки и получения кода (время сервера):
09:01:36.8730|WARN|test3.Program|Код отправки: 0x08 0x00 0x00 0x00
09:01:36.8730|WARN|test3.Program|Отправляем код.
09:01:36.8730|WARN|test3.Program|Код отправлен.
09:01:36.8730|WARN|test3.Program|Получаем ответ.
09:01:37.9006|WARN|test3.Program|Ответ получен.
09:01:37.9006|WARN|test3.Program|Код ответа: 0xE5 0x07 0x07 0x08 0x09 0x00 0x0A
09:01:37.9006|WARN|test3.Program|Конвертируем ответ.
09:01:37.9084|WARN|test3.Program|Время сервера: 2021.07.08 09.00.10
09:01:37.9084|WARN|test3.Program|TEST3:
09:01:37.9084|WARN|test3.Program|Проверка получения директории 2021
09:01:38.9323|WARN|test3.Program|Результат 2021:
09:01:38.9323|WARN|test3.Program|2021/01
09:01:38.9336|WARN|test3.Program|2021/02
09:01:38.9336|WARN|test3.Program|2021/03
09:01:38.9336|WARN|test3.Program|2021/04
09:01:38.9336|WARN|test3.Program|2021/05
09:01:38.9336|WARN|test3.Program|2021/06
09:01:38.9336|WARN|test3.Program|2021/07
09:01:38.9336|WARN|test3.Program|Проверка получения директории 2021/07
09:01:39.9555|WARN|test3.Program|Результат 2021/07:
09:01:39.9555|WARN|test3.Program|2021/07/01
09:01:39.9555|WARN|test3.Program|2021/07/02
09:01:39.9555|WARN|test3.Program|2021/07/03
09:01:39.9555|WARN|test3.Program|2021/07/04
09:01:39.9555|WARN|test3.Program|2021/07/05
09:01:39.9555|WARN|test3.Program|2021/07/06
09:01:39.9555|WARN|test3.Program|2021/07/07
09:01:39.9555|WARN|test3.Program|2021/07/08
09:01:39.9555|WARN|test3.Program|Проверка получения директории 2021/07/07
09:01:40.9731|WARN|test3.Program|Результат 2021/07/07:
09:01:40.9731|WARN|test3.Program|2021/07/07/01:15:24-8-36-11095.gz
09:01:40.9731|WARN|test3.Program|2021/07/07/02:01:54-9-31-07746.gz
09:01:40.9731|WARN|test3.Program|2021/07/07/02:45:03-8-10-11494.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/03:08:41-8-41-11857.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/05:05:40-8-21-07617.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/05:47:38-8-45-11873.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/06:59:07-8-23-07244.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/07:11:30-8-07-05309.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/08:30:10-8-42-09802.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/08:32:12-9-93-01585.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/08:41:32-8-05-10592.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/08:53:16-8-44-10278.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/09:16:24-8-27-12513.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/09:16:28-8-48-02769.gz
09:01:40.9841|WARN|test3.Program|2021/07/07/09:28:23-8-35-09973.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/09:36:28-8-29-07167.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/10:03:18-8-28-12101.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/10:21:53-8-18-08826.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/10:49:48-8-38-05590.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/11:10:11-8-26-06345.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/11:21:51-8-15-05181.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/11:34:56-8-47-01559.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/11:38:26-8-12-11268.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/11:45:34-8-43-09116.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/12:08:41-8-11-11212.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/13:02:27-8-32-05558.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/13:05:25-8-24-01589.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/13:35:14-8-22-06975.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/13:46:40-8-08-06108.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/14:34:45-8-03-08630.gz
09:01:40.9998|WARN|test3.Program|2021/07/07/14:38:54-8-46-11907.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/14:45:28-9-92-07224.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/15:17:02-8-30-05677.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/15:22:22-8-04-10437.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/16:37:04-8-39-09529.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/17:10:14-8-37-06831.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/17:24:25-9-94-01112.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/17:55:10-8-10-11495.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/17:56:52-9-91-06425.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/19:42:10-9-34-10009.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/20:28:44-8-40-07756.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/21:14:50-8-17-09630.gz
09:01:41.0148|WARN|test3.Program|2021/07/07/22:51:12-8-41-11858.gz
09:01:41.0148|WARN|test3.Program|TEST4:
09:01:41.0148|WARN|test3.Program|Проверка получения паспорта:
09:01:41.0148|WARN|test3.Program|Запрос паспорта 2021/07/07/17:55:10-8-10-11495.gz
09:01:42.0294|WARN|test3.Program|Полученный код:
09:01:42.0294|WARN|test3.Program| 01 0A E5 07 07 07 02 2D 03 E5 07 07 07 11 37 0A 01 44 FF 05 00 38 2D 31 30 2D 31 31 34 39 35 00 00 92 88 92 80 8D 00 00 00 00 00 00 54 49 36 41 4C 2D 34 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 35 2D 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 C4 09 9E 02 02 00 30 36 3A 34 32 3A 30 30 00 30 37 2F 30 37 2F 32 31 00 3A 02 01 00 00 00 8F 8B 88 54 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 1E DB 01 00 00 30 41 00 00 C0 40 02 03 32 35 30 36 38 30 39 54 4C 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 33 00 00 00 00 31 31 35 35 2D 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 49 52 55 53 20 49 4E 54 45 52 4E 41 54 49 4F 4E 41 4C 20 53 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
09:01:42.0472|WARN|test3.Program|Паспорт получен:
09:01:42.0472|WARN|test3.Program| Есть данные?: True
09:01:42.0472|WARN|test3.Program| Номер печи: 10
09:01:42.0472|WARN|test3.Program| Время начала: 07.07.2021 2:45:03
09:01:42.0472|WARN|test3.Program| Время конца: 07.07.2021 17:55:10
09:01:42.0472|WARN|test3.Program| Есть паспорт?: True
09:01:42.0472|WARN|test3.Program| kod_npl: 393028
09:01:42.0472|WARN|test3.Program| nplav: 8-10-11495
09:01:42.0472|WARN|test3.Program| rm: ТИТАН
09:01:42.0472|WARN|test3.Program| splav: TI6AL-4V
09:01:42.0472|WARN|test3.Program| iS: M5-8
09:01:42.0472|WARN|test3.Program| notd: 1
09:01:42.0472|WARN|test3.Program| vessl: 2500
09:01:42.0472|WARN|test3.Program| diam: 670
09:01:42.0472|WARN|test3.Program| prpl: 2
09:01:42.0472|WARN|test3.Program| tin: 06:42:00
09:01:42.0472|WARN|test3.Program| dzap: 07/07/21
09:01:42.0472|WARN|test3.Program| dlog: 570
09:01:42.0472|WARN|test3.Program| last: 1
09:01:42.0472|WARN|test3.Program| dlper: 0
09:01:42.0472|WARN|test3.Program| nazn: ПЛИTA
09:01:42.0472|WARN|test3.Program| kompl: 7723
09:01:42.0472|WARN|test3.Program| izl: 475
09:01:42.0472|WARN|test3.Program| robm: 11
09:01:42.0472|WARN|test3.Program| rizol: 6
09:01:42.0472|WARN|test3.Program| dkr: 770
09:01:42.0587|WARN|test3.Program| nkon: 2506809TLS
09:01:42.0587|WARN|test3.Program| pos: 13
09:01:42.0587|WARN|test3.Program| ukaz: 1155-2
09:01:42.0587|WARN|test3.Program| zakaz: TIRUS INTERNATIONAL SA
09:01:42.0587|WARN|test3.Program| kat: A
09:01:42.0587|WARN|test3.Program| pril: 14
09:01:42.0587|WARN|test3.Program| rezerved:
09:01:42.0587|WARN|test3.Program|TEST5:
09:01:42.0587|WARN|test3.Program|Проверка получения технологического цикла:
09:01:42.0587|WARN|test3.Program|Запрос цикла печи 10 за 2021.07.07
09:01:43.0896|WARN|test3.Program|Получен код:
09:01:43.0923|WARN|test3.Program|Конвертирование кода:
09:01:43.1268|WARN|test3.Program|2021.07.07 00.52.49 12
09:01:43.1268|WARN|test3.Program|2021.07.07 02.45.03 13
09:01:43.1268|WARN|test3.Program|2021.07.07 02.45.03 00
09:01:43.1268|WARN|test3.Program|2021.07.07 03.51.58 14
09:01:43.1268|WARN|test3.Program|2021.07.07 04.21.20 15
09:01:43.1268|WARN|test3.Program|2021.07.07 04.42.31 16
09:01:43.1268|WARN|test3.Program|2021.07.07 04.44.32 16
09:01:43.1268|WARN|test3.Program|2021.07.07 05.45.32 01
09:01:43.1268|WARN|test3.Program|2021.07.07 06.30.49 02
09:01:43.1268|WARN|test3.Program|2021.07.07 07.15.45 05
09:01:43.1373|WARN|test3.Program|2021.07.07 07.25.17 06
09:01:43.1373|WARN|test3.Program|2021.07.07 08.25.20 07
09:01:43.1373|WARN|test3.Program|2021.07.07 09.24.42 08
09:01:43.1373|WARN|test3.Program|2021.07.07 10.18.28 25
09:01:43.1373|WARN|test3.Program|2021.07.07 10.29.31 09
09:01:43.1373|WARN|test3.Program|2021.07.07 10.58.16 10
09:01:43.1373|WARN|test3.Program|2021.07.07 13.08.46 11
09:01:43.1373|WARN|test3.Program|2021.07.07 16.00.14 12
09:01:43.1373|WARN|test3.Program|2021.07.07 17.55.09 13
09:01:43.1373|WARN|test3.Program|2021.07.07 17.55.10 00
09:01:43.1373|WARN|test3.Program|2021.07.07 18.59.21 14
09:01:43.1373|WARN|test3.Program|2021.07.07 19.30.03 15
09:01:43.1373|WARN|test3.Program|2021.07.07 19.56.17 16
09:01:43.1373|WARN|test3.Program|2021.07.07 19.58.22 16
09:01:43.1373|WARN|test3.Program|2021.07.07 21.01.15 01
09:01:43.1373|WARN|test3.Program|2021.07.07 21.58.10 08
09:01:43.1373|WARN|test3.Program|2021.07.07 22.49.53 25
09:01:43.1373|WARN|test3.Program|2021.07.07 22.59.04 09
09:01:43.1373|WARN|test3.Program|2021.07.07 23.30.18 10

17
test3/test3.csproj Normal file

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NLog" Version="4.7.10" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.7.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DataClient\DataClient.csproj" />
</ItemGroup>
</Project>