Инструментальная среда для анализа, синтеза и отладки алгоритмического и программного обеспечения систем управления сложными техническими комплексами

М.Х. Дорри,

д.т.н., проф., dorrimax@lab49.ru,

А.А. Рощин,

к.т.н., доц., roshinaa@mail.ru,

ИПУ РАН, г. Москва

Рассмотрены дополнительные особенности инструментальной среды РДС (расчёт динамических систем), созданной для анализа и синтеза систем управления техническими комплексами. Они упрощают задачу разработки исследовательских стендов, которые используются при проектировании систем управления сложных многоцелевых объектов, для имитационного моделирования и исследования взаимодействия подсистем в динамике.

 

The extra features of Software Tool RDS (Research of Dynamic Systems) for analysis and synthesis control systems are considered. They simplify the task of the development of the research desks that are used for Simulation and Design control systems for Multi-Purpose Objects. Software Tool helps to simulate processes and investigates the interaction between subsystems during dynamic processes.

Введение

Инструментальная среда РДС [1,2,3], разработанная ранее, в настоящее время дополнена модулями САПР, способствующими синтезу систем автоматического управления. Были разработаны инструментальные модули для численной оптимизации параметров систем управления по произвольному критерию. Эти разработки описаны в первом разделе.

В инструментальную среду введены методы и алгоритмы определения устойчивости линейных систем частотными методами. В качестве примера для исследований выбрана система управления глубиной и курсом подводной лодки. Эти разработки описаны во втором разделе.

Во многих задачах при исследовании систем управления необходимо связывать исследовательский стенд с различными базами данных. В связи с этим были рассмотрены возможности взаимодействия разработанных инструментальных средств построения исследовательских стендов с СУБД. Существует большое количество разнообразных СУБД, в которых форматы данных и интерфейс программирования не всегда совместимы. Поэтому блок-схему, составляющую сам исследовательский стенд, лучше хранить в базе данных не в виде одного сложного объекта, а в виде набора более мелких блоков, каждый из которых представляет собой один блок схемы или одну связь между блоками. В состав стенда включена возможность разбиения схемы на отдельные объекты и возможность сборки схемы из отдельных объектов при загрузке. Результаты описаны в третьем разделе.

1. Численная оптимизация параметров систем управления по произвольному критерию

В состав инструментальных средств построения исследовательских комплексов и стендов для анализа, синтеза и отладки алгоритмического и программного обеспечения интеллектуальных СУ были  включены специальные блоки для проведения параметрической оптимизации. Эти блоки соединяются с уже собранной системой управления и осуществляют поиск оптимальных по заданному критерию параметров путем многократного моделирования переходного процесса.

 

r1

рис. 1.1. Настройки метода перебора

Блок будет проводить моделирование для всех возможных сочетаний оптимизируемых параметров, запоминая сочетание, давшее минимальное значение критерия оптимизации. Если после перебора всех сочетаний параметров найденная точка, соответствующая минимальному значению критерия, окажется на границе диапазона параметров, блок сдвинет диапазон в сторону этой точки и повторит оптимизацию. Если же точка оказалась в середине диапазона, блок уменьшит диапазон, взяв за его новые границы соседние с точкой деления. Так будет продолжаться до тех пор, пока размер интервала, на который разбит диапазон изменения каждого параметра, не окажется меньше или равен заданной точности оптимизации (конечному шагу).

При использовании метода покоординатного спуска для каждого из параметров задается начальное значение, начальный шаг изменения и конечный шаг, т.е. точность поиска (см. рис.1.2).

 

r2

рис. 1.2. Настройки метода покоординатного спуска

Блок начинает моделирование переходного процесса с начальных значений параметров, а затем изменяет каждый параметр по отдельности с заданным шагом до тех пор, пока значение критерия оптимизации уменьшается. Как только оно начинает увеличиваться, блок переходит к изменению следующего параметра. Если ни одно изменение параметра не привело к уменьшению значения критерия, блок уменьшает шаг и повторяет оптимизацию до тех пор, пока шаг изменения всех параметров не станет меньше или равен заданному конечному значению.

Значение критерия поступает на вход блока оптимизации с выхода блока расчета критерия. В состав программных инструментальных средств входит блок расчета стандартных критериев: интеграла квадрата ошибки, интеграла квадрата производной ошибки, времени регулирования и перерегулирования (см. рис.1.3).

 

