Расширение возможностей системы ГАММА-2РС с помощью функций  системы MATLAB

 

А.Г. Александров,
ведущий научный сотрудник,
д. ф.-м.н., профессор,
г. Москва,

Л.С. Михайлова,

ст. преподаватель,

г. Электросталь

Введение

Для автоматизации  разработки алгоритмов работы систем автоматического управления (САУ) служит ряд систем, в числе которых интенсивно развиваются система MATLAB [1] – за рубежом и система ГАММА [2]  – в нашей стране.  Назначение этих систем различно: MATLAB используется для автоматизации ранних этапов проектирования, ГАММА предназначена для автоматизации этапа эскизного проектирования САУ (разработки закона управления).

Основу систем MATLAB и ГАММА составляют элементарные программы (модули – в системе ГАММА, m-файлы в системе MATLAB). реализующая  элементарные проектные операции (ЭПО). ЭПО – это неделимая (минимальная), содержательная на языке теории автоматического управления операция: анализ устойчивости систем, LQ-оптимизация или Н-бесконечная оптимизация, идентификация и т.д.

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

Т.к. модули системы ГАММА представляю собой исполняемые файлы, то для их разработки может быть использован любой язык программирования высокого уровня. Единственное требование, которому должны удовлетворять модули – это соблюдение формата обмена данными, принятого в системе ГАММА.  Для разработки модулей системы ГАММА до настоящего времени использовалиcь языки Pascal и Fortran. Однако язык MATLAB обладает гораздо более эффективными средствами для программирования вычислительных задач, и его применение позволяет существенно ускорить процесс разработки новых модулей и директив системы ГАММА.

Разработка директив система ГАММА-2РС с помощью функций   MATLAB-пакета АДАПЛАБ-М

Система ГАММА-2РС [3] – последняя версия системы ГАММА. Она состоит из двух подсистем – среды пользователя, предназначенной для решения  конкретных задач проектирования систем автоматического управления (САУ) инженерами-разработчиками САУ, и среды исследователя, которая содержит средства    для  разработки и модернизации программного обеспечения «Среды пользователя» специалистами в области   теории управления.

Разработка директивы в системе ГАММА-2РС состоит из двух этапов: 1) разработка необходимых расчетных модулей и включение их в библиотеку модулей системы ГАММА-2РС; 2) разработка плана решения задачи.

Практическим применением предложенного подхода явилась разработка в системе ГАММА-2РС директив D111sad «Частотная идентификация с самонастройкой испытательного сигнала»  и D311sad «Частотное адаптивное управление с самонастройкой испытательного сигнала». MATLAB-функции (модули), используемые в этих директивах являются составной частью пакета     АДАПЛАБ-М [4],[5], разработанного в среде MATLAB.

Процесс разработки модулей с использованием MATLAB-функций состоит из следующих этапов:

·         m-файл оформляется как функция без параметров;

·         добавляются операции ввода-вывода в формате, принятом в системе ГАММА;

·         полученная функция компилируется с использованием встроенного компилятора системы MATLAB, при этом генерируется текст модуля на языке С и создается исполняемый файл, который может быть использован в системе ГАММА.

Таким   способом были разработаны модули: TestOm  - определение амплитуд испытательного сигнала по известной верхней и нижней границам собственных частот объекта; TunAmp ­- самонастройка амплитуд испытательных гармоник; TunFour - определение оценок частотных параметров объекта (фильтр Фурье с самонастройкой длительности фильтрации); Frid – решение частотных уравнений идентификации; Akor – синтез регулятора по методу АКОР; Recalc – определение частотных параметров объекта по частотным параметрам замкнутой системы, и ряд вспомогательных модулей.

Для задания плана директив использовался язык структурных схем (рис.1).

рис. 1  Структурная схема директивы D111sad «Частотная идентификация с самонастройкой испытательного сигнала»

 

Исходные данные и результаты решения тестовой задачи представлены на рис.2,3. Они совпадают с теми, что получены с помощью пакета АДАПЛАБ-М.

рис.2 Окно с исходными данными директивы  D111sad «Частотная идентификация с самонастройкой испытательного сигнала»

рис.3 Окно с результатами работы  директивы  D111sad «Частотная идентификация с самонастройкой испытательного сигнала»

Литература

1.     Дьяконов В.П., Круглов В. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. СПб.: Питер, 2002 г.

2.     Александров А.Г., Исаков Р.В., Михайлова Л.С. Структура программного обеспечения для автоматизации разработки алгоритмов  автоматического управления// АиТ№4, 2005 г.

3.     Михайлова Л.С. Двухуровневая система автоматического синтеза алгоритмов автоматического управления ГАММА-2РС. CAD/CAM/PDM-2004, http://lab18.ipu.rssi.ru

4.     Александров А.Г., Орлов Ю.Ф.// АДАПЛАБ-М: директива для идентификации с самонастройкой испытательного сигнала, Труды международной конференции "Идентификация систем и задачи управления" SICPRO'05, 2005 г.

5.     Александров А.Г., Орлов Ю.Ф.// АДАПЛАБ-М: директива для частотного адаптивного управления с самонастройкой испытательного сигнала, Труды международной конференции "Идентификация систем и задачи управления" SICPRO'05, 2005 г.