Автоматика и телемеханика, № 8, 2019
© 2019 г. Б.П. ПОДКОПАЕВ, д-р техн. наук (bpodkopaev@mail.ru)
(ФГАОУ ВО Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ» им. В.И. Ульянова (Ленина)),
А.С. ЯКШИН, канд. техн. наук (yakshin_as@mail.ru)
(ФГКВОУ ВО Военная академия материально-технического обеспечения
им. генерала армии А.В. Хрулева Министерства обороны Российской Федерации,
Санкт-Петербург)
ПОИСК ОШИБОК В УЗЛАХ ТЕХНИЧЕСКИХ СИСТЕМ,
СОДЕРЖАЩИХ СТАТИЧЕСКИЕ НЕЛИНЕЙНОСТИ
Представлен метод решения задачи функционального диагностирова-
ния для систем управления, заданных структурными схемами. Подход
позволяет проводить поиск и локализацию ошибок без учета искажения
параметров внутри звеньев и строить устройства диагностирования, не
превосходящие по сумме компонент исходную систему.
Ключевые слова: функциональное диагностирование, структурная схема,
статические нелинейности, банк диагностических наблюдателей, избы-
точность.
DOI: 10.1134/S0005231019080075
1. Введение и постановка задачи
Повышение важности задач, решаемых современными техническими ком-
плексами, приводит к ужесточению требований к качеству работы всех со-
ставляющих компонентов, в частности к достоверности их функционирова-
ния [1]. Достижение этой достоверности невозможно при наличии нештатных
ситуаций в системе, опасные последствия которых исключаются только при
их своевременном обнаружении. С этой целью в состав технических объектов
вводятся специальные средства, решающие диагностическую задачу либо в
процессе регламентного обслуживания, либо непосредственно в процессе нор-
мальной работы.
Во многих случаях перерывы на регламентное обслуживание недопусти-
мы и диагностические задачи должны решаться в рабочих режимах объек-
та диагностирования (ОД) в реальном масштабе времени. Соответствующие
методы решения диагностических задач принято называть методами функ-
ционального диагностирования (ФД) [2-7].
К числу объектов диагностирования, прерывание работы которых крайне
нежелательно, относятся электромеханические и механические системы ан-
тенных приводов радиотелескопов и обзорных радиолокаторов, следящие си-
стемы автоматики, исполнительные механизмы робототехнических систем и
многие другие. В таких объектах обычно можно выделить структуры, в ко-
торые входят динамические элементы, имеющие один вход и один выход.
В линейном случае исчерпывающее задание таких структур представляет
76
собой совокупность схемы соединений (структурной схемы) и передаточных
функций упомянутых элементов. При этом задачу ФД можно решить с помо-
щью матричных преобразований, трансформирующих исходную структуру в
каноническую форму [8]. В общем случае рассматриваемый ОД может со-
держать нелинейные элементы, причем если нелинейность статическая (не
зависит от состояния ОД), то каждый такой элемент представим последова-
тельным соединением безынерционного нелинейного преобразователя (ста-
тическая нелинейность) и линейного узла. Вся структура при этом также
задается схемой соединений и математическими описаниями элементов с од-
ним входом и одним выходом, однако решение задачи ФД упомянутым выше
методом невозможно ввиду некорректности необходимых преобразований.
Применительно к рассматриваемому случаю задача ФД решена в упоми-
навшихся публикациях [2, 6], но реализация использованных в них методов
требует повышенной избыточности: размерность устройства ФД, как прави-
ло, превышает размерность ОД. Предлагаемый в настоящей работе способ
позволяет без потери диагностической способности решить ту же задачу бо-
лее экономно, обеспечивая равенство размерностей ОД и средств ФД.
Поставим задачу ФД следующим образом.
Пусть ОД является стационарной системой с сосредоточенными парамет-
рами и представим в виде декомпозиции, в которую входят линейные динами-
ческие и нелинейные статические элементы (звенья) с одним входом и одним
выходом. Линейные звенья заданы передаточными функциями (ПФ), стати-
ческие нелинейности (СН) - функциями одной переменной. Выходы некото-
рых (в пределе всех) звеньев доступны и образуют вектор выхода ОД. Считая
этот вектор и управляющие воздействия на ОД доступными, найти матрич-
ное описание устройства функционального диагностирования (УФД) в виде
банка наблюдателей, оценивающих вектор выхода ОД. В банке формирует-
ся эталонное значение этого вектора и фиксируются ошибки, состоящие в
несоответствии (невязке) текущих значений компонент выхода ОД эталону.
2. Синтез устройства диагностирования
Положим, что ОД состоит из n звеньев и образуем n-размерный вектор z,
считая, что его компоненты zj суть переменные на выходах соответствующих
звеньев. Если ОД линеен и содержит динамические звенья только первого по-
рядка, то вектор z совпадает с его вектором состояния; при наличии в линей-
ном ОД хотя бы одного звена более высокого порядка размерность вектора z
меньше размерности вектора состояния. В нелинейном случае для ОД, со-
держащих динамические звенья только первого порядка, размерность z пре-
вышает размерность вектора состояния; при более высоком порядке динами-
ческих звеньев она может быть и больше, и меньше, и равной последней.
Поскольку компоненты вектора z образуют совокупность как выходных,
так и входных переменных звеньев, при штатной работе ОД справедливо
следующее матричное уравнение:
(1)
z(p) = F(p)z(p) + G(p)u(p),
77
в котором z(p) - определенный выше вектор размерности n; u(p) - вектор
управления размерности l; F(p) и G(p) - матрицы, содержащие ПФ и СН
звеньев, размерности матриц n × n и l × n соответственно.
Ненулевые элементы матрицы F(p) связывают между собой компоненты
вектора z(p), получаемые на выходах одних звеньев и подаваемые на вхо-
ды каких-либо других звеньев, т.е. эта матрица, по сути, задает структуру
связей ОД.
В (1) компоненты произведений матриц на векторы понимаются нетриви-
альным образом, к примеру, элемент произведения F(p)z(p) вида Fij (p)zj (p),
если первый сомножитель - передаточная функция, считается обычным про-
изведением ПФ на переменную, если же он - статическая нелинейность,
то Fij zj(p) = Fij [zj(p)], т.е. произведение трактуется как нелинейная функ-
ция Fij с аргументом zj(p), здесь Fij - элемент матрицы F(p), стоящий на
пересечении i-й строки и j-го столбца, а zj - j-я компонента вектора z(p).
Ниже во всех случаях, кроме вызывающих разночтения, комплексная пе-
ременная p опущена.
Будем считать, что доступные выходы звеньев образуют m-размерный
вектор y, который можно задать матричным произведением вида y = Hz.
Входящая в произведение матрица H размерности m × n (m ≤ n) обладает
рядом особых свойств. Во-первых, она состоит из нулей и единиц, имея в
каждой строке единственную единицу в некоторой позиции, во-вторых, име-
ет полный ранг, и, в-третьих, у нее всегда существует псевдообратная мат-
рица Мура-Пенроуза, принимающая в рассматриваемом случае вид H+ =
(
)-1
=HT
HHT
[9]. Эта матрица устанавливает соответствие между компо-
нентами векторов y и z (yj = zk, где j и k - номера строки и столбца матрицы
соответственно).
Достаточно очевидно, что максимальной обнаруживающей способностью
обладает УФД, динамическая часть которого представляет собой информа-
ционный аналог ОД, т.е. устройство, способное сформировать такие же век-
торы z и y, как и ОД. Это устройство управляется как вектором u, так и
вектором y, а y = Hz, поэтому его можно задать парой уравнений:
(2)
z = Fz + Gu + SHz, y = Hz,
в которой подстрочным индексом «» отмечены матрицы и векторы, относя-
щиеся к УФД, но обозначенные буквами, использованными в (1).
Информационный аналог должен реагировать на вектор u так же, как
и ОД, поэтому в (2) G = G. Кроме того, всегда имеют место равенства
z = z и y = y, из чего следуют равенство H = H, справедливость при
нулевом векторе управления u соотношения
(3)
Fz = F
z + SHz
и далее соотношение
(4)
F
= F - SH.
78
u(p)
y(p)
Объект диагностирования
Банк
диагностических
Невязки
наблюдателей
0
+
0
0
*
0
1
Рис. 1. Схема обнаружения и локализации ошибок.
Равенство z = z определяет и специфику матрицы F, задающей струк-
туру связей в УФД. Дело в том, что если некоторая компонента вектора
выхода ОД равна yj = zk, то входная переменная z∗k = zk соответствующего
звена УФД заменяется переменной yj, т.е. она участвует в формировании век-
тора z соотношения (2) как компонента zk вектора z в произведении SHz.
При этом в произведении Fz элемент F∗ikz∗k должен тождественно рав-
няться 0 (F∗ik - элемент матрицы F), что возможно, только когда k-й стол-
бец F состоит из нулей.
Таким образом, следует считать, что матрица F - вырожденная матрица
с нулевыми столбцами. Для таких матриц существует нетривиальное решение
уравнения Fz = 0, подставив его в (3), последовательно получим Fz = SHz,
F = SH и, умножив обе части последнего равенства на псевдообратную мат-
рицу H+, формулу для вычисления матрицы S:
(5)
S = FH+.
Заменив в (2) матрицы G и H равными им матрицами G и H, а матрицы
F и S правыми частями равенств (4) и (5) соответственно, окончательно
получим уравнения, задающие динамическую часть УФД:
(
)
(6)
z =
F - FH+H
z + Gu + FH+Hz, y = Hz.
Нетрудно убедиться, что построенная в соответствии с (6) система состоит
из m, в общем случае взаимосвязанных, блоков, на выходе каждого из них ге-
нерируется одна компонента вектора y = y. Преобразование системы в банк
диагностических наблюдателей состоит в добавлении к ней m устройств срав-
нения (вычитания) одноименных компонент. После покомпонентного вычи-
79
тания образуется m-размерный вектор невязок, который целесообразно пре-
образовать в вектор индикации ошибок, сопоставив компонентам первого с
невязкой, превышающей некоторый порог, единичные компоненты второго и
нулевые в противном случае, при этом конфигурация ошибок в ОД связы-
вается со значением вектора индикации однозначным образом. В результате
формируется искомое УФД, реализация которого предполагается на ЭВМ.
Появление ошибки, искажающей некоторую компоненту вектора выхода ОД,
приводит к появлению невязки на выходе наблюдателя, ее анализирующе-
го (обозначен символом Σ1), при этом на выходах остальных наблюдателей
(обозначены символом Σ0) невязка отсутствует. Соответствующий вектор
индикации содержит единственную единицу, что позволяет не только обна-
ружить ошибку, но и указать звено ОД, в котором она возникла (рис. 1).
Для иллюстрации метода построим УФД для нелинейной системы из [10].
3. ФД системы автоматического управления
с нелинейной обратной связью
Рассматриваемый ОД представляет собой нелинейную систему, включаю-
щую в себя ограничитель в прямой ветви и релейный элемент в цепи обратной
связи (рис. 2).
y4
y3
y2
W4
u
z1
W7
W6
W5
W2
W2
W1
y1
z7
z6
z5
z4
z
3
z2
z9
W8
z8
z8
W9
z10
W10
Рис. 2. Структурная схема ОД.
Матрицы, входящие в уравнения, задающие ОД, имеют следующий вид:
0
W1
0
0
0
0
0
0
0
0
0
0
W2
0
0
0
0
-W2
0
0
0
0
0
W3
0
0
0
0
-W3
0
0
0
0
0
W4
0
0
0
0
0
0
0
0
0
0
W5
0
0
0
-W5
F =
,
0
0
0
0
0
0
W6
0
0
0
−W7
0
0
0
0
0
0
0
0
0
0
W8
0
0
0
0
0
0
0
0
0
W9
0
0
0
0
0
0
0
0
0
W10
0
0
0
0
0
0
0
0
80
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
G=
,
H =
00
.
0
0
1
0
0
0
0
0
0
W7
0
0
0
0
0
0
1
0
0
0
0
0
0
Используя равенства G = G, H = H и полученные выше соотношения
(4), (5), найдем матрицы, входящие в уравнения (2):
0
W1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-W2
0
0
0
0
0
0
0
0
0
0
-W3
0
0
0
0
0
W4
0
0
0
0
0
0
0
0
0
0
W5
0
0
0
-W5
F =
,
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
W8
0
0
0
0
0
0
0
0
0
W9
0
0
0
0
0
0
0
0
0
W10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
W2
0
0
0
0
0
W3
0
0
0
0
0
0
0
0
0
0
0
0
S=
,
G =
,
0
0
0
W6
0
−W7
0
0
0
W7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
H =
0
.
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
81
y1
y2
y *2
r2
y3
W3
W4
y *3
r3
y4
W6
W5
r2
r4
y *1
r1
y *4
W2
W1
W7
W8
W9
u
W10
Рис. 3. Структурная схема УФД.
Полученные матрицы определяют аналитическое задание динамической
части УФД и далее его структурную схему (рис. 3). Синтезированное
УФД состоит из четырех наблюдателей, формирующих вектор невязок r =
= {r1, r2, r3, r4}, суммарный объем которых составляет 10 звеньев. Размер-
ности векторов состояний ОД и УФД равны, возможность обнаружения по-
следним любых ошибок ОД очевидна.
Оценка локализующей способности построенного УФД производится с по-
мощью таблицы соответствия ошибок в звеньях ОД значениям вектора ин-
дикации (таблица). Соответствующие компоненты вектора равны 1, если
i-й наблюдатель фиксирует ошибку рассматриваемого звена, и 0 в против-
ном случае.
Анализируя таблицу, можно сделать вывод, что в случае однократных
ошибок их локализация в звеньях W1 и W7 однозначна. Ошибки в звеньях
{W2, W8}, {W3, W9}, {W4, W5, W6, W10} локализуются с точностью до групп,
внутри групп они неразличимы. Таким образом, для данного ОД, состоящего
из 10 звеньев, построенное УФД позволяет различить 5 классов однократных
ошибок.
Диагностическое моделирование рассматриваемой системы с построенным
банком наблюдателей производилось с помощью пакета MATLAB фирмы
Mathwork Inc. При синтезе УФД считалось, что линейные звенья ОД заданы
Таблица
Класс ошибок Индикатор
Звенья
1
1000
W1
2
1110
W2, W8
3
0100
W3, W9
4
0010
W4, W5, W6, W10
5
0001
W7
82
r4(t)
r1(t) r3(t)
a
б
1,5
1,5
1,0
1,0
0,5
0,5
0
0
0,5
0,5
1,0
1,0
1,5
1,5
0
5
10
0
5
10
t
t
Рис. 4. Поведение сигнала невязки при наличии ошибки в звене W7.
передаточными функциями вида
1
1
k3
k5
W1 =
,
W2 =
,
W3 =
,
W5 =
,
p
T2p
1+T3p
1+T5p
1+T6p
k10
W6 =
,
W7 = k7, W9 = k9, W10 =
p
1+T10p
с номинальными значениями параметров:
T2 = 0,25, k3 = 0,03, T3 = 0,02, k5 = 600, T5 = 0,2,
T6 = 0,49, k7 = 48,5, k9 = 500, k10 = 2,03, T10 = 0,01.
Нелинейные звенья представлены повторителем-ограничителем с уровнем
ограничения ±300 (W4) и релейным элементом с зоной нечувствительности
±0,1 (W8).
При моделировании считалось, что в начальный момент времени ОД ис-
правен, параметры всех его звеньев, кроме W7, соответствуют номиналу, а
выходные сигналы одноименных звеньев ОД и УФД равны. Коэффициент пе-
редачи W7 отличался от номинала на 1%. В качестве входного воздействия u
использовался синусоидальный сигнал с амплитудой 1 и частотой 2π. Неис-
правность моделировалась скачкообразным изменением параметров W7 на
10% в момент времени t = 5.
Для обеспечения робастности процесса диагностирования к разбросу па-
раметров и неточности начальной установки был установлен порог невязки r4
на уровне ±0,5, т.е. допускалась вариация k7 в пределах 5%.
Следует отметить, что задача выбора допустимого порога невязки явля-
ется самостоятельной достаточно сложной задачей. Строгое ее решение ос-
новано на статистическом анализе свойств и поведения ОД, причем в случае
использования для диагностики полноразмерного вектора выхода ОД вели-
чина порога от способа синтеза УФД не зависит.
Результаты моделирования показывают, что определенная выше неисправ-
ность приводит к появлению на выходе наблюдателя невязки r4, превышаю-
83
щей установленный порог (рис. 4,а). Остальные компоненты вектора невяз-
ки (r1, r2, r3) к такой ситуации инвариантны (рис. 4,б ).
Таким образом, результаты моделирования показывают, что расчетная
глубина локализации ошибок (таблица) для рассматриваемого ОД действи-
тельно достигается.
Найти равноценное с точки зрения обнаружения и локализации ошибок
решение представленного примера можно и другими методами, в частности
используя известный алгоритм последовательного выбора звеньев ОД [2, 6].
Несложный анализ показывает, что в получаемый при этом банк наблюда-
телей звенья W2 и W8 входят по 3 раза, в результате полный объем УФД
составляет 14 звеньев, т.е. проигрыш по сравнению с предлагаемым методом
составляет порядка 40%.
4. Оценка результатов и заключение
Для оценки полученных результатов сравним построенное в соответствии
с (6) УФД с подобными устройствами, синтезированными другими методами.
Прежде всего, отметим, что использованный способ образования векторов
z и z гарантирует равенство размерностей векторов состояний ОД и УФД.
Такую же размерность имеет банк наблюдателей, построенных путем преоб-
разования ОД в каноническую форму Кронекера [8], но это преобразование
корректно только в случае линейности ОД. Следовательно, предложенный в
настоящей работе метод, сохраняя вводимую избыточность неизменной, рас-
ширяет класс решаемых задач по сравнению с упомянутым.
Способ построения банка наблюдателей, пригодный для нелинейных ОД
рассматриваемого вида, предложен в [2, 6]. Он состоит в выделении из ОД
подсистем, каждая из которых формирует одну компоненту его вектора вы-
хода, и используется в качестве составляющей банка наблюдателей. Число
наблюдателей в банке, как и в настоящей работе, равно размерности вектора
выхода ОД, но сумма размерностей наблюдателей в общем случае превышает
(в лучшем случае равна) размерность ОД, поскольку некоторые звенья могут
одновременно входить в состав нескольких подсистем, т.е. присутствовать в
банке многократно. В результате как для линейных, так и для нелинейных
ОД решение задачи ФД в соответствии с рекомендациями указанных работ,
как правило, требует большей избыточности, чем при использовании пред-
лагаемой методики [3].
Оценивая диагностическую способность построенных УФД, следует иметь
в виду, что, как следует из материалов ряда публикаций, к примеру моно-
графий [5, 7], наилучшими характеристиками в части обнаружения ошибок
обладают устройства, динамическая часть которых связана с ОД отноше-
нием изоморфизма. При этом размерности векторов состояний ОД и УФД
равны, в простейшем случае динамическая часть последнего является дуб-
лем ОД. Обнаружение ошибок производится путем анализа невязок между
одноименными компонентами векторов выхода изоморфных систем, однако
их локализация затруднительна, поскольку ошибка в одном звене может вы-
звать искажение нескольких и даже всех компонент вектора выхода ОД.
84
УФД
yj(p)
zk(p)
zk + 1(p)
yj(p)
W
z
Wi(p)
*
i(p)
*
k + 1(p)
ys(p)
y
*
s(p)
Рис. 5. Фрагмент ОД и соответствующая ему часть УФД.
В случае построения УФД с помощью предложенного в настоящей рабо-
те метода размерность его вектора состояния и способ обнаружения ошибок
остаются такими же, как и при дублировании ОД, однако условия изомор-
физма при этом не выполнены. В этом случае динамическая часть УФД и
ОД связаны отношением моделирования (simulation), введенным для конеч-
ных систем в монографии [11] и обобщенным на произвольный случай в [4].
Особенность этого отношения состоит в том, что в паре «ОД - динамическая
часть УФД» моделью является первый объект, с помощью которого модели-
руется второй. В частном случае моделирование переходит в гомоморфизм,
причем в качестве модели выступает объект-прообраз, а в качестве модели-
руемого - объект-образ.
Поскольку отношение моделирования, как и отношение изоморфизма в
случае дублирования, предполагает воссоздание в ОД полноразмерных век-
торов состояния и выхода динамической части УФД, следует считать, что в
части обнаружения ошибок предлагаемый метод и метод дублирования рав-
ноценны. Однако особенности синтезируемого первым методом банка наблю-
дателей существенно расширяют возможность локализации звеньев с ошиб-
ками. Объясняется это тем, что динамическая часть наблюдателя, отслежи-
вающего работу некоторого фрагмента ОД, функционирует независимо от
него. По этой причине при появлении ошибки в звене Wi искажаются компо-
ненты zk+1 и ys, а zk и yj искажений не имеют (рис. 5).
В результате появляется невязка между ys и y∗s, что позволяет эту ошибку
обнаружить и локализовать. Если же ошибка имеет место в предшествующих
звеньях (искажены zk и yj), то ввиду равенства Wi и W∗i упомянутая невязка
не возникает и ложного обнаружения ошибки в звене Wi не происходит. Воз-
можность локализации ошибок сохраняется и в случае многократных ошибок
в ОД, когда нарушения имеются в нескольких звеньях объекта. В этом слу-
чае варианту распределения ошибок по звеньям ОД однозначно соответствует
конкретное значение этого вектора. В случае равенства размерностей векто-
ров z и y соответствие становится взаимно однозначным и возможна точная
локализация любых ошибок ОД, в противном случае ошибки в некоторых
звеньях неразличимы (см. пример).
Отношение моделирования связывает ОД с динамической частью УФД и
при синтезе последнего методом последовательного выбора звеньев ОД [2, 6],
поэтому по диагностической способности этот метод эквивалентен предло-
женному. Однако, как уже указывалось, он проигрывает последнему по из-
быточности.
85
Таким образом, приведенная оценка результатов работы позволяет утвер-
ждать, что поставленная в ней задача успешно решена. Предложенный в ра-
боте метод позволяет для определенного класса ОД достаточно просто синте-
зировать УФД, которые при одинаковых диагностических характеристиках
обладают в нелинейном случае меньшей избыточностью, нежели построен-
ные в соответствии с рекомендациями известных литературных источников.
СПИСОК ЛИТЕРАТУРЫ
1.
Щербаков Н.С. Достоверность работы цифровых устройств. М.: Машинострое-
ние, 1989.
2.
Жирабок А.Н., Якшин А.С. Диагностирование технических систем, заданных
структурными схемами с нелинейными звеньями // Мехатроника, автоматиза-
ция, управление. 2006. № 9. С. 36-44.
3.
Мироновский Л.А. Функциональное диагностирование динамических систем:
Научное издание. СПб.: Изд-во МГУ-ГРИФ, 1998.
4.
Подкопаев Б.П. Алгебраическая теория функционального диагностирования
динамических систем: в 2 ч. Ч. 1. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2007.
5.
Подкопаев Б.П. Алгебраическая теория функционального диагностирования
динамических систем: в 2 ч. Ч. 2. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2013.
6.
Подкопаев Б.П., Якшин А.С. Функциональное диагностирование узлов радио-
систем со статическими нелинейностями // Изв. вузов России. Радиоэлектро-
ника. 2016. Вып. 2. С. 16-23.
7.
Шумский А.Е., Жирабок А.Н. Методы и алгоритмы диагностирования и от-
казоустойчивого управления динамическими системами. Владивосток: Изд-во
ДВГТУ, 2009.
8.
Андреев Ю.Н. Управление линейными конечномерными объектами. М.: Наука,
1976.
9.
Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М.: Наука, 1984.
10.
Крутько П.Д., Максимов А.И., Скворцов Л.М. Алгоритмы и программы про-
ектирования автоматических систем. М.: Радио и связь, 1988.
11.
Hartmanis J., Stearns R. The algebraic structure theory of sequential machines.
N.Y.: Prentice Hall Inc., 1966.
Статья представлена к публикации членом редколлегии М.Ф. Караваем.
Поступила в редакцию 26.03.2018
После доработки 02.02.2019
Принята к публикации 07.02.2019
86