рис 1

рис. 1.3. Настройки блока расчета критерия

Каждый из четырех стандартных критериев входит в вычисляемый блоком критерий с собственным весовым коэффициентом, который также задается в настройках блока. Таким образом, комбинируя стандартные критерии, можно подобрать критерий оптимизации под конкретную задачу.

Блок расчета критерия выдает на выход “Crit” структуру типа “OptCrit”, состоящую из двух полей: вещественного “Value”, в котором содержится вычисленное значение критерия, и логического “Ready” , в котором содержится единица, если критерий вычислен, и ноль, если критерий вычислить невозможно. Например, время регулирования невозможно вычислить, если за заданное время моделирования значение выхода следящей системы не приблизилось к значению входа ближе, чем на 5%. Кроме того, в настройках блока вычисления критерия можно установить флаг, запрещающий вычисление критерия, если ошибка на момент окончания моделирования оказалось больше 5% – это позволит сразу исключить из оптимизации значения параметров, заведомо не обеспечивающих работу системы управления.

Если стандартный блок расчёта критерия не подходит для решения задачи, вычислять критерий можно самостоятельно, собрав вычислитель из стандартных блоков или создав автокомпилируемый блок, модель которого производит необходимые расчеты. На рис.1.4 представлена схема, собранная из стандартных блоков для вычисления интеграла квадрата ошибки.

r4

рис. 1.4. Вычисление критерия вручную

Для проведения параметрической оптимизации элементы выходного массива “K” блока управления оптимизацией соединяются с оптимизируемыми параметрами (каждый элемент массива соответствует одному параметру), с блока вычисления критерия на него подается сигнал “Crit”, а с планировщика динамического расчета – сигнал окончания моделирования. На рис.1.5 представлен внешний вид системы управления курсом подводного аппарата, к которому присоединены блоки для оптимизации параметров двух внешних контуров управления. Если запустить расчет такой системы, настроив блоки оптимизации соответствующим образом, через некоторое время на экране отобразятся найденные оптимальные значения параметров и появятся графики оптимальных переходных процессов.

r5

рис.1.5. Оптимизация системы управления курсом  подводного аппарата

В процессе оптимизации методом покоординатного спуска часто бывает полезно наблюдать за траекторией поиска оптимальных параметров, т.е. за графиком, показывающим изменение каких-либо двух параметров от итерации к итерации. По виду этой траектории можно обнаружить, например, слабое влияние изменения одного из параметров на вычисляемое значение критерия. Инструментальные средства позволяют строить такие траектории. Для этого из оптимизируемой подсистемы следует через внешние выходы вывести наружу значения параметров и сигнал окончания расчета (на рис.1.6 представлен пример абстрактной системы управления, параметры и сигнал окончания расчета которой выходят наружу).

r7

рис.1.6. Вывод оптимизируемых параметров наружу подсистемы

Снаружи к сигналу окончания расчета подключается счетчик, формирующий номер итерации, и его выход вместе со значениями оптимизируемых параметров подаются на двухкоординатный график (рис.1.7), на котором можно наблюдать траекторию поиска параметров. Если оптимизируемых параметров больше двух, их можно подавать на разные графики попарно.

 

r8

рис.1.7. Построение траектории оптимизации

2. Разработка интерфейса для определения устойчивости линейных систем частотными методами

Для исследования устойчивости систем управления в инструментальные средства включены блоки, позволяющие строить амплитудно-фазовые характеристики линейных систем управлений. Это отдельный набор блоков, в комплексном виде вычисляющих изменение фазы и амплитуды синусоидального сигнала заданной частоты, поданного на вход системы. По полученной в результате изменения входной частоты амплитудно-фазовой характеристике можно судить об устойчивости замкнутой системы управления. На рис.1.8 видны различные стандартные блоки, в которые вписаны передаточные функции.

r6

рис. 1.8. Построение АФХ разомкнутой системы

Их функции заключаются в преобразовании комплексных чисел, поступающих  на входы блоков, в комплексные числа на выходе, соответствующие передаточным функциям. По координатам полученного вектора строится амплитудно-фазовая характеристика АФХ. На рис.1.8 изображена разомкнутая система управления и ее амплитудно-фазовая характеристика. Трудности возникают при отображении сложных АФХ, например, типа показанного на рис. 1.9.

Необходимо адаптировать изменение частоты в зависимости от кривизны рисуемой характеристики, для правильного ее отображения. В программе блока "задатчик частоты" (рис. 1.9), заложен алгоритм, позволяющий адаптировать подаваемую частоту для расчета очередной точки АФХ, в зависимости от кривизны характеристики и других возможных отклонений (например, ухода ее в ¥).

.График

рис.1.9. Изменение частоты в зависимости от кривизны АФХ

3. Возможности взаимодействия исследовательского стенда с СУБД

Во многих случаях бывает необходимо связать исследовательский стенд с различными базами данных. Связь с СУБД позволяет хранить характеристики исследуемых объектов отдельно и обновлять их по мере необходимости, например, при поступлении новой информации о состоянии объекта. Кроме того, схему, составляющую сам исследовательский стенд, лучше хранить в базе данных не в виде одного сложного объекта, а в виде набора более мелких, каждый из которых представляет собой один блок схемы или одну связь между блоками. Это позволит, при необходимости, обращаться к отдельным объектам схемы из внешних приложений, которые смогут работать не непосредственно с данными исследовательского стенда, выполненными в разнородном формате, а со стандартными записями в базе данных.

Существует большое количество разнообразных СУБД. Форматы данных и интерфейс программирования в них не всегда совместимы, поэтому не представляется целесообразным включать в исследовательский стенд специальные модули связи с какой-либо конкретной СУБД. Вместо этого в состав стенда включена возможность разбиения схемы на отдельные объекты при сохранении и сборки схемы из отдельных объектов при загрузке. При сохранении схемы в таком режиме каждый объект (блок или связь схемы) передается внешнему приложению, организующему хранение данных, в виде блока текстового описания с целым тридцатидвухбитным идентификатором, уникальным для данного объекта, и целым восьмибитным типом объекта. Внешнее приложение, получив эти данные, самостоятельно заносит их в базу данных в выбранном разработчиком формате. Текстовое описание параметров объектов выбрано из-за того, что все существующие в настоящее время СУБД поддерживают хранение текстовых данных произвольной длины, поэтому, независимо от используемого разработчиком формата базы данных и способа доступа к ней, описание объекта может быть успешно записано. Уникальный целый идентификатор объекта может быть использован в индексе таблицы БД для поиска данного объекта и сопоставления с ним дополнительной информации в связанных таблицах, поскольку все СУБД позволяют использовать в индексах тридцатидвухбитные целые числа. Таким образом, вводя в состав исследовательского стенда специализированные приложения, организующие запись в базу данных описаний объектов, полученных от основной программы стенда, можно реализовать хранение данных схем исследовательских стендов в любом формате, удобном разработчику.

Для автоматической сборки схемы исследовательского стенда из отдельных объектов, находящихся в базе данных, внешнее приложение, ответственное за хранение данных, должно передать текстовые описания этих объектов в основную программу стенда, а затем дать ей команду построить из переданных описаний схему со всеми необходимыми внутренними структурами данных. Исследовательский стенд сделан таким образом, что порядок передаваемых в основную программу описаний объектов может быть произвольным. Таким образом, внешнему приложению не нужно следить за тем, чтобы объекты, на которые ссылаются другие объекты, передавались в первую очередь: например, описание связи, соединяющей два блока, может быть передано в основную программу исследовательского стенда до описаний этих блоков. Поскольку построение схемы производится после передачи всех описаний объектов, это не вызовет ошибки вида «ссылка на неопределенный объект».

Литература

1.  M.Kh. Dorri _ A.A. Roshchin  Multicomputer Research Desks for Simulation and Development of Control Systems.  IFAC, CD "PREPRINTS of the 17th IFAC World Congress July 6-11,2008, Seoul, Korea", p. 15244-15249

2.  Дорри М.Х. Рощин А.А. Инструментальная среда для разработки виртуальных динамических систем технического назначения. !0-я Международная конференция (CAD/CAM/PDM)// М.: Институт проблем управления РАН.-2010.

3.  Дорри М.Х., Рощин А.А."Специализированная инструментальная среда для виртуального представления состояния и поведения сложноструктурированных объектов на различных этапах их жизненного цикла" Материалы Шестой Всероссийской научно-практической конференции "Перспективные системы и задачи управлениятр. 165-170, Таганрог 2011.